Submitted by , posted on 11 June 2001



Image Description, by


Just another terrain engine.

Nothing special to say for now ... only that is adaptive quad tree based and it uses the "GeoMipMap" technique (done several months before the white paper with the same name). I use DX vertex buffers to store the patches. They are stored in a special way, so the rendering performance does not suffer much on cards without T&L . You can see the dynamic lighting. I use the method presented by Klaus Hartmann ("Texture Synthesis for Terrain" paper) to generate the vertex normals (however, i modified it, so the grid spacing is no more needed).

The texture is dynamically generated. I use the hardware to blend the different base textures. The terrain does not look so good (detailed) if close to it. The problem is the texture size (512x512). I am working on that problem. In the previous versions, i used a software blender (sampler), but it was slow (30 sec for 2048x texture). Now, the problem is the Blt operation needed to copy the blended texture from the back buffer to the texture surface. It's very slow (~1.3 seconds). Rendering to texture is not really an option, textures use to much memory. I spent months searching for good texturing solution (big terrain + detailed texture + LOD terrain support), but no luck for now. If you can help me in this domain, don't hesitate. .... oh, i use detailed texture too (not on the screen shot), but it's slows the frame rate as much as 50% (single pass multitexturing). Maybe, it's because i use the hole fill rate and any additional operations impacts the performance.

Speaking performance, here some info : the current screen was taken with the terrain with full detail (the Hmap is the Grand Canyon 513x513 from Gamasutra ROAM article), 524288 triangles , directional light, 32 bit , resolution ~900x640 (windowed, but same performance with 1024x768) = 15 fps. But, there is no optimizations, i use borland VCL, many controls , and the program is full with other stuff (garbage, or not so).

My system is an overclocked celeron 300a ->450 , GeForce2 GTS 64MB ,196MB RAM.

I know, there is no sky. Do i need it really ? Yea, sure ..but later ...

If you have questions ..don't hesitate.



[prev]
Image of the Day Gallery
www.flipcode.com

[next]


 


Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.