UE 在蓝图中绘制渲染管线 学习笔记

2023-12-13 12:02:43

这里映射到场景空间,然后在转化为摄像机的本地坐标,就可以进行图一的计算

图一深度和宽度很容易求出来,FOV角度也有,投影时将场景内容缩放到-1到1的一个正方体内,最后再算出屏幕分辨率,将正方体内X和Y轴进行平铺到电脑屏幕上,然后进行Z-Buffer处理,这里可以计算场景深度进行Z轴上的处理,解决遮挡关系的问题

在蓝图中获取顶点信息的节点就是用程序化网格

常用材质函数内部实现也是类似

构建以Camera位置的笛卡尔坐标系,上面是计算材质信息位置距相机位置的相对位置

就转化成这张图一样了

做点乘就是算这个位置距离X、Y、Z分别的投影值时多少,再乘以轴的单位向量,清除掉其余轴不必要的数值,然后将X和Y轴相加,就拿到对应XY轴的数值

然后做深度,Z轴绘制,同样再把分辨率给到XY,将XY投影到屏幕分辨率的大小

这里再将Camera的坐标系转化成UV坐标系

这个是Camera的坐标系

这个是UV的坐标系

首先为什么乘以0.5?

因为透视投影,会将场景内的物体压缩到-1到1的范围,而UV的取值范围在0~1,所以先乘以0.5,再平移到UV的坐标系上

为什么乘以Y是负的0.5?

因为相机的坐标系的Y轴和UV坐标系的Y轴方向相反,所以要乘以负号

文章来源:https://blog.csdn.net/qqQQqsadfj/article/details/134875535
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。