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);".

Tuesday, March 20, 2007

GPU Raytracing of HyperSphere

First attempt, GPU raytracing of HyperSphere. Got some FPS with a 256x256 window, 32 samples of 2 octaves but quality is much better that aligned quads. Trying to use nice colormaps or HDR cubemaps. Highly pixel unit intensive, number of pixel units on the GPU is clearly the bottleneck (SLi / CrossFire friendly).

Saturday, March 17, 2007

GPU Geometry Clipmaps Done


Finish ! Instead of normal maps size 512, i use 256 because it looks better. i also notice that this technique don't like much pikes ( RidgeMF ) but i think that's the way they compute the average of coarser level with only 2 tex fetch. On other terrains ( Turbulence ) morphing is hardly visible.

Saturday, March 10, 2007

GPU Geometry Clipmaps Normals

Normals done on render phase

Normals with normal maps and morphing

I tryed the suggestion of computing normals during the render phase without the help of normals map. Sometimes we can see transition regions because there is no morphing and there is a drop of FPS. In a high speed game this approach could be a good idea. With normals maps and morphing it's looks better but still hard to find a way to update normals maps.

Saturday, March 3, 2007

GPU Geometry Clipmaps WIP

i have optimized vertex cache hit of triangle strips and i got a boost of 10 Fps ( + 25 % ). I discovered pixel artefacts in the middle of grids ( not T-Junctions ) and post about it on gamedev for help, Normals update don't work yet, just a matter of time.

Edit : No more T-Junctions and pixel artefacts, those were Mipfilter artefacts. Normals are now correct but i will have to use the last row and column to get correct normals for clipmap n=255. Thinking about a way to manage this.

Friday, March 2, 2007

GPU Geometry Clipmaps WIP

I finish coding instancing, min clipmap level, outer degenerate triangles. I am working on normals but shading is ugly even with twice the resolution of clipmaps. I also saw some pixel problems, may be i don't remove T-junction correctly.

Edit : I correct T-Junctions 's problem and normals but shading seems blured. Not enough resolution i guess.