Fractal generation for terrain detail

Started by
0 comments, last by zedzeek 19 years, 3 months ago
Ok, so I have several questions related to this. I'm using geomipmapping, and my basic idea is that when the viewpoint enters a new terrain patch, we want to set its target lod to 'super-high', that is, we mark it for fractal generation. Once it hits this lod, we need to render an extra-detail patch. I imagine that you'd do so by creating a VB with more vertices, i.e. a 65x65 vertex buffer for a 33x33 patch. Rendering this buffer instead is not a problem. But I'm not sure how to come up with the extra data. Fractal mathematics is not something I've had occasion to study. It seems obvious that you need data which is random without being noisy, and data that won't change as you move and turn. Second, exactly how much more detail is reasonable to add? Is upgrading a 33x33 patch to 65x65 sufficient, or should I go up further? I'm running a physics engine, so I can't make things happen that are obviously wrong because of the extra generated geometry. But, I never gave the physics engine my complete terrain data anyway; I only give it 1/16 of the polys, and there's no visible problems unless you know exactly what you're looking for. So I guess this is a non-issue as long as the fractal function is 'reasonable'. What are the speed concerns of the actual generation of fractal geometry? Is it an iterative process that will need to be started beforehand and worked on for several frames, or can I do it in the frame it's needed without causing a hiccup?
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Advertisement
see the start of my page link below,

>>What are the speed concerns of the actual generation of fractal geometry? Is it an iterative process that will need to be started beforehand and worked on for several frames, or can I do it in the frame it's needed without causing a hiccup?<<

depends entirly of course of the datasets, FWIW i recommend doing what i do and chuck everthing onto a to be rendered heap,eg take the worsecase senerio say the camera instantly teleports somewhere else, now say u have 256 patches around the camera u generate each patch at its lowest resolution (so at least theres something on screen, and not a blank area),
and then each succeding loop u check whats on the top of the stack, eg generate patch nr 152's high detailed texture,
next loop u do another patch until theres nothing on the stack, thus ths way youre spreading out the cpu work over many frames so u wont have frame hiccups.

also for fast noise check out the glsl forum from 1/2 months ago at www.opengl.org

This topic is closed to new replies.

Advertisement