The demo is an experiment to combine terrain raycasting of perlin noise  generated terrain with screen space ambient occlusions (SSAO) and screen  space displacement mapping (SSDM).
The terrain is generated at the beginning of the demo as a 1024x256x1024  sized perlin noise volume data in CUDA, which is raycasted in the demo  using distance functions for acceleration. To improve the quality,  third-order texture filtering and hitpoint refinement using binary  search are included.
After the first hit is found, the screen-space normal vector is computed  for shading and for the SSDM. The SSDM is not achieved using a stack of  textures as this leads to problems in case of overlapping areas for  large displacements. Instead, the SSDM is achieved in a post-process  using a high-resolution triangle mesh with two triangles per pixel. That  is the reason why sometimes articafts near the screen-boundary can be  observed.
The ones of you adept in CG may play around with the shader thats included.
Here the link to the Demo (needs an NVidia card as it uses CUDA):
Link1: Filefront
Link2: 2Shared
(Edit) Note: As the program generates the terrain as a 256MB PBO that is  copied to the final texture, at least 768MB of GPU memory are  recommended.
I've posted this already on Gamedev (link) a while ago, but to update the Blog as well, here it is.
Abonnieren
Kommentare zum Post (Atom)

I'm getting this error:
AntwortenLöschenGlew init
creating terrain volume texture 268MB
terrain volume texture creation finished
color volume texture created
CG_PROFILE_VP40 supported.
CG_PROFILE_FP40 supported.
createPBO
glBufferData
pboRegister
Cuda error in file 'cuda_main.cu' in line 467 : out of memory.
I have an i5 2500k and GTX 460 768MB, could it be that my GPU's memory is too small?