gpt4 book ai didi

javascript - WebGL 显示加载的没有矩阵的模型

转载 作者:行者123 更新时间:2023-12-03 11:34:52 25 4
gpt4 key购买 nike

我正在学习 webgl。我已经成功地绘制了一些东西,并希望能够理解管道。现在,我看到的每个教程都在加载网格之前解释了矩阵。虽然它对大多数人来说都有好处,但我认为我需要专注于加载外部几何图形的过程,也许是通过 json 文件。我读过 openGL 默认情况下正交显示事物,所以我问:是否可以在不进行任何转换的情况下显示 3d 网格?

最佳答案

Now, every tutorial I see explains matrices before even loading a mesh.

是的。因为理解转换至关重要,并且您需要使用它们。它们并不难理解,你越早理解它们越好。实际上,对于 OpenGL 的模型 View 转换部分来说,它实际上相当简单:

变换矩阵只是放置在“父”坐标系中的一堆向量(按列)。第一列定义“嵌入”坐标系的 X、Y 和 Z 轴如何在“父”坐标系内对齐,W 列移动它。通过改 rebase 向量的长度,您可以拉伸(stretch),即缩放事物。

就是这样,(在模型 View 中)没有什么比这更重要的了。了解矩阵-矩阵乘法的规则。矩阵-向量乘法只是矩阵-矩阵乘法的特例。

投影矩阵有点棘手,但我建议你不要太在意它,只需使用 GLM、Eigen::3D 或 linmath.h 来构建矩阵即可。投影矩阵的最佳类比是 OpenGL 的“镜头”,即您可以在此处应用缩放(也称为视场)、倾斜和移位。但“相机”的位置是通过模型 View 定义的。

is it possible to display a 3d mesh without any kind of transformation?

没有。因为网格坐标必须转换为屏幕坐标。然而,恒等变换是完全可能的,是的,这看起来就像正交投影上的死 Angular ,其中任一维度中的坐标范围 [-1, 1] 被映射以填充视​​口。

关于javascript - WebGL 显示加载的没有矩阵的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26560351/

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