计算机图形学----光线追踪(Ray Tracing)

1.为什么使用光线追踪

    a.光栅化局限:(以下三点)
    	软阴影:现实世界中阴影分界线是渐变的

在这里插入图片描述
glossy反射:带有镜面或者高光的反射
在这里插入图片描述
间接光照:光线只从窗户进来,但是整个屋子被照亮
在这里插入图片描述

2.光线追踪的问题

	a.光线追踪常常用于离线渲染(追求质量)
	b.渲染一帧需要花费  1000 CPU 小时(下图)

在这里插入图片描述

3.如何定义光线

	 光线定义假设:
	 1.光线沿着直线传播(实际上不正确)
	 2.光线不会互相碰撞(实际上不正确)
	 3.光线在场景中传播,最终进入人的眼睛(实际上不正确)
	 4.光路可逆

4.光线投射

	1.处理场景中的每一个像素,也就是每一个点
	2.从眼睛的方向到该点连线,判断该点是否也能够和光源连线,如果可以,则该点不在阴影里。从光源到眼睛,有一条光路,便可以计算该点的着色。	

在这里插入图片描述
每一个像素,从眼睛到该像素点发出的光线,和场景中物体相交,交点和光源连线,如果没有遮挡,则将该点的颜色写入像素中。
在这里插入图片描述

Whitted-Style 光线追踪 (1980年)

递归算法:
1.光线可以无限传播(反射,折射,继续弹射)
2.如果能够找到可逆的光路,则叠加像素颜色
在这里插入图片描述

技术问题一:光线和物体表面的交点

光线数学定义:
o为光源的原点
d为光线的方向
t为时间

在这里插入图片描述
光线和球体相交
在这里插入图片描述
光线和隐式表面的交点:
![在这里插入图片描述](https://img-blog.csdnimg.cn/a2d4759a03d240b8a16d92f632c40ffd.png?x-oss-process=image/watermar
光线和三角形求交(划重点):
1.光线和平面求交点
2.交点是否在三角形内
平面的定义:
1.定义一个法向量
2.定义一个点,平面上任何点和该点的的向量乘以平面法向量结果为0
在这里插入图片描述
光线和平面相交
在这里插入图片描述
MT算法,计算光线和三角形相交
1.t大于0
2.b1,b2,b3 都是非负的

原理来自三角形重心坐标理论:参考文章
https://zhuanlan.zhihu.com/p/65495373

在这里插入图片描述
致谢:
截图和公式来源闫令琪老师games101课程 Ray Tracing 1
https://www.bilibili.com/video/BV1X7411F744?p=13
感谢闫令琪老师为我们带来这么精彩的图形学课程

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值