Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





un call list para cada figura o uno para todas las figuras?

Iniciado por xeex, 06 de Junio de 2008, 08:39:29 PM

« anterior - próximo »

xeex

Hola.
Si tengo que mostrar digamos un cuadrado, o mejor dicho algo con 4 vertices, ademas mostrar otra cosa con,digamos, 32 lados(un objeto como un cilindro), osea, 128 vertices...
¿que seria lo mejor en cuanto a velocidad para el programa, hacer un call list en donde esten las 2 figuras, o hacer un call list para el cuadrado y otro para el cilindro??¿?¿
¿me explico?
tengo un programa en el cual muestro cuadrados(bueno poligonos con 3 o 4 lados) y cilindros(que estan formados por n lados), bueno a la hora de mostrarlos no se si es mejor hacer un call list para cada figura o en un solo call list meter todas...
?o acaso es exactamente lo mismo¿


CallList[0]=glGenLists(1);    
glNewList(CallList[0],GL_COMPILE);                              
dibuja_cuadrado();
dibuja_triangulo();
dibuja_cilindro();
glEndList();
main()
  {
     do
        {    
           glCallList(CallList[0]);                            
        }while(!ESC);
  }

eso o esto?:


CallList[0]=glGenLists(1);    
glNewList(CallList[0],GL_COMPILE);                              
dibuja_cuadrado();
glEndList();
CallList[1]=glGenLists(1);    
glNewList(CallList[1],GL_COMPILE);                              
dibuja_triangulo();
glEndList();
CallList[2]=glGenLists(1);    
glNewList(CallList[2],GL_COMPILE);                              
dibuja_cilindro();
glEndList();

main()
  {
     do
        {        
           for(int i=0;i<3;++i)  
              glCallList(CallList[i]);                            
        }while(!ESC);
  }


Bueno si es lo mismo, ¿cual seria forma correcta en que se usa un calllist para obtener el maximo de rendimiento(velocidad/fps)?
gracias,
saludos.

pipu

Creo que para mejorar los fps es mejor hacer un call list a  cuando lo dibujas todo lo que vas a dibujar así mandas a dibujar todo de una ves y pierdes menos tiempo en el procesamiento del que pasan los paquetes cuando se van a dibujar.
Bueno esta es mi opinión...