gpt4 book ai didi

python - 切换投影时的矩阵模式

转载 作者:太空宇宙 更新时间:2023-11-04 02:24:45 26 4
gpt4 key购买 nike

我在很多地方都看到了这个,但我不太明白。例如这段代码:

def update_projection(self):
glMatrixMode(GL_PROJECTION)
glLoadIdentity()

if self.perspective_mode:
self.switch_to_perspective_mode()
else:
self.switch_to_parallel_mode()
glMatrixMode(GL_MODELVIEW)

这些问题可能看起来很基础,但我不明白他们在实践中的工作:

  1. 这里的MatrixMode到底是什么?
  2. 为什么 GL_PROJECTION 在投影 if 子句之前?
  3. 为什么切换回 GL_MODELVIEW

最佳答案

  1. OpenGL(在我们这里讨论的旧版本中)提供了多个矩阵堆栈:ModelView、Projection(以及其他一些)。主要区别在于在计算光照之前应用 ModelView,然后再应用投影。使用 glMatrixMode 可以切换下一个命令将操作的矩阵堆栈。在 this question 中阅读有关矩阵堆栈的更多信息.

  2. 这是因为这两种方法(switch_to_perspective_modeswitch_to_parallel_mode)将设置投影矩阵,很可能是正交投影或透视投影。由于它们应该应用于投影矩阵堆栈,因此必须事先切换到它。

  3. 很可能是因为接下来的命令要对 ModelView 矩阵进行操作。

关于python - 切换投影时的矩阵模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50700056/

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