我想知道Sult的效果如何(鏈接:http://www.youtube.com/watch?v=FWmv1ykGzis)實現。這個介紹如何實現實時光線跟蹤?Realtime raytracing - Sult(Loonies,4k Intro)
回答
它可能是簡單的反射立方體映射。特別是在快速移動的場景中,很難找到立方體貼圖而不是光線跟蹤的不準確性。然而,在介紹實時光線追蹤是不是unheared的:有一個64K的介紹被稱爲「天堂7」
http://www.pouet.net/prod.php?which=5
而且在技術細節方面的文章由開發商:
其實這種製作是使用類似於光線追蹤的非常好的算法編寫的......雷正在標記距離場。
這裏有一個4K的演示中,我使用相同的技術製作: http://www.youtube.com/watch?v=t7anicyRI3w
上有算法這裏的精彩演講: http://www.iquilezles.org/www/material/nvscene2008/rwwtt.pdf
正如之前所說的,甚至有軟件渲染演示實現實時光線追蹤,如Heaven7或Nature Suxx。我記得當時以200Mhz的速度在奔騰MMX上以320 * 200的分辨率以不俗的速度運行它們。這些工作如此之快,可以通過細分屏幕中的瓦片並對瓦片角落中的像素進行光線追蹤,並且只有在4 * 4瓦片或2 * 2瓦片等等的不同細分和做更多計算的值的情況下。否則,插入它們之間的值。
現在,使用着色器代碼優化GPU上的光線跟蹤並且在高分辨率下以很好的幀速率進行每像素光線跟蹤變得容易得多。 Sult只是使用另一種稱爲raymarching的技術,但實質上它是光線跟蹤的另一種方式(取決於您如何定義術語),它具有優點和缺點,例如,它非常適合小尺寸引導和特定扭曲對象以及空間中物體的重複傳統的光線追蹤技術並不那麼容易或快速。
但基於你原來的問題的措辭,我想你可能也想知道,爲什麼這些人這樣做,我們沒有看到它在主流?我們都從遊戲行業的開發者那裏聽說,光線追蹤是未來的事情,在遊戲中還是不可行的。那麼,來自展示會的一些業餘愛好者如何讓它成爲可能,但業界資深人士說現在還沒有呢?從技術上講,我們已經可以對50個球體或raymarch進行光線追蹤,重複同一個球體並使其扭曲和扭曲。但是,遊戲正在使用多邊形,數十萬甚至數百萬個。對數百萬個多邊形檢查單一射線是完全不同的故事。我知道,有些方法像kd-tree細分空間,只檢查本地多邊形很少的光線,但即使使用強大的GPU,它仍然是一個非常棘手的問題。也許沒有什麼可以獲得的,除了擁有完美的陰影和反射免費(在多邊形引擎中你必須用乏味的方式實現它),而且很多都會失去。雖然demoscene介紹主要是在具有抽象幾何形狀,隱式函數或體素數據的場景中進行光線跟蹤,但對於真實生活的3D幾何場景和視頻遊戲角色而言,這些都非常抽象。大多數場景都很小,不會輕易在開放的沙盒遊戲中工作。
因此,雖然這些介紹確實實現了實時光線跟蹤,並且我們自2000年以來即使在CPU上也做到了這一點,但對於在現實世界中多邊形引擎仍然更加高效和有用的遊戲開發來說,這並不實際。所以,你會聽到專業人士聲稱硬件沒有準備好進行光線追蹤(在他們的數百萬個多邊形場景中),但是看到一些業餘愛好者在GPU上做這件事,甚至是4k的尺寸。
- 1. 什麼是Realtime 4k視頻編碼的最佳庫/ SDK?
- 2. Raytracing/Phong
- 3. Java raytracing float vs double
- 4. Excel:HRESULT的異常:0x800A03EC
- 5. Python GTK EntryCompletion在Intro
- 6. Apache Jena Intro RDF:NoSuchMethodError getIfPresent()
- 7. solrj RealTime得到
- 8. Netbeans live/realtime update
- 9. OnLine與RealTime
- 10. WCF流4K塊!
- 11. Mifare Classic 4k
- 12. OperationalError at/admin/Survey/intro/add/
- 13. 使用GLSL進行RayTracing疑惑
- 14. 記錄4K與MediaRecorder
- 15. 請求大於4k
- 16. 4k * 4K浮動的mmap導致分段錯誤
- 17. 允許Firebase Xamarin RealTime Streaming
- 18. apache在「realtime」上加載cgi
- 19. 不能使用realtime-android庫
- 20. Intro as Hidden #div。點擊停止聲音
- 21. Intro重複使用onClipEvent(enterFrame)和loadVars onLoad
- 22. flexjs install會生成4K mxmlc.jar?
- 23. 的iOS AVFoundation - 4K視頻
- 24. 使用Matplotlib與4K屏幕
- 25. Quartz Composer 4k ProRes 422HQ故障
- 26. JavaFX Ultra HD(4K)視頻
- 27. 更新Flot plot with 2 series in realtime
- 28. realtime api feed - 如何獲得新評論?
- 29. Drive Realtime API今天改變了嗎?
- 30. .NET中的Google Drive Realtime API回調?