渲染时场景变化平面始终朝向屏幕的操作方法

5 篇文章 0 订阅
2 篇文章 0 订阅

渲染时场景变化平面始终朝向屏幕的操作方法


渲染过程中在实现一些贴图或者字符时希望当场景中相机视角发生变化或者物体发生位置变化时,贴图或者字符始终正面朝向屏幕即平面的法线需要始终朝向屏幕,这个问题有两种解决方法

方法一:法向量旋转

需要让平面的法线转向相机和平面中点的方向向量方向如图:
在这里插入图片描述
对于复杂的相机物体位置变化显然该方法不是很友好,而且对于多个平面模型使用该方法来管理场景逻辑也会变得复杂,因此我们来看看方法二

方法二:Z值计算

方法二主要是将顶点着色器的计算拿到CPU中来操作,假设我们知道了平面的中心点坐标,坐标值可以根据相机视角变化和模型位置变化而改变,我们将中心坐标变化到屏幕空间中,然后计算出对应的顶点的坐标,且知道了该平面的大小,那我们可以计算出平面(两个三角形)的顶点坐标值x,y,z值,且z值即为该点的深度,我们构建成三角形,直接将坐标点传递给平面的顶点着色器,然后经过像素着色器之后就能够实现平面模型的渲染,这时候你就会发现贴图或者文字会始终朝向屏幕。
在这里插入图片描述

另外注意一点,如果需要绘制透明的部分,需要关闭深度测试,然后开启透明混合,等渲染完后再关闭透明混合,开启深度测试,这样做的话深度信息不会错,因为在计算Z值的时候我们就已经计算好深度值了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LV小猪精

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值