关于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关系不大了, 纯软件渲染足够了. 

展开阅读全文

没有更多推荐了,返回首页