Sunday, July 20, 2008

GPU Geometry Clipmaps DX10 wip

It has been some months since I wanted to make a new GPUgc using DX10 features. Specially with the new instancing, texture arrays & new formats available. ( leaving geometry shader & instanced tesselation out of the equation until nvidia presentations at coming siggraph ).

One week ago, i started the project from scratch except the MxM & Mx3 blocks generation from the DX9 version. The toroidal update & coordinates system is brand new, much faster, much shorter & support loading from a heightmap or a mathematical functions. Best of all, toroidal update is fully functional (not yet optimized ). Any out of core streaming/compression system can be plug in, i hope.

With all the new features of DX10, new problems appeared. Problems that bring questions, questions that need answers, answers that need to be found :)

GPUgc Dx10 Wip source


Tim said...

This looks very exciting - do you care to share any details of your toroidal update scheme? I've implemented geometry clipmaps but I'm a bit stuck on the toroidal update part. I've seen some code for it but I got very confused as it was so lengthy!

FilouGK said...

I don't mind sharing.

basically, the toroidal part can be split up. First, you can try to update only along X axis and then copy/paste/tansform the code to get the Y axis working.

the toroidal part is also linked to others parts of GPUgc ( vertex world position, clipmap texture coordinates update, etc...). It can't work if those parts don't work.

what is currently working in your implementation ?

ps : answer by mail or messenger pls,

Kris said...

What is "Tootle.h"?
Your GPUgc.h file tries to include it, but the file is not the project source :(

FilouGK said...

it's an Ati library to optimize vertex cache performance & reduce overdraw.

You may comment that include, and the few fonctions calls linked to it. Should compile & run without it.

Yojimbo said...

Very cool!

I would like to use this terrain code for a terrain shader I wrote (for a university project), I hope you don't mind?

FilouGK said...

i don't mind, code is available to be used.