Sunday, March 25, 2007

GPU Geometry Clipmaps Source

Now, GPUgc only updates visible levels. When a level that was not rendered last frame is now visible it partially or fully update it.

GPU Geometry Clipmaps Demo 25.03.2007
GPU Geometry Clipmaps Source 25.03.2007

Edit : Updating visible levels only boost FPS during motion at high height. On a low height, there is less update calls but they have more work to do (GPU (synthetize)/ CPU (decompress)), the user might feel some freeze during motion on downmarket CPU/GPU. Updating all levels prevent freezes but it's slower when user is at high height. ( choice is yours ).

Note : if you want to try using normal maps size twice clipmap ones change
"TexNormalSize = TexClipSize * 1;" to "TexNormalSize = TexClipSize * 2;"
In GPUGeometryClipmap(). In ComputeNormals.fx change
"p_uv2 = floor(p_uv2 + 0.5);" to "p_uv2 = floor(p_uv2 + 0.25);".


Vaclav Kyba said...

Well this is my implementation, I`d like it to look like yours - that means better :) I think the synthesized detail will help. You can find some older source code there, I will publish the newer code when I'm more satisfied with it.

FilouGK said...

Code is short but there is some parts that i am not proud of as a C++ programmer :). As long as it's readable, don't care.

I tryed the TerraD3D 1.03 demo but it crashes. Log says everything initialized without errors :( .

vaseo said...

That`s weird, it works fine for me even in Vista. Could you send me the log file to What's your graphics card and OS?

Anonymous said...

The links are not valid anymore. :-(

FilouGK said...

Thx, links work now.
latest version