需要对视口/透视/平截头体计算进行深入解释

时间:2013-09-25 18:04:52

标签: opengl-es-2.0 webgl

我有很多教程&书籍,但我无法理解我的视频,我的近在咫尺。远距离等用于计算透视/平截头体矩阵。

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

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

我需要一个非常深入和基本的帮助.... 有谁能够帮我 ?一些真正有用的链接?我需要图形示例显示&教会如何计算平截头体。

由于

1 个答案:

答案 0 :(得分: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。 / p>

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