10 ms·
I think what they're doing is great, but I see two problems with their presentation. First, computer rendering techniques are extremely well understood and well
by coffeemug 15y ago
I think what they're doing is great, but I see two problems with their presentation. First, computer rendering techniques are extremely well understood and well researched. We've picked the low hanging fruit, much of the high hanging fruit, and everything in between. There is no "groundbreaking new technology" to be invented. They're converting polygons into voxels (although each voxel is probably a sphere for cheaper computation), and using software ray-tracing to render in real time. Since ray-tracing is trivially parallelizable, the multicore technology is just about there now. A 12-core machine will give just about 20FPS. The reason why they can get away with an incredible amount of detail is that ray-tracing diffuse objects is fairly independent of the number of visible polygons in the scene.
The second problem is that 10^4x improvement in level of detail does not mean 10^4x aesthetically pleasing (or in fact, more aesthetically pleasing at all). Ray tracing gets very expensive the moment you start adding multiple lights, specular materials, partially translucent materials, etc. It is very, very difficult to do that in real-time even with standard geometry, let alone with 10^4x more polygons. This is why their level doesn't look nearly as good as modern games despite higher polygon count (compare it to the unreal demo: http://www.youtube.com/watch?v=ttx959sUORY http://www.youtube.com/watch?v=ttx959sUORY) They only use diffuse lighting and few lights. In terms of aesthetic appeal of a rendered image, lighting and textures are everything.
Furthermore, one of the biggest impacts on how aesthetically pleasing a rendered images looks is made by global illumination. That's also something that's extremely difficult to do in real time with raytracing, but is possible with gpu hardware with tricks. The trouble is, these tricks look much better than raw polygons.
Again, I love what they're doing. Real-time ray-tracing is without a doubt the future of graphics, but it would be nice if they were a little less sensational about the technology, and more open about the limitations and open issues.
- Geee 15y agoThis is somewhat the state-of-the-art in realtime ray-tracing (actually path-tracing): http://www.youtube.com/watch?v=qntMz2QPA_E http://www.youtube.com/watch?v=qntMz2QPA_E using the Brigade renderer. It's using both the GPU and CPU.
- tintin 15y agoAnd there are no moving objects in this demo. Voxel animations are much harder than poly animations. Then there is memory. The elephant is looking great, no doubt about that. But I think you will need a lot of space for it. On a PC this might work, but I'm not sure it can be used on consoles.
- badmonkey0001 15y agoThat and I don't know of anyone (outside of using them as particles) that has successfully created collision models with voxels in real time. The collision calculations of just a few of their scanned rocks and a ground plane would be plenty complex - a whole scene perhaps even a little insane given today's specs. They might have to resort to polygonal collision models in the same way that polygonal games end up using low-poly collision models (with the same pitfalls such as moonwalking, blocked projectiles or mystery-bouncing).
- tintin 15y agoYeah I think so. A tree-lookup can make things easier, but then you have to estimate the bounce direction. But overall it's a great demo. And you see more and more games using voxels for surroundings. So ofcourse you could combine this technique with polys.
- badmonkey0001 15y agoThe more I think about it, the more I realize that of the three pure voxel problems (rendering, animation and collision), rendering is probably the low-hanging fruit - Though I'm not sure if creating a hybrid poly/voxel engine is any harder or easier. Here's to at least getting a hyper-real Myst someday :)
- onemoreact 15y agoCollision need not be at the same resolution as the rendering which should help. But animation is probably limited by how much of the scean changes. If it's a small percentage of the enviornment removing the old objects and adding the new ones should be reasonably fast. Or if it's a small number of objects you could always keep them in a seperate tree and translate a ray in the main scean with one for the moving object.
- cgart 15y agoThis video is not that fresh. I have seen it already last year and the way how this guys speaks has not changed since then (speaks like a salesmen) ;) Their technique is based on point cloud rendering. My supervisor has proposed already in 2004 how this can be done on a standard PC. Look at his PhD-Thesis [1]. This technique is usable for static objects as well as for dynamic objects; however, using it for dynamic scenes additional acceleration structures are required (besides of the Octrees) in order to dynamically change according to the deformation of the object. To clarify on several comments made here: - this is a rasterization technique - they used acceleration data-structures like Octrees, kd-trees, BVH, ... (which exactly they don't tell) - the graphic "aesthetics" depends actually only on the artists and not on the technology itself, so not a good point [1] M. Wand: Point-Based Multi-Resolution Rendering. PhD Thesis, Wilhelm Schickard Institute for Computer Science, Graphical-Interactive Systems (WSI/GRIS), University of Tübingen, 2004.
- mikemaccana 15y ago> I have seen it already last year and the way how this guys speaks has not changed since then (speaks like a salesmen) ;) +1. I'd actually trust the company more if they had someone who spoke in measured tones and laid off the hyperbole.
- pgroves 15y agoBut did your supervisor ever ship a product that did it?
- cgart 15y agoYes. We use his original software, XGRT, every day in our research group. All our research about point clouds and geometry is implemented as modules in this software. The software is open source and supports point clouds of really huge sizes, e.g. 80GB datasets, dynamically streamed from the disk.
- lobster_johnson 15y agoActually they say they're doing 20-30fps on 1 core.
- dkersten 15y agoIn terms of aesthetic appeal of a rendered image, lighting and textures are everything. A thousand times this!
- speleding 15y ago> They're converting polygons into voxels Are you sure about that? He mentions atoms, but then the video also mentions that they're using procedurally generated graphics, which is something entirely different. Also, voxels would not work on the scale they are demonstrating, you'd need way too much memory.
- efnx 15y agoI thought he said something like "you don't see polygon counts this high unless they are procedurally generated".