OpenGL 환경이별로 없습니다. 나는 주전자를 그리고 카메라를 주전자 주위로 옮기려고합니다. 이를 위해 gluLookAt 함수를 사용하고 있습니다. 문제는 내가 gluLookAt를 호출 할 때 화면이 비어 있고 내 찻 주전자를 볼 수 없다는 것입니다.gluLookAt()가 빈 화면을 만듭니다.
#include "openGLer.h"
void openGLer::simulate(grid* toSim, int* argc, char** argv)
{
myGrid = toSim;
glutInit(argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowSize(400, 400); //Set the window size
glutCreateWindow("");
glutDisplayFunc(display);
glutIdleFunc(display);
glutKeyboardFunc(handleKeypress);
glEnable(GL_DEPTH_TEST);
glutMainLoop();
}
void openGLer::handleKeypress(unsigned char key, //The key that was pressed
int x, int y)
{
switch (key)
{
case 27: exit(0);
}
}
void openGLer::camera()
{
gluLookAt(3, 3, 0,
0, 0, 0,
0, 1, 0
);
}
void openGLer::draw()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
camera();
glutWireTeapot(0.5);
glutSwapBuffers();
}
void openGLer::display()
{
draw();
}
왜 gluLookAt()가 화면을 공백으로 만들고 어떻게 수정합니까? camera()가 호출되지 않으면 코드가 예상대로 수행됩니다. 주전자가 표시됩니다.
주전자가 보이지 않을 수도 있습니다. –
그런 일이 벌어지고 있습니다. 그러나 camera()가 호출되지 않으면 예상대로 주전자를 볼 수 있습니다. – Mikhail
'camera()'를 호출하지 않으면,보고있는 것을 변경하지 않기 때문입니다. –