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.

2.2 Advanced Graphics Processing<br />

pass. Since passing back the results in the same render pass is currently only available<br />

on late-breaking Nvidia G8x architectures, the programmer will have to by-pass this in<br />

a way called multi-pass rendering .<br />

• multi-pass rendering uses the output buffer or texture which was generated in on<br />

render pass in the next render pass as input.<br />

• single-pass rendering, in contrast, generates the final result in one render pass.<br />

Additional to multi-pass rendering a technique called double buffering has to be used<br />

due to most hardware’s disability to read and write to the same texture. This technique<br />

switches two identical textures in each render pass. Depending on the frame rate of<br />

the application these textures are subsequently exchanged and updated. Subsequently,<br />

only one iteration step can be performed each frame but this for millions of parallel<br />

iterations at once. Depending on the settling time of the system or an abort criterion,<br />

such calculation updates of parallel systems can be performed much faster on nearly<br />

all currently available graphics hardware cards than on a CPU with this method.<br />

Despite these shortcomings there are also several comforts when programming<br />

graphics hardware. For example a bilinear or trilinear interpolation, not only for a<br />

texture, can be performed with hardware implemented units. This interpolation tends<br />

to be really fast. Furthermore all in hardware implemented clipping mechanisms can<br />

be used for many parts of standard algorithms which can imply another speedup.<br />

Concluding, it must be noted that shader programs can not replace conventional<br />

application programs due to the lack of high level languages but for problems with a high<br />

arithmetic intensity as defined by equation 2.8. For sequential data access, GPU stream<br />

processors can increase the performance remarkable. Since complex visualizations are<br />

commonly linked to highly parallel costly calculations a programmable graphics card<br />

is rather predestined for both: Calculation of the desired simulations and a subsequent<br />

direct rendering of them.<br />

34

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

Saved successfully!

Ooh no, something went wrong!