gpt4 book ai didi

c++ - 为什么没有任何整数方法适用于 OpenGL?

转载 作者:行者123 更新时间:2023-11-27 23:32:02 25 4
gpt4 key购买 nike

我正在使用 Visual Studio 2008 在 Windows 中开发 C++ OpenGL 代码。我无法理解为什么没有一个整数函数起作用。我会尝试使用 glVertex2i(2,2) 但我得到的只是黑屏,我也尝试过使用 glrecti 但我得到了相同的结果。

当我使用浮点函数时,它们起作用了。 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();
}

最佳答案

您的代码没有设置任何投影矩阵,因此在 [-1, 1] 之外传递值就是在视口(viewport)之外绘制。这就是整数函数“不起作用”的原因。

关于c++ - 为什么没有任何整数方法适用于 OpenGL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4632290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com