Mon but: - affichage zone de chevauchement avec tout le satellite de droite à gauche ou de l'image aérienneOpenGL stéréo 3D de visualisation pour l'image stéréo aérienne (gauche, images droite)
- rotate image using roll, pitch yaw angles
-image format is Tiff image
Maintenant, je fais OpengGL stéréo 3D de visualisation pour antenne image stéréo (paire stéréo gauche, droite). J'ai montré mon image de droite à gauche en utilisant le code suivant:
glDrawBuffer (GL_BACK_LEFT);
LeftBuf = new unsigned char [LeftCol * LeftRow *3];
for (int i = 0; i < LeftRow; i++){
for (int j = 0; j< LeftCol; j++){
LeftBuf [(i*LeftCol + j)*3] = tiff.LnBuf [i*LeftCol + LeftCol-(j-1)];
LeftBuf [(i*LeftCol + j)*3+1] = tiff.LnBuf [i*LeftCol + LeftCol-(j-1)];
LeftBuf [(i*LeftCol + j)*3+2] = tiff.LnBuf [i*LeftCol + LeftCol-(j-1)];
}
}
glRasterPos2f(-1,-1);
glDrawPixels(LeftCol, LeftRow, GL_RGB, GL_UNSIGNED_BYTE, LeftBuf);
glDrawBuffer (GL_BACK_RIGHT);
RightBuf = new unsigned char [RightCol *RightRow *3];
for (int r = 0; r < RightRow; r++){
for (int c = 0; c< RightCol; c++){
RightBuf [(r*RightCol + c)*3] = tiff.RnBuf [r*RightCol + RightCol-(c-1)];
RightBuf [(r*RightCol + c)*3+1] = tiff.RnBuf [r*RightCol + RightCol-(c-1)];
RightBuf [(r*RightCol + c)*3+2] = tiff.RnBuf [r*RightCol + RightCol-(c-1)];
}
}
glRasterPos2f(-1,-0.45);
glDrawPixels(RightCol, RightRow, GL_RGB, GL_UNSIGNED_BYTE, RightBuf);
maintenant je dois tourner mon image 3D droite à l'aide Opengl fonction suivante: glRotatef (rightphoto.omega * 180/PI, 1.0f, 0.0f, 0.0f) Glutotatef (rightphoto.phi * 180/PI, 0,0f, 1,0f, 0,0f); Glutotatef (rightphoto.kappa * 180/PI, 0,0f, 0,0f, 1,0f); mais je ne peux pas faire pivoter mon image.
S'il vous plaît aidez-moi comment faire pivoter mon image !!!!! Aussi je veux afficher des images entières superposées gauche de la même partie des images de gauche à droite avec rotation 3D. Je ne sais pas comment calculer les coordonnées de chevauchement des régions d'images entières de gauche à droite. Désolé pour mon mauvais anglais.