问题标签 [gl-matrix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
797 浏览

c++ - 使用 SDL2 和 OpenGL 旋转相机和三角形绘制不会显示任何东西?

我只是想在中心创建一个三角形并围绕中心旋转相机。(0,0,0). 该代码是从多个教程源中提取的,我怀疑问题可能出在三角形绘制调用之前glm::perspective/lookat或之前的某个地方。gl:projection/model matrix因为这就是我现在普遍困惑的地方。非常感谢任何帮助,所以我可以继续我的生活。先感谢您。

0 投票
1 回答
710 浏览

javascript - WebGL,gl 矩阵。如何从相机视图和投影矩阵中获取截锥体顶点?

我正在使用gl-matrix库。用于线性代数计算

我有一个viewprojection矩阵,我在 3d 引擎中用于我的相机。是view一个观察矩阵。

我想从此相机设置中获取 8 个相机平截头体,以在阴影贴图的边界框中使用。

0 投票
1 回答
217 浏览

javascript - Javascript - 将设备加速度转换为地球坐标

我在使用纯 JavaScript 的网络应用程序中将设备加速度值转换为地球坐标系时遇到问题(解决方案的大多数问题都是 Android 或 iOS 特定的)。

我正在使用 gl-matrix 库来执行计算,并且到目前为止,我的解决方案主要基于我为 Android 本机应用程序找到的答案。到目前为止,我对方向和运动的事件处理程序有什么:

如果我将手机平放在桌子上(纵向模式),顶部指向远离我,并执行“resetOrientation”,这适用于左/右和向前/向后移动。也就是说,如果我将手机绕 z 轴旋转 180 度(意味着仍然平放在桌子上),所以我的顶部指向我,L/R 和 F/B 运动的加速度(代码中的 earthAcc 矩阵)是仍然正确。但是向上/向下不正确,一旦我开始围绕其他轴旋转手机,我就会得到不一致的结果。

可能只是缺少一行或类似的东西,希望矩阵代数大师能发现问题:)

更新:通过将我在 handleMotion 中创建 accMatrix 的方式更改为:

...我也有 UP/DOWN 工作,但如果我在 Z 轴以外的任何其他轴上旋转手机,它不再给出正确的值。

更新 2:我正在 iOS Safari (Iphone) 上对此进行测试,所以我不知道这是否可能是特定于设备类型的问题,但我正在使用应该返回标准化值的 Gyronorm 库。

0 投票
1 回答
158 浏览

animation - 如何在 gl-matrix 中使用 fromRotationTranslationScaleOrigin 插入多维数据集?

代码:https ://plnkr.co/edit/QNA31hMYnIJwotwbaDhT?p=preview

问题:如何在这个立方体的绘制函数中插入来自 gl-matrix 的 fromRotationTranslationScaleOrigin 的所有属性?

让我们插值超过 3 秒

至:

程序:

0 投票
1 回答
609 浏览

javascript - gl-matrix mat4 缺少 Float32Array 属性

我正在尝试设置 WebGL + TypeScript 的基本演示,在屏幕上呈现一个简单的矩形,并针对纵横比进行调整。

我正在尝试使用 gl-matrix 来计算模型-视图-投影矩阵,并将其作为统一上传。当我尝试这样做时,我收到一条很长的错误消息,指出我的矩阵类型和 Float32Array 不兼容。这是奇怪的部分:当我使用 console.log(matrix) 时,它以 Float32Array 类型打印到控制台,并带有正确的值。这里发生了什么?

0 投票
0 回答
149 浏览

javascript - 计算 WebGL 的斜投影

我正在尝试在 WebGL 2.0 中创建一个门户渲染引擎(到目前为止,我正在尝试移植这个 C++ 项目:https ://github.com/HackerPoet/NonEuclidean ),并且正在尝试实现倾斜投影以对齐剪裁门户相机到其各自门户的平面;尽管在各种 OpenGL 平台上找到了多种实现,但是,我无法让它在我的 WebGL 项目中工作。这是与之相关的代码:

起初,传送门看起来很正常,但是当我尝试从它后面走时,对象仍然被渲染(如果我定位自己,使传送门的相机在它们后面),但是以一种不寻常的方式。我不太擅长矩阵数学或线性代数,希望得到一些帮助/见解;谢谢你。

0 投票
1 回答
289 浏览

typescript - 如何将其他类型导入打字稿 .d.ts 模块

我有一个.d.ts外部模块的自定义文件,看起来像

而不是[number,number,number]我想使用来自另一个模块的类型,例如:

当我添加导入语句时,TSC 抱怨vec3说:

0 投票
1 回答
409 浏览

javascript - gl-matrix 未正确包含在 webgl 应用程序中

我正在尝试学习 webgl 的基础知识并在此处遵循 MDN 教程。

但是,我的渲染脚本 (render.js) 无法识别包含的gl-matrix 脚本。在 Chrome 中运行index.html(版本 88.0.4324.150(官方版本)(64 位))我希望看到黑色背景下的红色方块。相反,我得到黑色背景和以下控制台错误:

这是相应的文件。

索引.html

渲染.js

0 投票
1 回答
595 浏览

webgl - glMatrix - mat4 未定义

嗨,我下载了 toji-gl-matrix-21b745f。

我将文件dist/gl-matrix-min.js复制到 web-root 文件夹中。

在 index.html 我有:

main.js里面我使用:

结果是: ReferenceError: mat4 is not defined

我已经尝试过 glMatrix.mat4 但结果是一样的。

我不明白这个错误。有人能帮我吗。提前谢谢

0 投票
0 回答
42 浏览

javascript - 如何使用 gl-matrix 构建具有位置的面向相机的矩阵?

我正在使用 javascript、webgl2 和 gl-matrix 构建一个简单的粒子系统。我有一个圆形网格、一些颜色、一些位置、一个相机视图矩阵和一个投影矩阵。我可以像这样渲染未旋转的点:

这会产生以下渲染:粒子不面向相机

显然,他们没有面对镜头。

我确信有一种方法可以导出一个矩阵,将相机的面向和向上向量与圆心的位置相结合,但矩阵数学对我来说是巫术巫术。如何构建使用粒子位置平移并使用相机矩阵旋转的矩阵(包括或不包括投影)?我需要知道相机的位置吗?