幾個月前面試時boss問過我乙個問題--「除了scanline渲染方法,你還知道什麼其他渲染方式?」,我沒答出來,至今記憶猶新。
前段時間擺弄intel vtune時看了它的示例**,是乙個十分精巧的c語言寫的ray tracer,醒悟過來這應該就是那個問題的答案。光線跟蹤的渲染流程跟掃瞄線光柵化演算法完全不同,很簡潔自然,而且:(1)從簡單的區域性光照做到加入全域性光照,最終甚至能達到**級效果。(2)每條光線的計算都是獨立的,所以利於實施多執行緒。
這真是乙個相當有意思的課題,無疑對數學知識是個相當大的鍛鍊。我決定接下來的業餘時間來研究下ray tracing這個奇妙的東東,下面是我在軟渲中加入的無比簡陋的prototype,working on it now!
開始研究irrlicht
畢業設計準備做個3dgis的系統,功能呢,還沒規劃好,至少要實現3d漫遊和場景管理吧,所以開始學習opengl,而我覺得最好的學習方法是邊看書邊做東西,或者看 於是乎,在網上找好的3d引擎。ogre太大,又有太多的第三方庫依賴,編譯一下,發現需要太多的第三方庫檔案,所以被打入冷宮。osg,基於ope...
光線追蹤(raytracing)
考慮乙個二維平面,攝像機在 0,0 0,0 的位置,初始時平面上沒有障礙物。現在執行qq次操作,操作有兩種 假設這是第ii次操作,1 i q1 i q 1 給定x0,y0,x1,y1 x0 2 給定向量 x,y x,y 會有乙個動點從攝像機所在的 0,0 0,0 位置出發,以 x,y x,y 所指的...
RayTracing 取樣技術
簡單來說 光線追蹤就是從視點和畫素兩點成一條射線,投射光線到場景中,返回光線碰撞到的物體的顏色。但是,對每個畫素只投射一條光線,會造成鋸齒現象。下面介紹幾種在畫素格內的取樣技術,從而投射多條射線進行顏色中和,從而形成抗鋸齒的效果。在2d畫素格內,隨機選取n個取樣點。這些取樣點在1d投影上的分布狀態並...