CORONA 渲染器学习笔记之十:原理

【前言】

        CORONA渲染器使用路径追踪来渲染图像。什么是路径追踪呢?路径追踪是一种渲染算法,它通过跟踪来自摄像机的独立光路来计算最终图像。

        本来我想洋洋洒洒写一篇通俗易懂的文章,后来,我在网上看到了一位从事动画电影特效工作的网友,他写的一篇关于路径追踪文章,内容非常好。我感觉那就是我想写的文章,这使我无法动笔了。所以,特意去掉的C++语言部分,部分转载给大家。

【转载】

转载地址:http://ymuhua.com

       光线追踪的渲染技术已经被大量运用到现在的电影产业中,我们身边也出现了大量光线追踪的渲染器,Arnorld,Vray,Houdini的mantra,Maxwell、Corona等等。它出现的目的也是为了追求更真实的物理效果。

光线追踪技术的光线是摄像机发出的,最后追踪到光源结束。

        光线追踪算法中,一个物体要被观察者(camera)看到要具备两个因素。其一,就是要有光,物体不被光照到我们是看不到,其二,就是当然要有物体,光被物体反射入观察者眼中才能被看到。所以,光线追踪算法就是计算光线和物体交互,碰撞检测的算法。

         光线追踪算法分为两种:正向追踪算法和反向追踪算法。其中,正向追踪算法是大自然的光线追踪方式,即由光源发出的光经环境景物间的多次反射、透射后投射到景物表面,最终进入人眼。

        反向追踪算法正好相反,它是从观察者的角度出发,只追踪那些观察者所能看见的表面投射光。就目前而言,所有3D制作软件的光线追踪算法都是采用反向追踪法,原因是这种算法能够最大程度地节省计算机的系统资源,而且不会导致渲染质量的下降。

        为什么反向追踪快呢?我们玩走迷宫,是正走快,还是反走快?

        反向追踪法就是从观察者开始向场景中射出光线,当光射出后打到物体上后,我们再从那个被击中的点所在表面在射出光线(我们假设称作阴影光线或光源光线)。如果这光源光线被射出后遇到了场景中的光源。那么我们就能看到这个物体,又或者这光源光线又打到了另外一个物体上 ,那么我们看到的这个物体就在阴影中。

        接下来我们来介绍栅格化(Rasterization)。就是将图转化为一个个栅格组成的图象

        为什么要栅格化,因为我们知道我们的电脑屏幕是由像素点组成。目前主流的像素已经1920*1080。也就是说,我们的屏幕横向有1920个像素,然后丛向有1080个像素点。

我们在渲染设置中,设置图像大小就是这个。

        所以,我们要将三维的模型投射到屏幕上面,然后将每个像素点填充上一个相对硬的颜色,就好比一个圆是由多个网格组成。当然了,网格细分越高,显示精度也越好。

        光线追踪的灵魂所在就在于光线。所以,我们基于屏幕的每个像素点射出去一个光线。如果射出去的光线碰到了障碍物(模型),我们就能将这个像素点填充上相应障碍物的信息(根据灯光,物体材质)。如果什么都没碰到,那么相对因的像素就什么都不显示(背景颜色)。

        现在我们知道了,每个像素到底看到了什么。然后我们通过重复的遍历屏幕上的每个点,那么一个球就出现在屏幕上了。是不是很好理解?

好了,下面我用为代码来简单介绍一下一个简单的渲染器的工作流程。省略........

       影响一个像素点颜色由三个通道来表示,R(红),G(绿),B(蓝)也就是这三个通道来表示,我们知道通过这三个颜色组合,我们可以得到所有的颜色。比如红色+蓝色=紫色。

       我们现在定义每个颜色通道为8位,也就是2^8。他表示范围为0-255。0表示最小值,255表示最大值。所以

黑色:0,0,0

红色:255,0,0

绿色:0,255,0

蓝色:0,0,255

白色:255,255,255

那么问题来了,如何来决定某个像素的值呢:

      它由多个因素来决定的。请看下图:

       我们简单来分析: 首先一束光射出去,我们打到一个物体上,

        如果打到一个物体向光面上,那么我们会根据物体的材质(物体本体颜色,对光的漫反射,对其他物体的反射)来计算像素点材质。

       如果打到一个背光面上,那么这就是阴影。

       如果什么都没打到那么,那么他就是个背景颜色。

        毕竟在光线追踪影响物体颜色的因素太多了,因为光线是在空间中不停的反弹。有直接反射,间接反射,理论上来说如果计算时间足够长,那么得到的结果就无限接近真实效果,但是时间和效果往往是矛盾的,我们如何在有限的时间中得到尽量真实的效果就是我们之后要做的。

【后记】

       看完这篇图文并茂的文章,你是否明白CORONA渲染器的光线追踪是怎么回事了吧?再次感谢作者的好文章。喜欢的朋友可以到该作者的网站上去看他更多的文章。

转载地址:http://ymuhua.com/2016/01/04/introraytracing/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容

  • Problem Formulation Ray Tracing的目标是生成一张包含场景内物体,具有真实感的图像,因...
    Manster阅读 8,863评论 4 8
  • 散射是一种非常美丽的自然现象,在自然界中光穿过潮湿或者含有杂质的介质时产生散射,散射的光线进入人眼,让这些介质看起...
    FOXhunt阅读 5,994评论 0 8
  • 我是从2016年《通往财富自由之路》专栏开设伊始就在得到app上进行了订阅,到现在已经半年有余,但除了偶尔留...
    昕夕逐浪阅读 256评论 0 0
  • 我们是城市的候鸟 一年迁徙两次 一次秋天 一次春天 我们是城市的候鸟 从南到北 听见这个城市落雨 也看过那个城市...
    九渡阅读 274评论 0 0
  • 新浪微博,在2014年初就已更名为“微博”,想彰显出一家独大的气场,但还是依然犹如一潭沉寂的死水。 有某个人多次的...
    包包没有a梦阅读 1,064评论 0 5