Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Algunas questiones sobre octrees

Iniciado por CoLSoN2, 14 de Enero de 2003, 07:41:28 PM

« anterior - próximo »

CoLSoN2

                                Veamos, tengo un terreno de MxM vertices cuyas alturas se obtienen de un mapa de alturas. Esta malla la particiono mediante octrees, y luego cada octree se comprueba con el Frustum para ver si se renderiza o no. Cada nodo contiene su vertex buffer estático, que se manda a renderizar o no dependiendo de lo ya mencionado. Todo el terreno usa la misma textura.
Ahora la situación. En mi PC con una gf4ti pilla 85fps, que es el tope del vsync. En el PC del cole, donde es importante que vaya bien, con una tnt2 pilla 15-20fps (sux!). Ahora las preguntas:
- Como puedo optimizar el sistema de render en cuanto a utilización de vertex buffers y demás? Lo digo porque mando bastantes a la tarjeta, sería más optimo crear 1 dinámico y añadir ahi todos los vertices de todos los nodos a renderizar?
- Que me decís de algún algoritmo de LOD? alguna recomendación? que tal son aplicados con octrees?
- cualquier cosa que podais decirme sobre el tema me vale xDD                                
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

ALBSIM

                                La verdad es que no soy el mas indicado para dar consejos, porque soy bastante novato en el tema de los gráficos 3D, pero te explicaré por encima qómo lo hace mi 'motor' (por llamarle de alguna manera a mi programa tan cutre), y luego saca las conclusiones que te den la gana sobre mi método.
Tengo todos los vértices del mundo estático en un array.
Luego tengo otro array de faces que guarda la información en forma de TRI-STRIPS, usando para determinar qué vertices se utilizan para la creación de los triángulos la posición que guardan dentro del array de vértices mencionado antes.
Por último en cada nodo tengo un array con las faces que están incluídas dentro de él (de nuevo son enteros que apuntan a la posición que tiene la face dentro del array de faces).
A la hora del renderizado, cada vez que obtengo un nodo visible, marco sus faces para renderizarlas en un array de índices que nos servirá para indexar los vertex buffers, y una vez obtenidos todos los nodos, tenemos todas las faces visibles como marcadas (sus índices). Con este array de índices puedes renderizar el Vertex Buffer
(yo lo hago de una sola vez con un solo vertex buffer, aunque creo que es mas eficiente mandar vertex buffers de un determinado tamaño)                                






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.