tinySceneGraph



ShadowMap

Shadow mapping

tinySG supports two ways of calculating shadows: Hard realtime shadows for up to eight light sources using shadow maps and shadow textures, pre-baked by the companion raytracer tinyRT.
All geometry in a scene may be flagged as shadow casters and/or shadow receivers. The image on the left shows both a soft ambient occlusion ground shadow and hard shadows using shadow maps (at wing mirror and on interior).

Features: Shadow mapping, texture baking, ray-tracing

The Touareg dataset is available at dmi for non-commercial use.


Fur

Instanced rendering

tinySG geometry nodes support instanced rendering, allowing to render a vast number of copies of a given geometry with a single API call. The technique allows for more effects than you might guess.
Read more about instanced rendering.

Features: instanced rendering, advanced materials
Stereo: yes (csgEdit build-in)
Path: examples/fur/teddy.csg
OS: Linux, Windows

The teddy bear is based on obj geometry found at code.google.com.


CFD

Computational fluid dynamics

tinyFluids is a library implementing a CFD solver and a plugin for pre- and post-processing in csgEdit. The solver runs on both CPU and GPU and is scalable across hundreds of cores.
Read more about tinyFluids.

Features: GPGPU CFD, illuminated lines, spline visualisation
Stereo: yes (csgEdit build-in)
Path: models/tinySG/tinyFluids/shuttle
OS: Linux, Windows

The Space Shuttle dataset used by courtesy of NASA.


Trajectory

X-ray mode and blending

Using the image processor to invert colors may be combined with the x-ray. render mode. Do know when to stop - the results can become quite scary...
Read more in the associated tech guide.

Features: Blending, state overrides, image processor
Stereo: No (not yet)
Path: models/inventor/visibleman
OS: Linux, Windows

Visible man dataset by courtesy of Georgia Tech University.


negative r-ray

Visualising simulation data

Take spreadsheet data and import it into geometry nodes like csgQuadMesh. Use material overrides and shaders to highlight certain aspects of datasets.
See larger image here.

Features: GLSL, GL state override, transparency
Stereo: Yes
Path: examples/vissim/trajectory
OS: Linux, Windows

Space Shuttle model and texture are courtesy of NASA.


Image Processor

2D image processing

A lot of effects like overlays, glow or blur work on the final 2D image created by the renderer. The tsg image processor is part of tinySG's utility library and comes as an independent framework. Use the image processor to increase the atmosphere of clean, math-dry renderings or enrich the image with additional information.
Find out more on the image processor here.

Features: GLSL, overlays, distortion, color correction
Stereo: No
Path: -
OS: Linux, Windows

The engine dataset is part of the SPECapc NX benchmark.


Environment mapping

Realistic interaction of models with environments

Rendering a model with reflections, mirroring an environment and casting shadows increases the realism of a scene dramatically. tinySG rendered some nice images, combining it's multi-texturing texturing and shader capabilities. See more images like the one to the left here.

Features: Cube maps, reflection maps, multi-texturing, GLSL shaders
Stereo: Yes
Path: demos/envmap/db9
OS: Linux, Windows

The original DB9 model is courtesy of an unknown hero on the Internet.
The awesome environment maps have been kindly provided by "Humus".


Nesperennub

Volumetric dataset rendering

The mummy dataset was created by the British Museum. It is a CT scan of an Egyptian priest living about 800BC, the Nesperennub mummy. The image to the left was generated using csgEdits volume property editor to setup transfer functions for the absorption voxel field.

Features: Volume rendering, 3D textures, Dicom Import
Stereo: Yes
Path: dataset w/o public clearance
OS: Linux, Windows

"Right-click/view image" to enlarge, read more here...


AstonMartin

CAD data visualisation

The Aston Martin DB9 CAD data set has been worked off with a bunch of new features of csgEdit, like geometry re-meshing, state sorting, orientation flipping, normal recalculation, tree optimisation and a dozen of other functions.

Features: Soft shadow, Render Optimiser, Data Prepraration
Stereo: Yes
Path: <exampleRoot>/datasets/aston_martin
OS: Linux, Windows

The original DB9 model and texture images are courtesy of some unknown hero out there on the Internet.


ISS+Earth

Interactive, large datasets

The model of the international space station has about 1.6M triangles. It is rendered at 60Hz, including the earth with about 70MB of texture, using a GLSL shader for atmospheric effects.

Features: Large dataset, converter, GLSL
Stereo: Yes
Path: <exampleRoot>/datasets/iss
OS: Linux, Windows

Original ISS model and texture images are by courtesy of NASA.


Soft Shadow

Soft Shadows on the Utah teapot

The image shows a ground soft shadow, calculated for the Utah teapot in csgEdit. tinySG handles soft shadows as scene properties. They may be baked into a texture or based on a colored grid of vertices.

Features: Soft Shadow, csgEdit
Stereo: No
Path: <exampleRoot>/csgEdit2
OS: Linux, Windows, Irix


Water Simulation

Water Simulation using GLSL

The water animation and lighting shader has been the first shader programs written for csg's GLSL subsystem. It animates a mesh using four superimposing sine waves and calculates an environment reflection in the pixel shader.
Initial development has been done using nVidia's cg, running on a Silicon Graphics Prism.
Features: GLSL, Environment Mapping
Stereo: No
Path: [not ported to tinySG, yet]
OS: Linux, Windows, Irix


csgPresenter

3dtv

3dtv is a pretty old experimental code based on csg. It utilises multiple graphics cards for image feature detection and may calculate a virtual model for tv soccer broadcasts, almost in real-time.
The image shows a life video from the world championship 2006, augmented with detected features.
Features: video textures, image processing, real-time feature extraction
Stereo: Yes
Path: [not ported to tinySG, yet]
OS: Linux

csgPresenter

csgPresenter

csgPresenter is an application running 3D-enriched presentations and slide shows. Build on top of csg, it is capable of driving blended, multi-projector systems with multiple graphic pipes. It can embed inventor datasets in the presentation, or display stereoscopic images, like taken from NASAs Mars rovers.

Features: multi-threaded Qt application, parallel rendering, support for various image formats, alpha blending
Stereo: Yes
Path: [not ported to tinySG, yet]
OS: Linux, Irix




Copyright by Christian Marten, 2009-2014
Last change: 02.06.2014