Odlucio sam se za Octree + Frustum culling.
Jos uvek nisam implementirao ovaj algoritam ali ideja je sledeca.
Imam teren koji prvo generisem kao jedan veliki mesh i onda ga podelim na subgrids i onda napravim Octree ciji nodovi sadrze subgrids...
Pomocu frustum planes testiram visibility node-ova Octree-a i renderujem visible nodes.
Zeleo bih da iskoristim mogucnost Progressive Mesh-a (ID3DXPMesh) tako da mi svaki subgrid bude progressive mesh i u zavisnosti od udaljenosti grida u view space smanjujem ili povecavam broj vertex-a svakog vidljivog subgrida u funkciji od udaljenosti subgrida od eyepoint-a kamere.
oGooglao ali nisam nista nasao o performansama Progressive Mesh-esa... Plus, ne vidim da se mnogo forsiraju ( ili ja nisam naisao na neki source gde se oni primenjuju u slozenijim scenama ) pa me je to navelo na razmisljanje o performansama funkcija ID3DXPMesh::SetNumVertices i ID3DXPMesh::SetNumFaces. Nisam upoznat sa internim algoritmom ovih funkcija ali pretpostavljam da one generisu mesh 'on-fly' i rade po principu Optimize i MeshSmooth opcija u 3D Studio MAX-u.
Naravno, sve bih to mogao sam da testiram ali me generalno zanima kakve bi bile performanse pri koriscenju ove dve funkcije progressive mesha pri renderovanju slozenijih scena ( tipa, large terrain ).