Displaying 1 to 8 from 8 results

OpenSceneGraph glsl samples


A series of applications that show how to implement glsl shaders in OpenSceneGraph. The shaders include: Bump Map, Parallax Map, Ambient Occlusion, HDR, Depth of Field, etc.

libcitygml - C++ Library for CityGML Parsing and Visualization

  •    C++

CityGML (City Geography Markup Language) is an XML-based schema for the modelling and exchange of georeferenced 3D city and landscape models that is quickly being adopted on an international level. libcitygml is a small and easy to use open source C++ library for parsing CityGML files in such a way that data can be easily exploited by 3D rendering applications (geometry data are tesselated and optimized for rendering during parsing). For instance, it can be used to develop readers of CityGML files in many 3D based applications (OpenGL, OpenSceneGraph, ...) Most metadata are not lost, they are available through a per-node hashmap.

ppengine - 3D remake of Atari's Pole Position coin-op, using game logic reverse engineered from the arcade ROMs

  •    C

In theory, the compiler should run for a short while, after which it'll output an executable called 'client', which you can then execute to play the game (see 'How to play') below. If the compile fails and you're struggling to understand why, drop me an email at jonathan@opalise.co.uk.

QtOSG - A proof-of-concept widget for integrating Qt and OpenSceneGraph in a thread-safe manner

  •    C++

This repository contains a widget based on QOpenGLWidget that is able to wrap a viewer from the OpenSceneGraph library. This makes it possible to combine both toolkits in a thread-safe manner. Thanks to Martial Tola, support for compiling under Microsoft Windows has been added to the project and I am looking forward to any comments.

cherish - :european_castle: Sketch- and image-based system for 3D representation and documentation of cultural heritage sites

  •    C++

Cherish is a tool that aids archaeologists and designers to represent historical, urban and archaeological structures and sites in 3D by means of image manipulation and sketching. Cherish creation was inspired by a Yale's Dura Europos dataset - a large image dataset of an ancient site which is located in modern Syria. One of the main characteristic of the data set is its spacial sparsity and featureless natures of photographs which does not allow us to utilize the modern computer vision in order to obtain a 3D representation of the site. The main idea behind Cherish is to use the knowledge and expertise of a specialist in order to perform semi-manual data organization. Therefore, given a problem of disparate data types such as photographs, illustrations, diagrams, text annotations, point cloud representation, etc., Cherish aims to provide a tool to combine all the above data into a comprehensive 3D space, to make 3D sense of the data.

CurveFitting - :wavy_dash: Curve fitting based on Schneider's algorithm

  •    C++

A C++11-based class that performs curve fitting based on An algorithm for automatically fitting digitized curves by Philip J. Schneider which was published in Graphics gems, 1990. The algorithm is presented with minor modifications and improvements. Currently the project requires installed OpenSceneGraph (>= 3.4.0) and C++11 compatible compiler.

QtOSG-hello - An example of using Travis and Coverity for project with dependency on Qt and OpenSceneGraph

  •    C++

An example of using Travis and Coverity for project with dependency on Qt and OpenSceneGraph. See the corresponding .travis.yml, or read the detailed explanation on Travis and detailed explanation on Coverity of each step.

shader-3dcurve - :dizzy: GLSL shader that enables drawing of thick and smooth lines/curves in 3D (OpenSceneGraph visualization)

  •    GLSL

This is an example project that demonstrates how to draw thick and smooth lines / curves in 3D. It is known that the native GL_LINE_STRIP_ADJACENCY creates gaps when drawing a polyline. Another restriction of the above mode is that thickness cannot surpass certain threshold (e.g., 10.f, depending on the machine). This code demonstrates how a GLSL shaders can help to solve the above problems. Both of the geometries can be placed in a 3D space with any line thickness.