【问题标题】:OpenGL Projection MatricesOpenGL 投影矩阵
【发布时间】:2009-03-10 13:17:50
【问题描述】:

我有一个关于获取观察者和他们的投影平面以及如何准确计算应该创建的投影点的问题。

前。原点处的查看器,在负 Z 方向上查看。 z = -2 处的投影平面。点 (-6,1,-4)。

我看到一些网站谈论使用相似的三角形,还有一些网站有一个矩阵可以乘以它。我的问题是我不知道如何设置任何一个。

我猜我的观众的观点是在原点 (0, 0, 0, 1)。当我搜索透视投影矩阵时,我发现一个网站设置了这样的矩阵。

1 0 0 0
0 1 0 0
0 0 0 0
0 0 1 0

但是,据我所知,我的观察者的观点是在 (0, 0, 0, 1) 处,那么投影对于它如何影响等式是没有意义的。该矩阵还需要根据公式进行调整以在此站点上进行设置:
http://www.cs.nps.navy.mil/people/faculty/capps/iap/class2/viewing/projection.html

我只需要一点帮助来解决这个问题,而我们在课堂上讨论的只是使用相似的三角形,这对我来说没有意义......

【问题讨论】:

    标签: opengl matrix perspectives


    【解决方案1】:

    查看者的位置通常不是通过投影矩阵来处理的,而是通过模型视图矩阵来处理的。投影矩阵只处理从眼睛空间到剪辑空间的转换。

    相机变换是通过将相机的逆变换作为模型视图堆栈上的第一个矩阵来实现的。

    Advanced graphics programming using openGL

    OpenGL Transformation

    【讨论】:

      【解决方案2】:

      考虑读取 OpenGL 的矩阵,使用glGet...() 函数,并自己通过相关矩阵运行顶点。首先阅读转换管道的详细信息,这样您就知道如何应用矩阵了,排序一如既往地很重要。

      【讨论】:

        【解决方案3】:

        我在我的网站上详细讨论了(opengl)投影矩阵的推导。你可以看看这里

        http://divineabomination.blogspot.com/2009/12/derivation-of-perspective-matrix-part-1.html

        第二部分也可以从右侧的菜单中获得。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-04-11
          • 2015-11-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-05
          • 2011-04-06
          相关资源
          最近更新 更多