刘宏春:我们对实时Rendering这方面本身一直就十分感兴趣,参加这次比赛一个是为了看看自己现在到底对这一方面掌握到什么程度,另外是想借这个机会学习一些新东西。
因为这次的渲染比赛要求使用最新的Microsoft High Level Shading Language,并要求场景数据等要美观,这对我们来说是新的尝试和锻炼。对自己也是一次提高。同时我们在参赛时也有尽自己的力量为学校做点事的想法。
对于这个渲染比赛,我们最开始以为是一个就是做3d动画的比赛,后来又看到,这个渲染比赛和做3D动画是不同的,能不能给我们说说它们之间的区别
宁为:其实应该叫实时渲染比赛(Realtime Rendering)。首先说说实时渲染和3D动画的共同点,就是它们都是把矢量的3维数据通过图形学算法绘制到2维位图中,然后再显示这些位图。不同点就是普通的3D动画制作的渲染过程是通过渲染软件来完成的,它们利用CPU来计算生成2维位图,渲染每一帧图片都要花费较长的时间,对于一些复杂的效果和场景,一般渲染一帧都是以小时计算的。
在渲染完一帧2维图像后,把它以文件的形式保存起来,再经过视频压缩算法形成视频,或直接拷贝到胶片上。在播放时,直接以每秒25帧或30帧的速度播放这些已经渲好的图片。而实时渲染则要求每一帧的渲染时间都很短,在几十分之一秒之内,每当渲染完一张图片,立刻把它显示在屏幕上,同时计算和生成下一张图片。当下一张图片被渲染完成后,立刻显示在屏幕上并丢弃上一张图片。这种快节奏的工作单由CPU就不能胜任了,必须借助显示加速器(就是一般说的显卡)来完成。
可以说实时渲染就是普通3D动画渲染的“提速”版本,而且提得不是一点半点。我们可以算一下,假设普通3D渲染一帧画面需要1小时(3600秒,像玩具总动员,史瑞克等渲一帧比这时间还要长),而实时渲染需要每秒渲染60帧(这是一般的3维游戏能够容忍的标准帧数),每帧则只能在1/60秒之内完成渲染,两者相差216000倍,也就是说,实时渲染的速度一般要比做3D动画渲染时的帧数快20万倍以上。实时渲染的好处就是可以让用户可以与3维场景和角色进行交互。
通过3维计算机图形学算法,实时三位程序可以根据用户的输入来实时确定用户在3维场景中的视点和视线方向,以及角色的动作、效果等,而这些都不是预先设定的。这样就可以让用户在场景中任意的走,向任意方向看,控制场景中的角色等,说白了就像是游戏。
转载于:https://www.cnblogs.com/microsoftxiao/archive/2006/04/12/373149.html