Tuesday, April 24, 2007

Geomipmapping

Geomipmapping my first implementation of a CLOD algorithm, is working in its most basic form. The images below show the different outputs from the algorithms. To render a segment of terrain which is 128x128 Brute Force renders 32510 faces while Geomipmapping only has to render 1240 in this instance (this varies depending on camera position).

Brute Force and Geomipmapped Terrains Rendered in Wire Frame

Brute Force and Geomipmapped Terrains. (Very little visual difference)

Even at this stage I am happy with the frame rate increase. In the images shown you can see that Geomipmapping achieves 72fps whereas Brute Force gets 67.7fps. This may not seem like much of an increase but please remember how the Brute Force vertices are stored and rendered. VBO (Vertex Buffer Objects) are used therefore the vertices are stored and rendered by the Graphics Card. My Geomipmapping implementation currently renders all faces with individual software calls. If I do the same for Brute Force for the selected terrain its fps drops to about 54.


By implementing Vertex Arrays or VBO's for Geomipmapping, which is also maintain my desire of keeping the algorithms and graphics API calls separate, I expect to see a frame increase. Also by adding Frustum Culling on each of the terrain patches in the Geo terrain I can further reduce the number of vertices to be rendered.

1 comment:

  1. Wow all I can say is that you are a great writer! Where can I contact you if I want to hire you?

    ReplyDelete