Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: ajmendoza en 12 de Diciembre de 2005, 03:08:25 PM

Título: Niveles De Detalle Y Array Vertex Buffer
Publicado por: ajmendoza en 12 de Diciembre de 2005, 03:08:25 PM
 Buenas. Escribo para haceros una preguntilla como en otros foros despues de haber googleado (sin demasiada pericia) ya que ando algo perdido, modo novatillo.
Resulta que estoy haciendo un programilla (mi primero de verdad que continuo) en opengl y se trata de un sencillo Editor de terrenos 3D (con su tileado y demás).
El asunto es que utilizo para guardar en memoria los vertices la extension ARB_vertex_buffer_object sin conocerla demasiado (a modo de display lists) ya que el objetivo no era una optimizacion bárbara si no aprender a crear el entorno y algoritmos y demás.

La verdadera pregunta es que ahora me proponia a implementar un algoritmo de LOD pero me asalta la duda de si es factible la utilizacion de array vertex (si se pueden recuperar datos y manejarlos en tiempo real para generar el algoritmo en si) o hay que utilizar la estructura que contiene todos los datos del terreno, trabajar sobre ella y renderizarlo "a lo bruto". Como veis anda pez.

Por si asalta la duda mi terreno está dividido en un octree y el numero de poligonos "normalmente" con los que trabajar no es muy alto, pero no se si es una forma eficiente o si se pueden utilizar los vertex array.

Aasias por adelantado (si se me ha comprendido).
Título: Niveles De Detalle Y Array Vertex Buffer
Publicado por: AK47 en 12 de Diciembre de 2005, 03:50:17 PM
 Saludos
Yo para el terreno uso el geomipmapping con vertex buffers estaticos, es decir, que tienen los vertices del terreno desde que los creo hasta que los destruyo. Con el quadtree (en tu caso seria el octree) "cosecho" los nodos que se ven, y entonces, segun la distancia, los renderizo con mas o menos poligonos y vertices. Esto del LOD lo consigo mediante index buffers: Cada nivel de detalle tiene sus indices. Estos index buffers tambien son estaticos, por lo que a la hora de dibujar el terreno lo unico que hago es decirle a la tarjeta que trozo de los vertex e index buffers tiene que usar para pintar los poligonos.
Espero que te sea de utilidad esta pequeña explicacion :)