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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!