gpt4 book ai didi

opengl-es - OpenGL坐标系是右手还是左手?

转载 作者:行者123 更新时间:2023-12-04 16:32:29 28 4
gpt4 key购买 nike

假设我在OpenGL ES 2.0程序上为我的modelViewTransformation矩阵使用了一个Identity Matrix。在这种情况下,坐标系是从(-1,-1,-1)扩展到(1,1,1)的规范OpenGL坐标系。

该坐标系是右手还是左手?

一个更广泛的问题:是否存在带有OpenGL的文档,该文档可以列出API遵循的所有数学约定?

最佳答案

My question is, is this coordinate system right-handed or left-handed?



默认情况下,OpenGL始终是惯用右手的。您可以通过自动正常创建来观察此情况。您可以通过为每个点指定左手法线创建来强制左手法线创建,但是通常,右手法则始终适用。请参阅 9.150 in the OpenGL FAQ,以获取有关OpenGL的右手性质的更多讨论。

... all the mathematical conventions followed by the API?



您不清楚要什么。数学是基本的线性代数,重点是 matrix math and linear transformations

编辑以回复评论问题:

但是请记住,如果您使用统一矩阵调用而不是旧的glRotates等,则必须指定使用的是行矩阵还是列矩阵。在这种情况下(来自注释中提到的代码):
glUniformMatrix4fv(uniforms[UNIFORM_MVP], 16, GL_FALSE, mvpMatrixZRotation);

在此调用中, GL_FALSE告诉该调用这是一个以列为主的矩阵,因此,所产生的旋转将是预期的转置。因此,旋转将被反转,看起来像一个左手坐标系。

将其更改为 GL_TRUE,一切都会好起来。

这是OpenGL讨论板中与该特定主题相关的 very simple example

另一个编辑以响应注释请求:OpenGL中矩阵管道的 Here is another detailed explanation。注意带有三个轴的 GL_MODELVIEW图:它们说明了右手坐标系。 FAQ中的上述引用也仍然适用。

关于opengl-es - OpenGL坐标系是右手还是左手?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5168163/

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