• <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>

            Heath's Blog

            There is no end, it is just the beginning! - A Game Developer's Notes

            PBRT 2.0

            最近PBRT的官網(wǎng)放出這樣一段news:

            "We're having a contest to render the cover image for the second edition of the pbrt book---the best image rendered with pbrt submitted by December 1 will be featured as the image on the cover of the book. (See the full contest rules for more information.) We are also looking for excellent rendered images to help show off concepts like depth of field, indirect lighting, caustics, subsurface scattering, etc. Contact authors at pbrt dot org if you have an image you'd like to submit for these purposes."

            看樣子在為PBRT第二版征集封面圖片。但在book發(fā)布之前,作者老早就把source code放出來了,這次直接從1.04飆升到2.0。網(wǎng)上很多人評價說學(xué)習(xí)PBRT,首先編譯代碼的門檻就很高,確實也是這樣的。抱著看看2.0在這方面有無改進(jìn)的想法,下載了source code,這次直接是vs 2008的solution了。但依舊需要bison和flex,無妨,直接使用for windows的版本(在Win7下也能工作)。從1.04開始就不再包含openexr,2.0也不例外,但新版比老版本的代碼及二進(jìn)制部署更為合理,不再極端地為一個類產(chǎn)生一個dll了,而是很干凈地生成一個pbrt.exe。要編譯openexr(http://www.openexr.com/,最新版為1.6.1),需要ilmbase(http://www.openexr.com/,最新版為1.0.1)和zlib(www.zlib.net,最新版為1.2.3)。在編譯zlib時,根據(jù)微軟如下解釋:“It (Microsoft Macro Assembler 8.0, included with Visual C++ 2005 Express ) refuses to assemble a MOVD instruction with a memory operand with an implied size, and requires that "dword ptr" prefix the memory operand.”需要將編譯錯誤指令movd的源地址用dword ptr修飾。隨后編譯ilmbase和openexr,期間有一些手工調(diào)整的地方,很容易搞定。最終openexr的產(chǎn)出放置與..\..\..\..\..\..\Deploy下。然后在pbrt項目中指定include、lib,以及加入PBRT_HAS_OPENEXR和OPENEXR_DLL Preprocessor Definition(代碼缺省是tga而非exr作為紋理文件格式和輸出圖片格式,然而作者提供的scene卻使用exr,這顯然是個悲劇)。最后,干脆直接用bison和flex將ll和yy產(chǎn)生cpp了,然后把編譯時調(diào)用bison和flex代碼從.vcproj中剔除。
            最終用編譯產(chǎn)生的pbrt.exe渲染了幾幅,只有一幅成功了(簡直就是一個悲劇,后面慢慢查找原因)。看來2.0在代碼易編譯上,仍舊毫無改進(jìn)。
            聊以自慰,貼一張在本子上耗時126.4s的圖(CPU: P8700,MEM: DDR3 1066 4G):

            posted on 2009-11-03 00:54 Heath 閱讀(5092) 評論(18)  編輯 收藏 引用 所屬分類: Graphics Programming

            Feedback

            # re: PBRT 2.0 2009-12-20 00:52 slashspirit

            請問樓主何處可以找到pbrt2.0源碼?我在官網(wǎng)上沒有看到鏈接,是有其他途徑么?可以分享一下么?
            今晚剛用VS2008編譯了1.03 運行時會在WriteRGBAFile那里出異常...
            謝謝!  回復(fù)  更多評論   

            # re: PBRT 2.0[未登錄] 2009-12-28 12:28 Heath

            @slashspirithttp://github.com/mmp/pbrt-v2  回復(fù)  更多評論   

            # re: PBRT 2.0 2010-07-11 19:19 pbrt

            你好。我在官網(wǎng)下載的pbrt-v2的源碼的pbrtlex.ll沒有辦法編譯,不知道怎么回事,出現(xiàn)下面這樣的錯誤:
            error PRJ0019: 某個工具從以下位置返回了錯誤代碼: "Flexing core\pbrtlex.ll"
            但編譯pbrtparse.yy時一點問題都沒有。
            不知道你編譯時有沒有遇到這樣的問題。  回復(fù)  更多評論   

            # re: PBRT 2.0[未登錄] 2010-07-11 21:34 Heath

            @pbrt
            注意flex指定輸出文件的格式,-o后沒有空格,如:
            ..\bin\flex -ocore\pbrtlex.cpp core\pbrtlex.ll  回復(fù)  更多評論   

            # re: PBRT 2.0[未登錄] 2010-07-11 22:06 Heath

            我上傳了一份在googlecode上,支持vs2010和vs2008(pbrt.sln.old),有需要的同學(xué)自助:
            http://code.google.com/p/offline-renderer/downloads/list  回復(fù)  更多評論   

            # re: PBRT 2.0 2010-07-15 10:23 pbrt

            @Heath
            嗯,就是-o后面多個空格的問題,現(xiàn)在已經(jīng)解決了!多謝!沒有OpenEXR和ilmbase的編譯已經(jīng)完成了,加入它們兩個的還在解決中,要是有問題還要向你請教,呵呵~  回復(fù)  更多評論   

            # re: PBRT 2.0 2010-07-15 12:21 pbrt

            在VS2008下編譯正常,在VS2010中會出現(xiàn)很多錯誤,是為什么呢?
            在pbrt項目中指定include、lib,以及加入PBRT_HAS_OPENEXR和OPENEXR_DLL Preprocessor Definition,這些在哪里設(shè)置?
            呵呵,對VS2008、2010以及pbrt-v2都算是新手,很多不熟悉的。
            pbrt-v1時也挺麻煩的,不過到V2之后很多都不知道怎么設(shè)置了  回復(fù)  更多評論   

            # re: PBRT 2.0 2010-07-17 10:08 pbrt

            @pbrt
            已經(jīng)搞定了,呵呵,就是渲染時需要的時間變得比v1時長了不少,編譯smoke-2.pbrt用了170多秒,bunny.pbrt用了十來分鐘,渲染出來的效果也不太好~~  回復(fù)  更多評論   

            # re: PBRT 2.0 2010-08-04 17:10 fseraph

            原來你的blog換地方了,今天才發(fā)現(xiàn)  回復(fù)  更多評論   

            # re: PBRT 2.0 2010-09-10 23:40 CecileChandler

            Some time ago, I did need to buy a car for my corporation but I didn't earn enough cash and could not purchase something. Thank God my mother adviced to take the <a href="http://bestfinance-blog.com/topics/home-loans">home loans</a> at creditors. Thus, I did so and used to be satisfied with my short term loan.   回復(fù)  更多評論   

            # re: PBRT 2.0 2010-11-16 21:39 essay

            My practice with progressive custom term paper company has been rewarding. You have fill my own expectations and the customer term paper you offer is extremely accommodating to my needs.Thank You!  回復(fù)  更多評論   

            # re: PBRT 2.0 2012-07-01 23:10 written essay

            Are you looking for good paper writing service? Check our home page (qualityessay.com) and purchase essay writing from the expert agency.  回復(fù)  更多評論   

            # re: PBRT 2.0 2012-09-27 15:11 new comer

            我是新手,編譯出了pbrt.exe 用的是vs2010 pbrt2.0版本,可是怎么進(jìn)行渲染,望指教,詳細(xì)的,多謝  回復(fù)  更多評論   

            # re: PBRT 2.0[未登錄] 2012-10-11 22:47 Heath

            @new comer
            PBRT是命令行程序,使用pbrt --help可以看到usage。它以.pbrt文件(場景描述文件)為輸入,缺省輸出.exr,用imageview打開。另外,pbrt的示例場景可以到它的官網(wǎng)下載。  回復(fù)  更多評論   

            # re: PBRT 2.0 2012-10-13 18:53 new comer

            謝謝,已經(jīng)可以看到圖片了  回復(fù)  更多評論   

            婷婷久久综合九色综合九七| 国产精品乱码久久久久久软件 | 久久精品毛片免费观看| 九九久久自然熟的香蕉图片| 成人精品一区二区久久| 久久久黄色大片| 国产精品久久久久无码av| 久久精品国产亚洲7777| 亚洲精品乱码久久久久久蜜桃不卡| 国产精品久久自在自线观看| 久久精品视频91| 久久99精品国产99久久6男男| 88久久精品无码一区二区毛片 | 久久综合色老色| 国产精品久久久天天影视| 午夜福利91久久福利| www.久久热| 久久精品无码午夜福利理论片 | 国产无套内射久久久国产| 午夜久久久久久禁播电影| 久久综合九色综合久99| 久久综合综合久久狠狠狠97色88| 亚洲乱码日产精品a级毛片久久| 94久久国产乱子伦精品免费| 久久天堂AV综合合色蜜桃网| 怡红院日本一道日本久久| 亚洲精品乱码久久久久久蜜桃不卡 | 久久精品国产亚洲AV电影| 一本大道久久东京热无码AV| 9999国产精品欧美久久久久久 | 亚洲国产成人久久综合碰碰动漫3d| 中文字幕无码久久精品青草| 久久久国产精品| 久久久精品人妻无码专区不卡| 国产精品九九久久免费视频| 99久久99久久精品免费看蜜桃| 久久久久免费看成人影片| 久久国产乱子伦免费精品| 久久一日本道色综合久久| 精品久久人妻av中文字幕| 久久久久夜夜夜精品国产|