feature request: continuous LoD

Started by raft, November 13, 2009, 07:54:24 AM

Previous topic - Next topic

raft

hi all,

so jPCT has compiled objects, built in software mipmapping, multi-threading support and so on.. all so good :)

if i know Egon a bit, he is possibly already thinking of next big target, i suggest continuous LoD (level of detail) ;)

at the moment, as far as i know, there is practically no way to implement such a thing on top of jPCT. one can only add triangles to an object, move their vertices with an IVertexController but cannot remove.

using separate meshes for diffent LoD levels (as i did in karga) is an option, but it's not continous, does not look good because of the flop effect, is a real pain to configure and does not fit well for large scene objects.

just a suggestion..
vote for continous LoD ;)

r a f t

.jayderyu

That would be a cool feature the ability to decrease the vertex amount. LOD would be awesome.

I'm mostly happy that compiled has been added so we can get Shader effect in.

EgonOlsen

Actually, continuous LOD wouldn't work very well on today's hardware. Because you would constantly change all vertices, you can't compile/batch the meshes anymore. It may help for the software renderer but not for the hardware one. After all, today's hardware is pretty good at pushing polygons.
In my opinion, the future will be the exact opposite, i.e. you'll have a basic mesh of medium detail and add more detail to the near elements by using the new tessalation capabilities of DirectX 11-level hardware.

raft

i see. but what about very large, seemingly infinite scenes ? they must be implemented this or that way by removing parts of vertices, right ?

or not ? how does Config.farPlane behave for compiled objects ? if they are culled by software, compiling very large scenes wont help too much..

EgonOlsen

#4
Large scenes will more likely use somekind of streaming technology rather than loading the whole mesh into memory. Gros culling (i.e. per object/per octree node) happens in software even for compiled objects but polygon culling happens in hardware.