icefire
icefire
这家伙很懒,什么也没写!

注册于 1年前

回答
1
文章
0
关注者
0

谢谢回答,但是实际操作中还是有点困惑,比如下面将三维点转二维点中,得到裁剪坐标后为什么要除以w位的值
var point = [100, 0, 0, 1]; // 这是正面的右上角

// 使用矩阵计算出这一点的裁剪空间坐标
var clipspace = m4.transformVector(matrix, point);

// 将 X 和 Y 除以 W,和 GPU 一样
clipspace[0] /= clipspace[3];
clipspace[1] /= clipspace[3];

// 从裁剪空间转换到像素值
var pixelX = (clipspace[0] 0.5 + 0.5) gl.canvas.width;
var pixelY = (clipspace[1] -0.5 + 0.5) gl.canvas.height;

发布
问题