0

我有很多教程和书籍,但我无法理解我的视口、近远距离等如何用于计算透视/截锥矩阵。

我有 learningwebgl 课程,但是....我不明白进行了哪些视口和 3D 空间调整....我的初始窗口投影大小是多少?为什么我看到三角形和正方形位于 z = -7。

另一件事我不明白。0.001 的近平面会在我的鼻子前面创建窗口投影?那么我的投影窗口尺寸是多少?

我需要一个更深入和基本的帮助....有人可以帮助我吗?一些真正有用的链接?我需要图形示例来展示和教授平截头体的计算方式。

谢谢

4

1 回答 1

0

有这个

http://games.greggman.com/game/webgl-3d-perspective/

想象一下你在 2D 中。你有一个 200x100 像素的画布。如果您在 x = 201 处绘制,它将脱离画布。同样,在 x = -1 时,它将不在画布上。

在 WebGL 中,它在 x、y 和 z 中从 -1 到 +1 的 3D 空间中工作。透视/截锥矩阵是将您的 3d 场景转换为 -1 / +1 空间的矩阵。near 和 far 值定义了世界空间中的哪个范围被转换为 -1 / +1 “剪辑空间”。超出该范围的任何内容都将被剪裁,就像 2D 示例一样。如果你设置为接近 10 和远离 100,那么 Z = 9 处的东西将被剪裁,因为它太近了,而 101 处的东西也会被剪裁为太远的东西。更具体地说,近和远设置将形成一个矩阵,这样当一个点在 Z = 附近时,它乘以矩阵将变为 -1,当它在 Z = 远时,当它乘以矩阵时将变为 +1。

视口设置告诉 WebGL 如何从 -1 到 +1 空间转换回像素。

于 2013-09-25T22:52:47.227 回答