【发布时间】:2013-04-02 03:27:34
【问题描述】:
我目前正在处理 OpenGL ES(2、iOS 6)……我有一个问题
我。让 是一个必须绘制的网格。此外,
二。我可以要求旋转/翻译,以便改变观点。
所以, 我怎样才能(实时)知道显示的任何顶点的位置?
提前谢谢你。
jgapc
【问题讨论】:
标签: opengl-es 3d geometry feedback vertices
我目前正在处理 OpenGL ES(2、iOS 6)……我有一个问题
我。让 是一个必须绘制的网格。此外,
二。我可以要求旋转/翻译,以便改变观点。
所以, 我怎样才能(实时)知道显示的任何顶点的位置?
提前谢谢你。
jgapc
【问题讨论】:
标签: opengl-es 3d geometry feedback vertices
不完全清楚你在追求什么,但如果你想知道在哪里你的对象在做了一堆旋转和平移之后,那么一个非常简单的选择,如果你执行这些更改程序代码而不是着色器中的更改是简单地获取转换矩阵的最后一行或最后一列(取决于您使用的是行还是列主矩阵),这将是对象 center 的最终转换 作为坐标向量。
最后一行或最后一列与将最终变换矩阵乘以对象的局部坐标中心向量(即 (0,0,0,1))相同。
如果您想知道对象的顶点在哪里,而不是对象的中心,则将局部坐标空间中的该顶点乘以最终的变换矩阵,您将得到该顶点所在的新坐标。
【讨论】:
我想指出两点:
我很好奇为什么您关心未显示的内容?
【讨论】:
x、y 和z 中的每一个除以第四个坐标w)。完成此操作后,您可以进行简单的“检查 2D 边界”测试以查看它们是否在您的视锥内。