• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Raytrace world

            Chaos 的光線跟蹤世界

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              4 隨筆 :: 0 文章 :: 63 評論 :: 0 Trackbacks
             
            一個(gè)支持 RIB 和 RSL 的高速 raytracer,高速得可以近實(shí)時(shí)進(jìn)行光線跟蹤。
             

            大圖
             
             
            經(jīng)過了一年多的斷斷續(xù)續(xù)的開發(fā),BloomingQuad 終于已經(jīng)成型了,并能向一些實(shí)際應(yīng)用性工作邁進(jìn),比如 Ambient Occlusion ,或者 RSL Shader。

            其實(shí)我已經(jīng)寫瘋了,所以現(xiàn)在我似乎都不知道應(yīng)該寫什么來介紹它好。

            然而,我剛剛畢業(yè)了,離開了舒服的學(xué)校,接下來必須面對吃飯問題。

            所以、開門見山,我現(xiàn)在發(fā)布的 BloomingQuad 其實(shí)并不完善(應(yīng)該說相當(dāng)不完善),我 90% 是為了找工作才發(fā)布的,又或者說,希望能找到懂得它的作用和意義的合作伙伴。

            很多人說我不切實(shí)際、又說我開發(fā)些沒有 P 用的東西,也有很多人不屑,我不在乎,因?yàn)橹灰@個(gè)世界上依然有一個(gè)人懂得下面這些東西是什么,那就已經(jīng)足夠了。當(dāng)然,還希望那個(gè)人能支持我繼續(xù)做下去。
             

             
            大圖
             
            Ambient Occlusion 演示。
             

             
            把它作為商業(yè)用渲染器,在國內(nèi)唯一有用武之地的就是為專業(yè)工作室定制特殊的渲染效果,又或是一些需要用到更開放的渲染技術(shù)的高端項(xiàng)目。簡而言之、就是作為 In house Renderer.

            但也必須先講明白,開發(fā)和維護(hù)這么一個(gè)東西,是極其不容易的,在目前來說投入與產(chǎn)出可能不成正比,它的價(jià)值,必須在一段時(shí)間的積累后才能看到。 Pixar 開發(fā)的 PRMan 也不是一年半載就能為它渲染電影的,80 年的項(xiàng)目,到了 95 年才渲染出第一部動(dòng)畫電影。

            盡管這是一場持久戰(zhàn),但若我們真想達(dá)到 Pixar 的高度,一味地研究別人開發(fā)出來的軟件和技術(shù)是徒勞的,鼻子將永遠(yuǎn)被別人牽著走。

            那么除了開發(fā)一個(gè) PRMan 的替代品外,我也自認(rèn)通過這個(gè)渲染器的開發(fā),我已經(jīng)對整個(gè) RenderMan 體系有非常深入的了解,甚至對各種渲染器的工作體系和結(jié)構(gòu)有了很深刻的認(rèn)識。不僅僅是 RenderMan ,MentalRay 的 MI 架構(gòu)也是我的重點(diǎn)研究部分,BloomingQuad 的前幾版所使用的 Scene Description 就是類 MI 的節(jié)點(diǎn)式結(jié)構(gòu)。

            不過后來我覺得 RenderMan 比 MentalRay 要流行得多,而直接使用 RIB 會(huì)更劃算,于是我開始把整個(gè)結(jié)構(gòu)體系進(jìn)行重寫,以 RI Spec 3.3 為標(biāo)準(zhǔn),力求可以完全符合 RI Spec 3.3 ,希望能渲染出和 PRMan (在輪廓和基本要素上)一致的圖像。

            當(dāng)然這是非常艱難而痛苦的,特別是一個(gè)人、只能利用課余時(shí)間編寫。
             
            為了達(dá)到能在實(shí)際渲染中使用,我把整個(gè)渲染器都使用了 SSE/SSE2 指令優(yōu)化,尤其是 Raytrace 核心部分,全部用匯編寫成,速度“可以說”非常快,能達(dá)到(某一測試場景)1800 萬次/秒,約是 Pixie 的 2 倍。

            而最后,為了找到商業(yè)使用的機(jī)會(huì),我修改了一下內(nèi)核,使它能實(shí)現(xiàn)簡單的 Realtime Raytrace,以直觀的方法表現(xiàn)它到底有多快。
             

             
            大圖
             
             Realtime ~ 這個(gè)場景比較少面,所以也能達(dá)到 7 fps 左右,320 X 240
             

             
            大圖
             
            400 X 300 的 realtime 演示,我絕對不會(huì)使用 Sphere、Box 這些直接簡化了 Intersection 的東西來自欺欺人,所有演示的物體都是 General 多邊形。

             
            大圖

             

            支持 RSL 的編譯與執(zhí)行、上面的三個(gè)物體都分別使用了編寫的 Shader ,盒子用了 Slim 生成的 Worley ,平面用了 step( x , mod() ) 形式的 Grid ,球體利用 s 坐標(biāo)混合了 Thead 和 Spline ( Noise( P ) )。

             

            另外我也終于完成了持久的“抗戰(zhàn)”,寫出了一個(gè) RenderMan Shading Language 編譯器與執(zhí)行虛擬機(jī)。這個(gè)編譯器符合 RI Spec 3.3 標(biāo)準(zhǔn),能成功編譯出 Slim 生成的各種 Shader ,而且支持 Constant Folding、Instruction Replacement、Dead Code Elimination 等優(yōu)化。但目前它的光照部分(包括 Illumination 和 Illuminate 、Solar、Ambience)都在測試中,Gather 正在編寫,而 Occlusion 和 Indirect Diffuse 只能靠命令行激活。


            大圖


             

            相信有更多人(可能一共才只有幾個(gè)吧)會(huì)關(guān)心它到底怎么在 Max、Maya 、XSI 中使用,其實(shí)很簡單,RIB 非常流行,幾乎所有的大型軟件上都有導(dǎo)出 RIB 文件的軟件,MAX 有 maxman,Maya 有 RAT、mayaman、liquid,XSI 有 rib 插件,LW 有 Lightman,Houdini 本身直接支持,所以根本不需要擔(dān)心、所有的大型軟件都能和 BloomingQuad 進(jìn)行溝通。

            而且我能保證 MTOR 從 Maya 里導(dǎo)出的東西能大部分正確渲染。

            大部分是指哪些部分呢?其實(shí)目前僅僅是指多邊形而已,而且最好是三角片面的多邊形,又或者保證“合法”的多邊形,若有重邊或者法線有問題,都不能渲染。

            上面測試用的兩個(gè)人頭模型,都是我自己在 Maya 里做的,然后用 MTOR 導(dǎo)出來渲染的,可以看看它到底渲染出來的結(jié)果準(zhǔn)確不準(zhǔn)確。

            如果你想直接在 Maya 里渲染 —— No problem ,在 RAT 里設(shè)置一下就 OK 了。

             


            大圖

             

            也可以在 Maya 里啟動(dòng)實(shí)時(shí) raytrace ~  

             


             

            說實(shí)在,這個(gè) Realtime Raytrace 不太 Realtime,當(dāng)然,我只是修改了一下 Render Loop 就拿出來了,里面的模型結(jié)構(gòu)、Shading 體系,都是按照軟渲染設(shè)計(jì)的,和普通軟渲染共用同一個(gè)結(jié)構(gòu),沒有作任何的實(shí)時(shí)渲染優(yōu)化,所以能跑出這個(gè) fps ,我自己就覺得已經(jīng) OK 了。

            為了要說明它是 Realtime 的,我還設(shè)計(jì)了幾個(gè)按鍵,i k l j , . 這六個(gè),可以移動(dòng)鏡頭,很簡陋的功能而已,當(dāng)然可以做得更復(fù)雜一些,但我目前只是演示一下我能做到什么地步,而怎么再精益求精則是在我解決了工作問題之后再想的事情了。

            那么基本上都講得 7788 了,開發(fā)過程還有很多有趣的東西,不過這只是很少數(shù)比較關(guān)心開發(fā)的人想要知道的。

             
            其實(shí)這個(gè)所謂“渲染器”所能做到的還很有限,畢竟我只有一雙手、一個(gè)腦袋,但我所希望的是能通過它讓更多人看到,到底我們的開發(fā)能夠做到些什么出來。
             
            并不是說,別人的軟件、所實(shí)現(xiàn)的功能,我們就一定絕對無法趕得上,這個(gè)說法是完全錯(cuò)誤的。
             
            問題在于,一直以來我們從來沒有怎么在這上面投入過,大部分人都在觀望,還有的在冷嘲熱諷。
             
            對,可能還沒有這個(gè)市場、可能技術(shù)還不成熟,但必須有人去嘗試,必須有人出來承擔(dān)這個(gè)責(zé)任。
             
            上面那些效果,在大部分人用商業(yè)渲染器看來,很幼稚。不過這僅僅是一個(gè)開始,我用一年時(shí)間做到了一個(gè)開始。
             
            或許我最后還是要被迫放棄 CG 的工作,放棄我喜歡的開發(fā),放棄我要超越 PRMan 的夢,但發(fā)這個(gè)帖子,除了為我自己找一個(gè)機(jī)會(huì)以外,更多的是希望大家在建模的時(shí)候、在 Rig 的時(shí)候、在 Surfacing 的時(shí)候、在 Key 動(dòng)作的時(shí)候、在等待渲染的時(shí)候,能多想一想、什么時(shí)候我們能用我們自己的 CG 軟件去做這些事情。

              


             

            下載:

            rar 包 1 2 

             


            兩個(gè)文件解壓到任何一個(gè)文件夾都可以,如果想要在 Maya 里調(diào)用,就必須放到 RAT 能找到的目錄里,比如任何一個(gè)在 PATH 里的目錄。
             
            注意!必須是支持 SSE2 指令集的機(jī)器(即 P4、PM、A64)才可以運(yùn)行。
             
            在命令行里輸入:
             
            bqrd -rt occlusion.rib                             
             
            即可進(jìn)入 Realtime 測試。
             
            bqrd -oc 32 king-triangle.rib                  
             
            測試渲染 Ambient Occlusion,其中 -oc X 是指定采樣的數(shù)目。
             
            而 rscl 是 RSL 的編譯器,懂 RenderMan  的朋友可以試一下自己寫 Shader 給 rscl 編譯,.shader 的文件是已經(jīng)編譯好了的 Shader。
             
            注意!illuminance、illuminate、gather 等 statement 目前仍不支持,所有的 Derivative 都有限度支持(不支持 Du() 與 Dv() ,dPdu 與 dPdv 的結(jié)果只能作為切線方向)。
             
            其它都合符 RenderMan Interface Specification 3.3 。

             


            p.s.

             
            渲染完成后可以按 's' 快捷鍵把渲染結(jié)果儲(chǔ)存成 TIFF 格式的圖片。
             
            渲染窗口中按 F1 可以看到其它快捷鍵表,可以顯示獨(dú)立通道、或者混合顯示 alpha 等等。
             
            posted on 2005-10-21 21:29 Chaos Chiao 閱讀(5566) 評論(23)  編輯 收藏 引用 所屬分類: Blooming Quad

            評論

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2005-10-21 23:11 Javen-Studio 咖啡小屋軟件工作室
            強(qiáng)烈支持你!其實(shí)我也想考慮做類似的事,比如寫個(gè)游戲引擎
              回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2005-10-22 21:29 地獄門神
            我也想做一個(gè)這樣的東西,以后我肯定會(huì)考相關(guān)專業(yè)的,在這里支持你一下。  回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2005-11-01 09:00 IMC
            很佩服你的執(zhí)著!  回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2005-11-10 18:32 JOHN
            很佩服你的精神!
            在下有些慚愧呢, 但我會(huì)努力開發(fā)的。
              回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2006-02-23 05:00 maxman
            不得不支持,路過,華人需要你!  回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2006-04-01 14:40 啊啊阿
            我是菜鳥,這是用什么語言開發(fā)的?需要什么條件呀?  回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2006-04-01 14:43 啊啊阿
            下載的文件不能解壓?為什么?  回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2006-04-01 22:51 dkink
            佩服你~~~

            雖然 我看計(jì)算機(jī) 圖形學(xué) 頭暈~  回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2006-04-14 09:57 penny1
            作為美術(shù)不得不強(qiáng)烈的支持你們!!  回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2006-04-14 13:04 NDD
            我有一個(gè)問題 你如何使用sse的? 你是把基本的數(shù)據(jù)結(jié)構(gòu)都弄成了m128
            還是在不斷進(jìn)行轉(zhuǎn)換?

            每次發(fā)射sse的時(shí)候
            是一次發(fā)射4個(gè)光線
            還是同時(shí)計(jì)算一個(gè)光線的3(或者4)個(gè)分量

            或者二個(gè)都用到了?


              回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2006-04-14 13:12 NDD
            對了 如果需要在北京找工作的話,可以聯(lián)系MS RA
            他們需要游戲圖形方面的人,我有一個(gè)同學(xué)才在那里做實(shí)習(xí)的

            另外上海ubisoft不要去的好,最近那里管理層有點(diǎn)據(jù)說有點(diǎn)動(dòng)亂...
              回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2006-04-26 11:49 margee
            還少一個(gè)97004178.rar文件啊  回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2006-05-10 23:48 hpj
            做得不錯(cuò),我最近也在研究光線跟蹤方面的工作。不知你有發(fā)文章了沒,可以拜讀一下嗎  回復(fù)  更多評論
              

            # 很吸引人,作為美術(shù)的我也支持你 2006-06-10 17:30 catman
            很吸引人,作為美術(shù)的我也支持你,  回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2006-06-10 17:42 catman
            對了如果需要游戲角色模型我可以提供,  回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2006-06-24 23:44 啊嵩
            你是我的榜樣。。
            我會(huì)繼續(xù)努力學(xué)習(xí)。!!
              回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2006-09-15 14:42 有名
            為什么不把這個(gè)東西移植到Cell 芯片上,實(shí)現(xiàn)真正的實(shí)時(shí)光線追蹤呢,現(xiàn)在這方面挺火爆的,你可以現(xiàn)在模擬器上做,反正現(xiàn)在PS3已經(jīng)發(fā)售。

            這種東西在醫(yī)學(xué)成像,交互式3D游戲,工業(yè)造型上都有不錯(cuò)的前途。  回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2006-09-15 17:23 子彈
            強(qiáng)  回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2007-09-12 23:01 路過
            定  回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2011-09-15 12:24 ClareSkinner
            People in every country take the <a href="http://bestfinance-blog.com/topics/mortgage-loans">mortgage loans</a> from different creditors, because it is easy.   回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2011-09-30 13:31 dissertation
            This is good that you do a king of best selling knowledge related to this good post. Hence we guess that it could be good when some students buy the thesis title and thesis writing from you.   回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2011-09-30 13:57 essay writing services
            Hello, a good enough data I can see at this page. That’s very nice that not only the essay writing service can compose the essays for sale.   回復(fù)  更多評論
              

            # re: About Blooming Quad,我的準(zhǔn)實(shí)時(shí)光線跟蹤渲染引擎 2011-09-30 16:15 深圳市深城裝修
            笫二節(jié) 屋面裝飾 2011-9-27

            深圳市深城別墅裝修公司:

            建筑的屋面隨著時(shí)代發(fā)展,對屋面的要求越來越高,不單單為防水隔熱的要求.

            從俯視的角度,已被稱為建筑笫五立面,它的裝飾功能目益增強(qiáng),現(xiàn)在從全國實(shí)施屋頂?shù)?quot;平改坡"和綠化屋面的情況更證實(shí)了這一點(diǎn).

            本書新版中將此列人裝飾部分.

            屋面分類:按形式劃分,可分為平屋面,斜坡屋面:按保溫隔熱功能劃分,可分為保溫隔熱和非保溫隔熱屋面:按防水層位置劃分,

            可分為正置式屋面和倒置式屋面:按屋面使用功能劃分,可分為非上人屋面'上人屋面,綠化種植屋面,蓄水屋面,停車,停機(jī)屋面,運(yùn)動(dòng)場所屋面等:按采用的防水材料劃分,

            可分為卷材防水屋面別墅裝修,涂膜防水屋面,瓦屋面,金屬板材屋面裝修的地方,剛性混凝土防水屋面等.

            按屋面形甙類如下:深圳市深城裝修公司  回復(fù)  更多評論
              


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            亚洲国产欧洲综合997久久| 国产精品久久免费| 久久精品国产一区| 国内精品久久九九国产精品| 国产午夜福利精品久久2021| 久久青青草原亚洲av无码app | 久久se精品一区二区影院| 久久99精品久久久久久久久久| 99精品久久精品一区二区| 99久久精品免费看国产一区二区三区 | 国产精品久久免费| 久久国产精品一区二区| 亚洲国产精品人久久| 99久久无码一区人妻| 久久精品亚洲欧美日韩久久| 久久中文字幕视频、最近更新| 日韩人妻无码一区二区三区久久99| 亚洲人成电影网站久久| 国产美女亚洲精品久久久综合| 精品一二三区久久aaa片| 无码人妻久久一区二区三区免费| 精品蜜臀久久久久99网站| 66精品综合久久久久久久| 性做久久久久久久久老女人| 久久综合噜噜激激的五月天| 99精品久久久久久久婷婷| 日韩欧美亚洲综合久久影院Ds| 亚洲精品乱码久久久久久自慰| 99久久精品费精品国产一区二区| 精品久久久久久国产三级| 亚洲精品午夜国产VA久久成人| 久久最近最新中文字幕大全| 久久亚洲天堂| 91精品国产高清久久久久久io| 久久久久久国产精品免费免费| 人妻少妇久久中文字幕一区二区| 成人精品一区二区久久久| 久久精品国产99国产精品导航| 国产精品亚洲综合专区片高清久久久| 久久亚洲日韩看片无码| 久久精品二区|