- 博客(3)
- 收藏
- 关注
原创 unity冰视差
用偏移后的uv去采样深度图,再去与当前步进累计的深度currentLayerDepth做判断,是不是当前深度已经抵达视差贴图深度,我们就可以停止循环了,这个就是循环的条件。deltaTexCoords = viewdir.xy / (viewdir.z * ) 偏移uv,viewdir.xy/view.z是因为,离摄像机越近,那么偏移的程度就越大,离摄像机越远,偏移的程度就越小。指当前uv,开始是正常的uv,每一次步进,都会让当前uv,增加一层视差uv。记录循环后偏移的uv,并作为函数的返回值;
2025-05-02 22:43:36
497
原创 ComputeScreenPos
内置函数: // x = 1 or -1 (-1 if projection is flipped) // y = near plane // z = far plane // w = 1/far plane float4 _ProjectionParams;
2025-03-22 15:18:01
309
原创 unity中的齐次坐标与线性
那么在unity中从裁剪空间到ndc空间用到了透视除法,将裁剪空间坐标的四个分量都除以w,在笛卡尔坐标系中可以用(∞,∞),这样的点在欧几里得空间没有意义。而在二维坐标中,引用齐次坐标,可以在欧几里得空间中表达无限。例如坐标(1,2),用齐次坐标就可以表达为(1,2,1)而齐次坐标还可以让矩阵相乘的非线性变换,成为线性变换。设点x,y,z,分别要移动tx,ty,tz的距离。那么在三维空间中的坐标平移中也会使用到齐次坐标。而无限可以用(1,2,0)表示。相关,w分量除以就可以了,例如设点p(x,y,z)
2025-03-11 23:55:59
356
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅