關於Euclideon的"無限細節"引擎的技術分析

昨天看了一個震撼的視頻, 地址在這裏 http://www.tudou.com/programs/view/2oH1zMMCWqY/, 視頻中宣稱的無限細節引擎技術與現在主流的3d引擎技術完全不同, 傳統的3d引擎技術基於多邊形, 畫面細節的豐富程度取決於多邊形的個數和貼圖的細節, 而"無限細節"技術則採用和自然界一樣的原子排列方式來渲染圖像, 或者說點雲技術, 根據視頻宣稱可以比現在3d引擎提高10萬倍的細節豐富程度, 而且完全不採用顯卡的3d計算能力, 完全純軟件技術, 並最終達到20fps, 如果這一切都是真的, 那必將顛覆現有的3d渲染技術, 爲此我思考了一個晚上也百思不得其解, 今天在其官網上找到了一些技術細節.

Unlimited Detail's method is very different to any 3D method that has been invented so far. The three current systems used in 3D graphics are ray tracing polygons and point clouds/voxels, they all have strengths and weaknesses. Polygons run fast but have poor geometry, ray-tracing and voxels have perfect geometry but run very slowly.
Unlimited Detail is a fourth system, which is more like a search algorithm than a 3D engine. It is best explained like this: if you had a word document and you went to the search tool and typed in a word like 'money' the search tool quickly searches for every place that word appeared in the document. Google and Bing are also search engines that go looking for things very quickly. Unlimited Detail is basically a point cloud search algorithm. We can build enormous worlds with huge numbers of points, then compress them down to be very small. The Unlimited Detail engine works out which direction the camera is facing and then searches the data to find only the points it needs to put on the screen it doesn’t touch any unneeded points, all it wants is 1024*768 (if that is our resolution) points, one for each pixel of the screen. It has a few tricky things to work out, like: what objects are closest to the camera, what objects cover each other, how big should an object be as it gets further back. But all of this is done by a new sort of method that we call "mass connected processing". Mass connected processing is where we have a way of processing masses of data at the same time and then applying the small changes to each part at the end.
The result is a perfect pure bug free 3D engine that gives Unlimited Geometry running super fast, and it's all done in software.

 

看完之後,我大概瞭解了其原理,雖然還是感覺不可思議.

1)與傳統3d技術不同, 該技術更像一種搜索技術, 一種點雲搜索算法;

2)通過把世界用海量的點來描述, 然後壓縮這些點數據便於使用;

3)通過相機的位置和麪向, 搜索出畫面裏需要的點, 任何不需要的點都不會出現在搜索結果集裏;

4)如果我們畫面分辨率爲1024x768, 那麼最終的搜索返回的結果點也是1024x768;

5)在搜索的過程需要考慮: 那些太靠近相機的點, 那些互相覆蓋的對象等;

6)所有這些通過一種新的排序方法, 叫做"mass connected processing"來完成;

7)最終這些點被用於渲染畫面, 所有這些過程全部都是在cpu內軟件完成.

 

該技術確實不同於傳統的3d渲染引擎, 該技術的核心算法應該是搜索和排序, 如果最終返回的點集是1024x768, 那麼確實在渲染上和gpu關係不大了, 純軟件渲染足夠了. 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章