我沒有太多的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()'時,你不會改變你正在看的東西。 –