Visualization Library can be used for model rendering, simulation, plotting, animation, special effects etc.
The pictures below show some very simple application taking advantage of Visualization Library.
|
The famous "Stanford Bunny" from The Stanford 3D Scanning Repository
http://graphics.stanford.edu/data/3Dscanrep/
rendered with a shader that makes it look like a panter.
|
|
A PLY model of a Chinese dragon from The Stanford 3D Scanning Repository:
http://graphics.stanford.edu/data/3Dscanrep/
rendered with a "heat" shader.
The model has 871.414 triangles and 437.645 vertices.
|
|
A PLY model of the bones of a hand from The Stanford 3D Scanning Repository:
http://graphics.stanford.edu/data/3Dscanrep/
rendered with a contour-enhancing shader.
The model has 654.666 triangles and 327.323 vertices.
|
|
In this picture the 2D text labels follow the position on the screen of the
planets rotating around the Sun.
Note the "Moon" label drawn with a transparent background and black border.
The circular lines are rendered with line smoothing.
|
|
This demo shows how to create applications like 3D editors by using four cameras/rendering pipelines
smoothed lines, wireframe polygon filling and double side lighting. The object in the picture is the
well known monkey primitive from Blender (http://www.blender.org)
loaded from a 3DS file.
|
|
Here you can see four objects drawn with four different OpenGL Shading Language
vertex and fragment shaders. The top left uses toon-shading or cel-shading which
imitates the look and feel of a cartoon by applying a quantization on the light intensity.
The top right shows a per-pixel shader, where the light
equation is not computed per-vertex but per-fragment achieving a much higher realism.
The bottom left shows a "heat" shader that simulates what you could see through a heat sensor.
The range goes from blue, to green, yellow and then red, where blue represents the coldest
surfaces and red the warmer ones. The bottom right one applies an interlaced-effect
on top of the per-pixel lighting shader.
|
|
Here you can see a possible use of the legacy render to texture technique available
already in OpenGL 1.1.
This demo renders the right camera first then copies the frambuffer to a texture which
in turn is applied to the plane and the box on the left camera.
|
|
This demo uses the Frame Buffer Object extension to render some yellow rotating
rings directly on a 2048x2048 texture which is then applied to the plane and the box
in the next rendering pipeline. On the plane is evident how the texture quality
of this demo is superior to the previous one.
|
|
This demo shows a mixed usage of Frame Buffer Object, Multiple Render Target and
OpenGL Shading Language. First a Frame Buffer Object with two 2D texture attachment
points is created, then with a single OpenGL Shading Language fragment shader
we write at the same time on both of them using two different techniques, a "heat"
shader and a per-pixel lighting shader. Finally the two textures are applied to the
two boxes in the next rendering pipeline.
|
|
This demo demonstrates the use of shader-LOD, geometrical-LOD, multipassing,
LOD-aware geometrical animation and LOD/multipassing-aware shader animation.
Note the outlines of the spheres which are drawn using multipassing.
|
|
This demo loads an MD2 (Quake 2) model creating 4000 instances of it by sharing their geometry.
The geometry is uploaded to the GPU using VBOs (Vertex Buffer Objects) and
the models are animated by interpolating their vertices directly on the GPU using a vertex shader.
Interpolating this amount of vertices on the CPU would be at least an order of magnitude slower.
The model in the picture is the Perelith Knight by James Green.
|
|
In this demo the title is drawn in red with a black border to make it stand out more from the background.
The four parts of the poem are drawn with different text alignments: left, center, right and justified.
|
|
Here you can see how the text rendering engine of Visualization Library handles Unicode fonts and characters.
Note that the Hebrew and Arabic texts are rendered using the right-to-left layout.
|
|
This demo shows a possible use of point sprites to create a hi-performance and highly-dense scatter plot.
|
|
This demo shows a combination of alpha blending, alpha testing, multitexturing and double side lighting.
|
|
Here you can see how Visualization Library lets you manage complex clipping planes interactions.
The right box is not clippable. The center and left yellow boxes are clippable but inside the left yellow box
there is a green box which is not clippable. The central yellow box is inside a cylinder on which two opposite
clipping planes are applied via multipassing, thus creating a slice-shaped hole on it. The grayish plane represents
the clipping plane applied to the yellow boxes. Note that in the demo the visible plane and the clipping plane
are attached to a Transform and dynamically animated.
|
|
This demo demonstrates how to use hierarchical transforms simulating the movement of a mechanical/robot arm.
|