Graphics Reference
In-Depth Information
buffer1
Grid Mesh
DrawTransformFeedback()
DrawTransformFeedback()
DrawElementsIndirect()
LOD Kernel
Cull Kernel
Render Kernel
Transform Feedback
Transform Feedback
Backbuffer
buffer2
buffer1
swap(buffer1, buffer2)
draw_indirect_buffer
Figure 3.3. OpenGL pipeline of our method.
3.3.4 Results
To demonstrate the effectiveness of our method, we wrote a renderer for terrains
and another one for parametric surfaces. Some results can be seen in Figures 3.4
and 3.5. In Table 3.1, we give the CPU and GPU timings of a zoom-in/zoom-out
sequence using the terrain renderer at 720p. The camera's orientation was fixed,
looking downward, so that the terrain would occupy the whole frame buffer, thus
maintaining constant rasterizeration activity. The testing platform is an Intel
Core i7-2600K, running at 3.40 GHz, and a Radeon 7950 GPU. Note that the
CPU activity only consists of OpenGL uniform variables and driver management.
On current implementations, such tasks run asynchronously to the GPU.
As demonstrated by the reported numbers, the performance of our imple-
mentation is both fast and stable. Naturally, the average GPU rendering time
depends on how the terrain is shaded. In our experiment, we use solid wireframe
shading [Gateau 07] which, despite requiring a geometry shader, is fairly cheap.
Kernel CPU (ms) GPU (ms) CPU stdev GPU stdev
LOD
0.096
0.067
0.039
0.026
Cull
0.068
0.077
0.035
0.032
Render
0.064
1.271
0.063
0.080
Tab l e 3. 1. CPU and GPU timings and their respective standard deviation over a zoom-
in sequence of 1000 frames.
Search WWH ::




Custom Search