gpt4 book ai didi

c - glTranslatef 放置问题

转载 作者:行者123 更新时间:2023-11-30 15:40:50 25 4
gpt4 key购买 nike

我有一个关于 glTranslatef 的问题。我的老师告诉我将调用放在 display() 中,其定义如下:

void display()
{
glClear(GL_COLOR_BUFFER_BIT);

glUseProgram(program);

glBindBuffer(GL_ARRAY_BUFFER, vertexArrayBufferID);

glVertexAttribPointer(vPos, 3, GL_FLOAT, GL_FALSE, 0, BUFFER_OFFSET(0) );

glEnableVertexAttribArray(vPos);

glTranslatef(transX, transY, transZ);

glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, elementArrayBufferID);

glDrawElements(GL_TRIANGLES, numElements, GL_UNSIGNED_INT, BUFFER_OFFSET(0));

glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);

glutSwapBuffers();
}

transX、transY 和 transZ 最初设置为 0.0,并使用读取按下的键的回调 glutKeyboardFunc() 进行更改。我已经用 cout 测试了回调,它显示了反馈,但图像不会翻译。该计划是否需要特定的安置才能发挥作用?我在 Google 上进行了检查,但尚未找到我要查找的内容。

最佳答案

您还需要重置矩阵,否则每一帧都会累积翻译,直到您的内容超出显示范围。

查找glLoadIdentity

关于c - glTranslatef 放置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20821053/

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