Master's Thesis - Studierstube Augmented Reality Project - Graz ...
Master's Thesis - Studierstube Augmented Reality Project - Graz ...
Master's Thesis - Studierstube Augmented Reality Project - Graz ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
5.3 Visualization nodes and subgraphs<br />
67 // End of vertex shader<br />
Such an efficient particle effect can be easily applied for the visualization of streak<br />
lines and time lines as they are described in section 2.1.1.2 in chapter 2. The only<br />
things to modify would be in the first case the initialization of the initial positions to<br />
evenly spaced seed points placed within a plane or line and in the latter case the initial<br />
ages in the attribute textures so that all particles are always being released at the same<br />
time.<br />
5.3.3.3 Stream lines<br />
Streamlines show - as described in section 2.1.1.2 in chapter 2 - the trajectories of a<br />
particle influenced by a static velocity field. Consequently these lines are only valid for<br />
one separate temporal volume and will completely change when changing to another<br />
field in time. However, local structures of the flow may be explored very well by these<br />
lines.<br />
Two approaches have been implemented to calculate particle trajectories. First a<br />
single pass shader was evaluated which subsequently updates to the lines in the first<br />
render pass with a for-loop. Since only with the GeForce 8x Series, a shader may be<br />
used recursively in one render pass with its output as input. This solution was chosen to<br />
guarantee a compatibility to reference systems as defined in section 6.1. The one-pass<br />
implementation on other architectures is extremely inefficient for dynamic manipulation<br />
of the scene due to a necessary recalculation of already calculated positions. In this case<br />
the access to the output texture is not possible in one pass! However, this rudimentary<br />
algorithm is not suitable for a dynamic definition of the seed region, for example by<br />
a dragger since every (complete) recalculation of the trajectory texture takes about<br />
one second up to 5 seconds. Nevertheless, this approach is for randomly but fixed<br />
distributed seed points in the volume as feasible as the multi-pass approach.<br />
Due the focus on interactive usable flow visualization, the further line based algorithms<br />
uses a multi-pass algorithm.<br />
The multi-pass approach utilizes a double buffered texture for the calculation of<br />
results and a vertex displacement for the actual line rendering. The main differences<br />
are that in the sample points position texture each column corresponds to the supporting<br />
points of one line and that the displaced vertices in the vertex list belong to<br />
line strips 1 . Consequently, a position initialization texture would be reduced to one<br />
dimension defining the first row of a vertex position texture. Considering that not all<br />
lines will be of an equal length and that some parts of the supporting position texture<br />
will remain empty, several other memory management approaches for exploiting the<br />
available texture memory have been considered. Finally the simplest approach was<br />
used because of the fact that each other, even texture reorganizing algorithms need as<br />
much time for the memory management as the calculation itself. Additionally, the used<br />
GF 8x architecture provides plenty of texture memory, so the position texture can be<br />
1 in OpenGL: GL LINE ST RIP vertex order.<br />
106