最近休了幾天假玩一玩所以進展比較慢。直到今天我做了高亮、4*4全屏幕消鋸齒、圓柱體和三角形模型。不過目前三角形我沒有用kd-tree,所以巨慢。在i7上做一個36096個面的Menger Sponge再加上全屏幕消鋸齒花掉了20分鐘……
點擊
這里下載當前進度的代碼。
下面開始貼圖:
Blinn Specular:
全屏幕消鋸齒:
傳說中三萬多個三角形的Menger Sponge
無聊做的圓柱體求交函數:
posted on 2011-01-20 09:10
陳梓瀚(vczh) 閱讀(5187)
評論(9) 編輯 收藏 引用 所屬分類:
3D
評論:
# re: 圖形學真是一個打發時間的好東西(二)[未登錄]
2011-01-20 09:21 |
# re: 圖形學真是一個打發時間的好東西(二)
2011-01-20 19:09 |
我的DirectCompute光線追蹤在Direct SDK升級到June 2010之后就再也編譯不過了………直接導致我失去興趣。現在我打算用OpenCL再重新搞一次。。
回復 更多評論
# re: 圖形學真是一個打發時間的好東西(二)
2011-01-20 19:28 |
@裝配腦袋
稀客啊,難得從cnblogs跑這里來。話說光線追蹤用CPU還是寫起來最方便的,雖然性能沒有那些用vertex shader做并行的快……
回復 更多評論
# re: 圖形學真是一個打發時間的好東西(二)
2011-01-20 20:03 |
@陳梓瀚(vczh)
DirectCompute和OpenCL都是用GPU做通用算法的API啊,就是純粹利用其并行性,呵呵。vertex shader那種語法當然沒法用了。。話說回來,DC和CL也都有N多限制,比方說沒有多態啦,線程組共享存儲只有32k啦,內存緩沖區要256bit對齊啦,沒遞歸啦……之類的。老實說OO用多了,沒多態簡直不知道怎么辦事……
回復 更多評論
# re: 圖形學真是一個打發時間的好東西(二)
2011-01-20 20:10 |
這兩天試OpenCL的.NET封裝版Cloo,真是比DirectCompute好用100倍。不過OpenCL的性能似乎顯著沒有DirectCompute好,我做的曼德勃羅特集實驗用OpenCL單精度浮點版本還沒有DirectCompute雙精度浮點速度快。但是OpenCL還可以用在CPU上,效果還蠻不錯的。
光線追蹤我純粹是把別人寫的算法GPU化,照貓畫虎哈。其實原理都不懂的說
回復 更多評論
# re: 圖形學真是一個打發時間的好東西(二)
2011-01-20 20:37 |
@裝配腦袋
我也遇到了一個奇怪的問題,之前用double一直很好,改成float慢了一倍……不過其實做ray tracing我也用不了OO了,一條光纖要觸發好幾次虛函數的話,渲染一個800*600+4x4FSAA就要調用幾千萬次虛函數了,這個損失就大了。因此我也寫得很窘……
回復 更多評論
# re: 圖形學真是一個打發時間的好東西(二)
2011-01-20 20:39 |
@裝配腦袋
光線追蹤的原理還是很容易的話,我可以推薦一本入門書《VisualBasic高級圖形程序設計教程》原版95年寫的。里面描述了簡單幾何物體+簡單光源的實現方法。雖然距離真正的rt差很遠,不過還是可以從這里開始學的……
回復 更多評論
# re: 圖形學真是一個打發時間的好東西(二)
2011-01-20 21:24 |
# re: 圖形學真是一個打發時間的好東西(二)
2011-01-21 01:50 |