学习Scratchapixel--(5)可视性问题

可视性问题

光线追踪需要消耗更多的内存和时间,但是相比栅格化的模拟效果更好,而在如今计算机硬件发展后,几乎所有非实时渲染器都采用光线追踪技术,或者采用混合技术.


如何用栅格化解决可视性问题:如何做到?

从屏幕空间转换到标准化设备坐标空间-NDC(normalized device Coordinates),再转换到栅格化坐标.

  • 所有的点最初定义的坐标系是屏幕空间(screen space),由位于画布中心的原点定义.坐标系所有的轴都是单位长度的,因此坐标可能为负数——如果该点位于画布左侧.
  • 栅格空间(raster space)是用像素网格来定义坐标系的。其坐标原点位于左上角,其一个像素点为一个单位长度,所以其实际画布大小由图片的宽高决定。
    转换方法如下:
    1. 由于在栅格空间的坐标都为正数,所以需要先把P点的原始坐标标准化。即将它们的坐标转换为0-1范围内,这时候我们称它们转换到了NDC空间中,这样再转换到栅格空间就很简单了。
    2. 当转换到NDC空间后,将标准化后的坐标乘以图像的大小,并将结果取整。
      原始坐标中P点的范围取决于屏幕空间中画布的大小,但是为了简便,我们假设画布的大小为[-1,1],下面是伪代码
int width = 64, height = 64; // dime
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值