• <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>
            隨筆-341  評論-2670  文章-0  trackbacks-0

                每年總有那么幾個星期不想寫編譯器,這個時候做做ray tracing就變成一件很美妙的事情了。因此這個星期重寫了當年那個超爛的光線追蹤,然后加上了貼圖的功能。當然圖是可以直接貼在物體上的,還支持了法線貼圖,譬如說下面做的地球在不同方向的光線的照射下顯得有立體效果:


                之所以FPS有16是因為我已經不再當年那個破thinkpad上渲染,而在一個i7四核超線程三通道的CPU上做了。渲染的時候為了簡單,把屏幕等分成了八行,然后創建八個線程分別綁定到八個CPU上面去(SetThreadAffinityMask),最后渲染完出來。當然比起那些專業的還是顯得相當慢,現在很多光線追蹤軟件都用了GPU來做,不過我GPU也沒用,SSE指令也沒用,就純粹C++寫。如今也懶得用C++做GUI了,所以把核心用C++做成了之后,export幾個函數出來,用C#的P/Invoke直接調用。C++渲染完以后給一個HBITMAP,C#拿過來就往窗口上畫,還是十分方便的哈。多語言開發萬歲。

                重寫了光線追蹤之后仍然把折射和反射給做了,因此可以做出個類似凸透鏡一樣的東西:


                需要提一下的是,做貼圖的時候實現了nearest、linear和bicubic三種插值方法。nearest基本上就是不插值,所以放大了之后會有馬賽克效果。linear是線性插值,如果放得太大還是能看出一點模糊的馬賽克。bicubic效果就好很多了,如果大家有興趣的話可以到這里去看。為了達到更好的效果,后面還有計劃做ray differential和各向異性過濾。ray differential之后就可以做photon mapping(一種比較高效的全局光照模型)了。做完photon mapping之后,無聊的心情大概就結束了,可以繼續寫編譯器了吧。

                嗯嗯,雖然ray differential和photon mapping還沒做,我就先把代碼丟上啦,不僅可以做備份,大家也能搞下來看一看。當然需要有Visual Studio 2010才能編譯的。選擇release編譯之后到release文件夾下去啟動,debug的話慢的不能忍。而且我的多線程模型是一個核(超線程的話算兩個)一個線程,那些古老的雙核CPU大概性能會很慘不忍賭吧……

             

            posted on 2011-01-08 23:54 陳梓瀚(vczh) 閱讀(6968) 評論(15)  編輯 收藏 引用 所屬分類: 3D

            評論:
            # re: 圖形學真是一個打發時間的好東西 2011-01-09 00:21 | 陳昱(CY)
            沙發,沒有折射反射的快接近實時了  回復  更多評論
              
            # re: 圖形學真是一個打發時間的好東西 2011-01-09 01:10 | flyliying
            F1 很流暢
            F2 就剩8fps了
            F3 F4 都是7.幾  回復  更多評論
              
            # re: 圖形學真是一個打發時間的好東西 2011-01-09 01:18 | 陳梓瀚(vczh)
            @flyliying
            嗯,這個性能跟CPU的性能是嚴格掛鉤的。話說F4應該比F2F3都慢很多才是,怎么你都差不多……  回復  更多評論
              
            # re: 圖形學真是一個打發時間的好東西 2011-01-09 02:04 | mm
            背景。。。  回復  更多評論
              
            # re: 圖形學真是一個打發時間的好東西 2011-01-09 03:01 | flyliying
            場景2是F3 F4差不多,場景1就差很遠  回復  更多評論
              
            # re: 圖形學真是一個打發時間的好東西 2011-01-09 04:07 | ooseven
            非常理解博主的心情,我以前就說了,做智能提示,如果該語言支持的語法稍微復雜一點,連自殺的心情都有。以后你的語言如果支持模板就更能體會這種心情。不要放棄,加油。
              回復  更多評論
              
            # re: 圖形學真是一個打發時間的好東西 2011-01-09 05:22 | 陳梓瀚(vczh)
            @ooseven
            其實語法復雜一點關系都沒有哈,我做了這么多年已經對處理各種復雜語法得心應手了,真正的原因是做那個東西的視覺刺激太少……IDE里面的語法分析器是我寫的一個讀文法生成代碼的代碼生成器生成的,所以其實什么語法都是一樣的……  回復  更多評論
              
            # re: 圖形學真是一個打發時間的好東西 2011-01-09 09:23 | ooseven
            @陳梓瀚(vczh)
            嗯,到了繼承,動多態,靜多態,模板,泛型這一級的智能提示,語法樹已經幫不上多少忙了。而需要推導。
            按說,推導過程只要編譯器寫出來了,算法照抄就是,但是,實際可沒這么樂觀,因為智能提示需要在用戶不斷動態變化的代碼,以及語法尚不完整的情況下進行有限的推導,甚至是聯想似推導,所以非常的難。你沒看到微軟做了這么多年還是做不過vcassist。而其實,vcassist也做得不怎么樣,你隨便用一個比較復雜的模板庫在vcassist下試試,比如boost,很容易的就能使他啞火!
              回復  更多評論
              
            # re: 圖形學真是一個打發時間的好東西 2011-01-09 09:47 | 陳梓瀚(vczh)
            @ooseven
            代碼殘缺不全和用戶動態輸入的問題我已經解決了你可以看我之前的文章哈。唯一的問題其實是性能問題,這個還得再改一改。功能問題不是問題。當然C++是唯一一個intellisense很難做的語言,不過我顯然也不會試圖去做C++的intellisensen。至于其他語言,還是不太難的。  回復  更多評論
              
            # re: 圖形學真是一個打發時間的好東西 2011-01-09 18:27 | 空明流轉
            @ooseven
            C++的IS難做其實是C++特有的問題。別的語言都沒這么夸張。  回復  更多評論
              
            # re: 圖形學真是一個打發時間的好東西[未登錄] 2011-01-24 00:12 | zq
            提示SimulatorCore.dll沒有  回復  更多評論
              
            # re: 圖形學真是一個打發時間的好東西 2011-01-24 08:30 | 陳梓瀚(vczh)
            @zq
            兩個工程一起build,dll就是那個C++的  回復  更多評論
              
            # re: 圖形學真是一個打發時間的好東西 2011-02-13 23:48 | 劉柳
            偶爾看到這個網頁,我是大四學生,參加了今年的研究生考試計算機方向,將來也想走圖形學,請問我想在為將來學圖形學,做哪些補充準備,還有請問博主的背景是什么,  回復  更多評論
              
            # re: 圖形學真是一個打發時間的好東西 2011-02-14 00:44 | 陳梓瀚(vczh)
            @劉柳
            本科畢業,在某著名公司開發一個高性能程序的GUI部分。  回復  更多評論
              
            # re: 圖形學真是一個打發時間的好東西 2011-02-14 00:44 | 陳梓瀚(vczh)
            @劉柳
            我認為研究生會給你系統培訓的,反正都是一些數學知識和技巧,也是很容易買到書的。沒事多看看siggraph。  回復  更多評論
              
            999久久久国产精品| 久久精品人人槡人妻人人玩AV| 久久精品国产影库免费看 | 狠狠综合久久AV一区二区三区 | 国内精品久久久久久久久电影网| 一级做a爰片久久毛片看看| 久久久久亚洲av毛片大| 亚洲国产精品久久电影欧美| 91久久婷婷国产综合精品青草| 国产午夜电影久久| 欧美熟妇另类久久久久久不卡| 曰曰摸天天摸人人看久久久| 久久中文字幕精品| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 国产99久久久国产精免费| 2021国内久久精品| 国产亚洲精午夜久久久久久| 一本色道久久综合亚洲精品| 久久e热在这里只有国产中文精品99 | 久久亚洲2019中文字幕| 精品久久久久久亚洲| 亚洲国产精品无码久久| 国产精品美女久久福利网站| 精品无码久久久久久久久久| 国产韩国精品一区二区三区久久| 亚洲精品国精品久久99热一| 亚洲国产高清精品线久久| 久久激情亚洲精品无码?V| 好久久免费视频高清| 久久精品人人做人人爽97| 麻豆AV一区二区三区久久| 久久免费视频1| 久久精品国产亚洲AV忘忧草18| 亚洲精品NV久久久久久久久久| 国产高潮国产高潮久久久91 | 久久综合一区二区无码| 久久成人精品| 一本大道久久东京热无码AV| 久久婷婷五月综合97色直播| 久久久久婷婷| 伊人久久大香线蕉AV一区二区|