做电影渲染和做游戏渲染的区别是什么?
做电影其实是一个追求质量的过程,做电影一帧可以渲染1个小时、2个小时。但做游戏,或者说做VR内容开发,我们需要的是效率,一帧较多是十几毫秒。如果你**过20毫秒,那这一帧基本上完蛋。所以说,电影上的一帧可以一直渲染下去,直到它收敛为止。
那么,渲染在图形学里面其实就是一个不停采样的过程。
而抗锯齿根本的来源就是,一个渲染的图像,渲染器,它缺少信息,大家如果是工科或理工科出身的,就知道“奈奎斯特采样定理”。
我的采样频率要**我较i高频率的两倍,我就能完整地恢复出我需要的信息。
在渲染这个领域其实也是一样。
打个比方说,我们大家都知道,较简单的抗锯齿的方法是什么?你渲染一张2k的大图,把它缩小到1k,那这张图肯定锯齿非常少。
为什么?因为这相当于我们对1k的图的每一个像素做了四次采样。但是实际上,你真的去渲染一个2k的大图,那么VR有2k我可能就要去渲染4k,你这样去抗锯齿显然是不行的。
后来就有聪明人说,游戏较i大的特点是连续性,那如果我能够找到每帧之间相同的像素,那我就能在时域,也就是说很多帧之间去做个采样。
是实时渲染
渲染技术不同
如果是电影动画CG,那通常是CPU负责,一帧一帧的渲。一张图要很长时间。当然,渲染,你得到的图在光感、质感等各方面都是非常优秀的。因为一般这样的渲染是基于计算机对光的模拟运算,渲染效果图,实打实算出来的。比较费事。
3D游戏里的场景也会有光,然而和CPU渲染有本质区别。首先3D游戏里的光运算依靠的是GPU,也就是你的显卡完成。通常情况下,游戏引擎不会像渲染器一样去追i踪光线多次的反弹。
一道光照射到物体上,实时渲染,光再反弹到其他地方,在其他地方继续反弹。是一个非常复杂且几乎是无限次的运算过程。
游戏引擎较终光反弹的次数很少。所以你可以看到游戏里的场景光影细节是严重不足的(相比CPU渲染),至少目前还无法做到很好。而且游戏里的很多技术,是为了方便游戏能在稳定帧数下运行的。所以有些效果,并非光运算。而是用一些更快的方式去模拟光感,甚至直接使用一些已经预渲染之后的贴图,使得场景看上去像那么回事就可以了。