codersnotes

Debunking Euclideon's Unlimited Detail Tech September 13th, 2016

Uh oh. They're at it again. Yes folks, Euclideon are back with more of their smarmy-voice-over-without-any-detail brand of hype. They call it "Unlimited Detail", but what they don't do is explain how any of it actually works.

If only there were some way we could find out how their idea works. If only... wait! There is!

One of the great things about ideas is that you have two choices; you can either keep it a secret, but then you risk someone else coming up with it too. Or, you can patent it, which grants ownership of the idea. Of course, in order to be granted a patent, you need to actually explain what your idea is and how it works.

With that in mind, it's easy to actually find out how the Euclideon tech works. Off we go to the Australia Patent Office! A quick search for Euclideon reveals a number of documents, but there's one 2012390266, "A computer graphics method for rendering three dimensional scenes" that seems to be the one we need.

It's not an especially exciting read, most patents aren't. I'll summarize the description here:

  1. The scene is stored as a number of objects.
  2. Most objects are rendered using the fast orthographic method.
  3. Objects up close are rendered using the slow perspective method.

Oh look, it's just voxels in an octree.

But what is the orthographic method, you ask? Well it turns out not to be that complex. Here it is folks. Prepare yourself for the wonder of the Unlimited Detail Engine:

Wait, is that it? Yes my friends, this is the same algorithm described in the 1985 paper "Back to-Front Display of Voxel Based Objects", by Frieder et al. I think Euclideon choose to go front-to-back instead, and use a mask to avoid overdraw, but it's the same thing. They're taking 30 year old technology and passing it off as being next-gen.

What this means is that their data is stored in a pre-built octree. Despite their recent claims, there's no way this can animate like modern games need. The only way you can animate it is if you use stop motion - i.e. have several pre-built octrees and switch between them. And looking at their recent footage, I think that's what they're doing. It all looks kinda... well... jerky?

We can do a little math and run the numbers here. Let's imagine you've got a 3GHz CPU, and you want to render 1000x1000 at 60FPS. That's a million pixels you need to fill in. 3GHz/60=50,000,000 cycles available per frame. Therefore you need to render one pixel in 50 cycles. That's pretty tight. It might be do-able, but then you've just used all of your CPU budget doing it. What about the rest? Do you want anti-aliasing? Lighting? Shadows? Bloom? Depth of field? Well tough, because you've already pegged your CPU out at 100% just filling in the color buffer.

Extreme draw distance in The Vanishing Of Ethan Carter

I'm not saying voxel-based games can't work, I think there's definitely a place for less polygony techniques in future. But this isn't it. The trouble with Euclideon is that they spend such a large amount of their time trying to explain that their tech is better than current existing games, when the simple fact is that it isn't. In their latest video they moan about LOD pops in games. I suggest they go take a look at some actual games. I just finished playing through the delightful "Vanishing Of Ethan Carter", and guess what? No LOD pops anywhere in the game. It draws trees off to the horizon and they all just magically morph to lower-detail versions without you ever noticing.

You might be impressed by their up-close dirt rendering, but it's no match for the current round of games and GPUs. Take a look at "Star Wars: Battlefront" here - that's what we're doing right now using just regular GPUs. It's already light years ahead of their tech. Advances like geometry tessellation have taken polygon rendering to new extremes.

Close-up detail in Star Wars: Battlefront

Visible voxel artifacts in a so-called Unlimited Detail engine.

This tech, at least the way they're doing it, is dead. They have no real lighting, none. Just look at their images - it's just N-dot-L, which has been prebaked. I spotted a shadow underneath one of the fences, but oh look, it casts directly downwards. Do you know why? It's because if it cast at an angle, it would spill over onto adjacent objects and prevent re-use of instances. You could argue that they could prebake very nice GI lighting, but they can't; the only way they can get their "unlimited detail" is by instancing the same objects several times.

If you want to see some real exciting advances in point-based technology, go look at the upcoming game Dreams by Media Molecule. Those guys are way ahead of Euclideon, and guess what? Their stuff doesn't rely on pre-baked hierarchies, it's all genuinely real-time.


tl;dr -- GPUs get better every year. If you want unlimited detail, just go buy a PS4 today. But please, don't give these hacks any money.

Written by Richard Mitton,

software engineer and travelling wizard.

Follow me on twitter: http://twitter.com/grumpygiant