[ glorius @ 16.03.2010. 00:19 ] @
Napravio sam Terrain klasu i trenutno istrazujem nacine brzog renderinga. 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 ). |