Hello!
I'm developing a render engine, which should render very large scale environments (f.e. space objects, planets, ships, etc.). Among others I have a task to deal with z-buffer. I have a lot of multiscale objects which needs to be rendered in one scene. It could be a space station, a planet and a space station trajectory. Splitting objects to z-buffer groups is not suitable because, for example, space ship intersects trajectory and trajectory intersects planet. So, I decided that I need some technique for z-buffer split (maybe some analog of PSSM for z-buffer) and then render objects in that splits.
What can you suggest about this approach? It would be great to look at some articles or technical reports, connected to this topic.
Thanks for help!
Regards,
Nikita
Z-buffer split techniques for large scale environments
I just sort objects (or groupings of objects) by depth, and scale/translate each one to fit the z-distance I work with - a technique I borrowed from one of Sean O'Neil's articles.
It's not perfect, but works quite well for planets/stars/spaceships in every configuration I've tried.
It's not perfect, but works quite well for planets/stars/spaceships in every configuration I've tried.
Perhaps a logarithmic depth buffer will be useful to you? I have no experience implementing it myself.
Perhaps a logarithmic depth buffer will be useful to you? I have no experience implementing it myself.
Or it's much simpler cousin, the floating point depth buffer.
Infinite Depth Buffer http://http.develope...ugems_ch09.html
Not the same sort of thing at all - that's a technique for rendering stencil shadow volumes, when the shadow geometry approaches infinity.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement