10.11.2014 Views

Master's Thesis - Studierstube Augmented Reality Project - Graz ...

Master's Thesis - Studierstube Augmented Reality Project - Graz ...

Master's Thesis - Studierstube Augmented Reality Project - Graz ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.3 Visualization nodes and subgraphs<br />

Figure 5.11: A double buffered ”Position Texture” stores the current position of each<br />

particle and ”Attribute Texture” the color assigned to a certain velocity or the particle.<br />

The ”Reset Texture” is used if no velocity value has been found of the particle left the<br />

volume or if it exceeded its maximum lifetime. The initial positions which are stored in<br />

this texture are predefined randomly but they can even be arranged so that for example<br />

some kind of streak-line will result. The ”Field Texture” stores the current flow volume<br />

for texture lookup and can be changed during rendering in case of 4D-volumes.<br />

frame via the OpenGL API to the stream processors would cost over 50% of the framerate.<br />

Consequently, they get stored in a display list during the initialization step. Over<br />

all this simple particle effect performes - assuming a buffer-size of 1024x1024, which<br />

refers to over one million particles - with a frame-rate between 100 and 150 frames per<br />

second on the hardware described in section 6.1. The frame rate was evaluated with<br />

an artificial flow dataset.<br />

Listing 5.4: Pseudo shader code for the simplest form of a GPGPU particle system<br />

applicable to a predefined 3D velocity texture.<br />

1 init arbitrary positions in init = reset texture<br />

2 init ages randomly in attribute texture<br />

3<br />

4 [ Fragment shader ] // output : attribute texture<br />

5 uniform attribute_texture ;<br />

6 uniform position_texture ;<br />

7 uniform color_mapping_1D_texture ;<br />

8<br />

9 if age of particle

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!