我是OpenGL的新手。我能读懂简单的代码。我有三个问题。
1-)为什么要在重塑函数中使用gluperspective函数?
2-)重塑函数的真正作用是什么?当我运行具有重塑功能的程序时,如果没有它,什么都不会改变。
3)何时调用重塑函数?如果它只在我们改变窗口大小时被调用,这意味着如果我不改变窗口的大小,就不会调用重塑函数,所以也就不会调用透视图。但是,是否不需要至少调用一次呢?
抱歉,我的英语很差,还有一些愚蠢的问题。
发布于 2013-02-17 02:49:14
1-)为什么要在重塑函数中使用used透视函数?
因为这样的代码通常是由不理解OpenGL的笨蛋编写的。设置矩阵(全部)属于绘图代码。
2-)重塑函数的真正作用是什么?当我运行具有重塑功能的程序时,如果没有它,什么都不会改变。
重塑函数的正确用法是执行窗口大小更改时需要执行的一次性操作。例如,重新初始化在后处理FBO等中用作目标的纹理。如果您只是在屏幕上绘制一个三角形,则不需要重塑处理程序。
3)何时调用重塑函数?如果只在我们更改窗口大小时调用它,(…)
在创建窗口时也会调用它,因为这会有效地将窗口大小从无调整为某个矩形。
这意味着如果我不改变窗口的大小,重塑函数不会被调用,所以
也不会被调用。
创建一个新窗口也(重新)调整它的大小。
但是
不需要至少被调用一次吗?
如果你的愿望是一个gluPerspective投影,那么是的。从技术上讲,你必须做的是设置一些投影变换,这也可能是一个身份。
但是不要在重塑处理程序中设置它。这样做属于绘图代码。
和愚蠢的问题
实际上,这些都是非常好的问题。它们表明你实际上是在思考代码。我希望更多的人这样做:)保持下去。
https://stackoverflow.com/questions/14912187
复制相似问题