Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Proyectar vértice OpenGL

Iniciado por davidgf, 12 de Noviembre de 2009, 10:13:36 PM

« anterior - próximo »

davidgf

Hola de nuevo a todos!

Tengo un problema con proyectar un vertice en una coordenada 2D. La solución es:

   GLdouble modelMatrix[16];
   GLdouble projMatrix[16];
   GLint viewport[4];
   GLdouble ox,oy,oz;

   glGetDoublev(GL_MATRIX_MODE, modelMatrix);
   glGetDoublev(GL_PROJECTION_MATRIX, projMatrix);
   glGetIntegerv(GL_VIEWPORT, viewport);
   
   gluProject (vec3d.x,vec3d.y,vec3d.z,modelMatrix,projMatrix,viewport,&ox,&oy,&oz);

donde ox y oy estan entre {-0,5 , 0,5 }. Pero el programa me saca coordenadas mayores o menores de 0.5 aun estando el punto en pantalla o +/- inf.

Porque sucede esto?

Gracias

David
Tàrraco: una aventura por la Tarragona romana (http://tarraco.davidgf.net)

tamat

esta linea creo que está mal:

glGetDoublev(GL_MATRIX_MODE, modelMatrix);

debería ser GL_MODELVIEW_MATRIX
GL_MATRIX_MODE solo sirve para decirle qué matriz vas a usar
Por un stratos menos tenso

davidgf

Ostras vaia  jalada! gracias! Al final lo he implementado sin gluproject, multiplicando las matrices modelview y project, trasponiendo y transformando.
Tàrraco: una aventura por la Tarragona romana (http://tarraco.davidgf.net)

tamat

mejor acostumbrarse a gestionar las matrices por uno mismo
Por un stratos menos tenso