2011-01-08 53 views
0

我正在使用Visual Studio 2008在Windows中開發C++ OpenGL代碼。我無法理解爲什麼沒有整數函數可以工作。我會嘗試使用glVertex2i(2,2),但我得到的只是一個黑屏,我也試過glrecti,但我得到了相同的結果。爲什麼沒有任何整數方法適用於OpenGL?

當我使用浮點函數時,它們工作。 glVertex2f(.5,.5)和glRectf(1,2,3,4)正常工作。我無法弄清楚什麼是錯的,我錯過了什麼。人們已經明顯使用過glVertex2i並且已經有效。

簡單代碼我已經工作的關閉是這樣的:

#include <windows.h> 
#include <gl/gl.h> 
#include <gl/glu.h> 
#include <gl/glut.h> 

void draw(){ 
    glClearColor(0,0,0,1); 
    glClear(GL_COLOR_BUFFER_BIT); 
    glColor3f(1, 1, 1); 
    glBegin(GL_LINES); 
    glVertex2i(100,100); 
    glVertex2i(200,200); 
    glEnd(); 
    glFlush(); 
} 

int main(int argc, char** argv){ 
    glutInit(&argc, argv); 
    glutInitWindowSize(600, 600); 
    glutCreateWindow("My first OpenGL program");  
    glutDisplayFunc(draw); 
    glutMainLoop(); 
} 

回答

4

你的代碼沒有設置任何投影矩陣,所以將值傳遞外[-1,1]的繪製視口的外。這就是整數函數「不起作用」的原因。

+0

非常感謝你,那正是我需要的答案。我很驚訝地發現這些信息並非在大多數教程中或在課堂上教授的。 – Muradin007 2011-01-08 23:14:53

相關問題