But who wants to make something that everyone else has made, and while tutorials are great, if all of your components are simple carbon copies of various tutorials all mashed together I don't think you learn or grow. So in order to make things interesting I have started working on a GPU based Terrain using Hardware Instancing.
Initial Tests were promissing, right off the bat I was seeing a lot of improvement in frame rate over a simple static vertex buffer pre-generated during the load content p
Fixing this and then making a couple small adjustments to how the texture coordinates were generated in the HLSL Vertex Shader things started looking much more promissing.
It should be noted that with the full instanced terrain, no LOD and no Culling I was seeing a solid 25-30 FPS performance boost over the static vertex buffer with and without the vertex buffer height sampling.
So now with some of the initial issues squashed I am moving on to implementing an initial crude LOD system. I plan on testing two approaches, the first being multiple draw calls with instance data for each LOD level and a few different grids stored in the vertex buffer, or alternatly would be swapping index buffers then drawing each LOD level. I think this will be a better choice since I can maintain my extremely small memory footprint with only a single 64x64 grid stored in memory. More pictures and results from that later.
It should be noted I would not have gotten nearly as far as I have without the brilliant mind of Jared Belkus making timely suggestions when I find myself in a corner.
No comments:
Post a Comment