计算机图形学 读书笔记(三) 光线跟踪 Ray Tracing

写个读书笔记,一来作为字典以后可以查,二来记录自己的理解。

并没有对每个知识点的详细解释,大部分只有主观的定性的解释。


光线跟踪的意义: 

在现实世界里,一个光源发出的光 照射到一个点之后,这个点漫反射出去的光是在一个半球状范围内的。如果我们模拟现实世界中光的传播,难道要计算出每个光源对每个点,发射到所有方向的光吗?   当然不可能。

我们只需要模拟到我们眼里的光就行了。 对于计算机,只需要模拟到一个像素的颜色是由哪些光发射过来形成的行了。

所以光线跟踪就是从 一个像素 发射的射线 在与物体 相交后的 沿着光的来的方向 反向求得 传播过程, 是由光源漫反射来吗?还是折射来的吗?还是在阴影里?


光线求交Ray intersection :

为了计算光路,先得判断交点在哪儿,由于渲染计算量庞大,特地研究了好多简化求交的方法简化计算。

这一节基本上就只讲了求交,  应该是求了交,其他的就是光照模型,BRDF的事情了吧。光线跟踪的主要工作就是求交,算折射角?

求交可以这么分类:

Plane intersection
Triangle intersection
Polygon intersection
Sphere intersection

Box intersection

光线跟踪的实现


光线跟踪帮助完成了 反射,折射,阴影,texture

反射折射不用说,本身就和光线的走向相关。

阴影和texture后面会专门有一节来描述。

还有需要考虑的问题:

  • 加速计算
  • 相切问题



Ray Tracing is full of dirty tricks





  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
For those that do not know me: My name is Jacco Bikker, also known as 'Phantom'. I work as '3D tech guy' at Overloaded, a company that develops and distributes games for mobile phones. I specialize at 3D Symbian games, which require highly optimized fixed-point, non-HW-accelerated 3D engines, crammed into 250Kb installers. So basically I'm having fun. As software rendering used to be my spare time activity, I was looking for something else. I tried some AI, which was great fun, and recently I dove into a huge pile of research papers on raytracing and related topics; such as global illumination, image based lighting, photon maps and so on. One document especially grabbed my attention. It's titled: "State-of-the-Art in Interactive Ray Tracing", and was written by Wald & Slusallek. I highly recommend this paper. Basically, it summarizes recent efforts to improve the speed of raytracing, and adds a couple of tricks too. But it starts with a list of benefits of raytracing over rasterization-based algorithms. And one of those benefits is that when you go to extremes, raytracing is actually faster than rasterizing. And they prove it: Imagine a huge scene, consisting of, say, 50 million triangles. Toss it at a recent GeForce with enough memory to store all those triangles, and write down the frame rate. It will be in the vicinity of 2-5. If it isn't, double the triangle count. Now, raytrace the same scene. These guys report 8 frames per second on a dual PIII/800. Make that a quad PIII/800 and the speed doubles. Raytracing scales linearly with processing power, but only logarithmically with scene complexity. Now that I got your attention, I would like to move on to the intended contents of this crash course in raytracing.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值