
Graphics Deep Dive: Cascaded Voxel Cone Tracing in the Tomorrow Children - mxfh
http://www.gamasutra.com/view/news/286023/Graphics_Deep_Dive_Cascaded_voxel_cone_tracing_in_The_Tomorrow_Children.php
======
Narishma
Here are the annotated slides of a more detailed presentation they did at last
year's GDC:
[http://fumufumu.q-games.com/archives/TheTechnologyOfTomorrow...](http://fumufumu.q-games.com/archives/TheTechnologyOfTomorrowsChildrenFinal.pdf)

------
agentultra
The cascade approach is something I've seen in other voxel engines. I'm
interested in why the author was unsure whether octrees are suitable for GPUs.

I'm looking forward to the slides. This game was a very interesting project
and well worth playing if you haven't yet. I love how sometimes going off into
the woods yields fruits. It goes against every bit of advice you come across
as a programmer these days. Yet sometimes it's just what a project needs.

~~~
blt
I'm not the author, but I assume they are referring to the amount of
conditional branching needed to descend a standard octree. However I bet there
is lots of active research into GPU-optimized spatial partition data
structures.

The data structure in the article is different because it only stores high
resolution data for the area near the player. An Octree handles arbitrary
distributions of high resolution data, so it is more powerful than needed for
this application. I like it when insights into the problem lead to simpler
algorithms.

~~~
cma
Sounds similar to the clipmaps UE4 uses for signed distance fields:

[https://docs.unrealengine.com/latest/images/Engine/Rendering...](https://docs.unrealengine.com/latest/images/Engine/Rendering/LightingAndShadows/DistanceFieldAmbientOcclusion/DF_ClipMap.jpg)

[https://docs.unrealengine.com/latest/INT/Engine/Rendering/Li...](https://docs.unrealengine.com/latest/INT/Engine/Rendering/LightingAndShadows/DistanceFieldAmbientOcclusion/)

------
dave_sullivan
Couple questions I'm hoping someone can answer:

What other techniques are they using especially well to get the look and feel
they've achieved? The lighting is impressive, but I notice dynamic depth of
field/bokeh is being used well here and I think this is to credit for a lot of
the look.

The materials themselves look especially good, can anyone comment on why? In
particular, the softly-polygonal look of the skin and grainy metal on the side
of the bus. Is this just really what a great texture looks like or is there
something less obvious? For instance, is there any reason to think Substance
Designer + UE4 couldn't export + render materials like that?

Also, any idea what's up with the weird outline artifact around most/all
objects in the video?

I'm really liking games that pair an abstract art style with high realism
graphics features. Sort of inching towards a new video game clay-mation look.

~~~
speps
Most game engines for a few years now are using what's called "Physically
Based Rendering" (aka PBR). There's a ton of resources on that, including for
offline rendering. It does add a lot to make it look realistic, for example an
Intro for it in Unity 5 [1].

I think they extensively used Bokeh DoF to make it look at the right scale as
it's a toy world if I'm not mstaken, it's know as the "Tilt Shift" effect.

The outline artefact is probably Ambient Occlusion, I didn't see it that much
though but that's maybe because I'm used to it. THere are a lot of ways to
compute it, including using cone tracing, but the least expensive is a "screen
space" technique first introduced by Crytek. It can introduce a dark halo
around objects but is constant time usually and very simple to integrate.

[1] [https://blogs.unity3d.com/2014/10/29/physically-based-
shadin...](https://blogs.unity3d.com/2014/10/29/physically-based-shading-in-
unity-5-a-primer/)

------
phkahler
I found it interesting that they chose 16 cone directions since there is no
regular 16-gon. I would have thought 12 might have some kind of an advantage
there. Pentagons are the closest to a circular face of any polyhedron and the
overlap would be identical between "faces". OTOH 12 is less than 16.

------
bsder
Could this _really_ have not been done with a modern engine and technology?

Maybe I'm missing something, but I don't see anything that prevents it.

~~~
dgreensp
This is modern technology -- the most modern, since it was invented for this
game. Global illumination this good is not something you can get off the
shelf, to my knowledge.

~~~
benmcnelly
voxel cone tracing is not a new thing, but the way they are doing it is pretty
neat and seems to be giving them good FPS even on console hardware (it's
usually pretty beefy to do).

As far as other engines doing GI, Unity uses enlighten wich cheats
(brilliantly) by precomputing the scene (not baking) which lets it dynamically
do GI in a scene.

> [http://www.geomerics.com/enlighten/](http://www.geomerics.com/enlighten/)

