2011-01-08 11 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

関連する問題