0
jpegのパン/ズームビューアを実装しています。私はテクスチャにマッピングされた一度に1つのイメージを表示し、次にキープレスでイメージ間を入れ替えます。OpenGLでテクスチャ/クォッドのサイズ変更
私の問題は、画像は変化しますが、クワッドのサイズは最初に読み込まれた画像の幅と高さに固定され、更新されません。ここではクワッドなどを描画するためのコードは次のとおりです。
ノートROI_WIDTHとROI_HEIGHTが正常に新しいイメージがロードされるたびに更新されないグローバル変数、しかしこれは出力に反映されていないしていること:
void orthogonalStart (void) {
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0, ROI_WIDTH, 0, ROI_HEIGHT);
glScalef(1, -1, 1);
glTranslatef(0, -ROI_HEIGHT, 0);
glMatrixMode(GL_MODELVIEW);
}
void orthogonalEnd (void) {
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
}
void display (void) {
glClearColor (1.0,1.0,1.0,0.0);
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
orthogonalStart();
glEnable(GL_TEXTURE_2D);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);
glBindTexture(GL_TEXTURE_2D, texture);
glRotatef(180.0, 250.0f, 250.0f, 0.0f);
glBegin(GL_QUADS);
glTexCoord2i(0,0); glVertex2f(0, 0);
glTexCoord2i(1,0); glVertex2f(0, ROI_WIDTH);
glTexCoord2i(1,1); glVertex2f(ROI_HEIGHT, ROI_WIDTH);
glTexCoord2i(0,1); glVertex2f(ROI_HEIGHT, 0);
glEnd();
orthogonalEnd();
zoomFac();
glViewport (xView, yView, (GLsizei)(winx*zoomFactor), (GLsizei)(winy*zoomFactor));
glutSwapBuffers();
}