Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/12/2011, 09:46
Minniek
 
Fecha de Ingreso: enero-2009
Mensajes: 178
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: opengl transformar coordenadas de windows a opengl coordenadas

Lo consegui

void Mouse(int button,int state,int x,int y) {
GLdouble ox=0.0,oy=0.0,oz=0.0;
GLint viewport[4];
GLdouble modelview[16],projection[16];
GLfloat wx=x,wy,wz;

if(state!=GLUT_DOWN)
return;
if(button==GLUT_RIGHT_BUTTON)
exit(0);
glGetIntegerv(GL_VIEWPORT,viewport);
y=viewport[3]-y;
wy=y;
glGetDoublev(GL_MODELVIEW_MATRIX,modelview);
glGetDoublev(GL_PROJECTION_MATRIX,projection);
glReadPixels(x,y,1,1,GL_DEPTH_COMPONENT,GL_FLOAT,& wz);
gluUnProject(wx,wy,wz,modelview,projection,viewpor t,&ox,&oy,&oz);
glutPostRedisplay();
printf ("World (%f, %f, %f)\n", ox, oy,oz);
}
donde las variables son ox, oy, oz