Hacker News new | ask | show | jobs
by dualogy 5121 days ago
Incredibly stunning tech. Now, I'm gonna go fantasize about an open-source version of this with updates every month (instead of every 3 years) -- as a compromise, I could do without the whole hot-reloading IntelliEditor shebang and consoles support -- a concentration on PC hardware that "will be commodity in 2 years, on mobile in 4 years, but can already be bought as state of the art now" (aka Kepler GPUs) would be enough.

To the pros: in your opinion, which of the many FOSS engines out there (many of which carrying a large legacy code-base of supporting soon-outdated modes of operation such as DX9 or lower or GL < 4.0) is the most likely candidate to offer a deferred pipeline incorporating lighting / particles such as we see here in this UE4 demo, at that level of performance and (expected but also demoed) robustness? Again, their "industry" tack (smart editor / console support, "we license only to pro developers" stance etc) would not be required ... only the "metal".

4 comments

Some branch of the GPL'ed idTech 4, I suppose?

Back in the day, OGRE, Crystal Space and Irrlicht used to be the dominant FOSS ones.

Crystal Space is a bit outdated now. Irrlicht is stuck at DX 9.0 and OpenGL 3.x

OGRE seems the most likely candidate (ie the project is the most active and has been for years). Although it is also stuck at SM 3.0 - so no geometry shaders or access to the compute pipeline.

I am likely to be missing out on some other engines here.

Sauerbraten has an experimental branch called Tesseract

http://cubeengine.com/forum.php4?action=display_thread&t... http://www.youtube.com/watch?v=ZkFT1ra2w-A

Deferred shading, realtime lighting, etc. etc. Also it has the Sauerbraten in-game editor (like Unreal is getting).

Probably the best complete open source game engine out there. And it's zlib (unlike the id Techs which are GPL).

Also I'm wondering about the lighting. Some folks on Twitter called it dynamic Global Illumination but here they just call it indirect lighting. I wonder -- are they still using an ambient light? More specifically, what's their GI algorithm? Might be something like the voxel approach sported by @icare3D but then it seems that one's just barely interactive, not as "real-time" as this stuff -- or well it might be on a GTX680 with a really-lo-res voxelization.
Voxels would be too heavy. I have worked with volume rendering before and it's way too expensive to do it at this scale (although their scene with the light passing through the volumetric smoke column kind-of defied this).

Some real-time version of PRT? "RTRT"?

Turns out it IS voxels! https://twitter.com/Icare3D/status/211404654062481408

(Of course the (fairly lo-res compared to your screen) voxelized geometry representation is not rendered directly to screen ala Atomontage or Gigavoxels -- the the GI is based on RT scene voxelization and approximate cone-tracing.)

Well that's awesome because at least there's (A) a paper for this (grokking it is another matter) and (B) seems like it runs really smoothly on next-gen GPUs!

lo-res being the key :) I can see how the voxel representation would be computed and made resident in GPU memory. What's amazing to me, that such a highly branched computation algorithm is now possible in real-time on a GPU! (we had branching available since SM 3.0 - but was "not recommended")
The physical renderer in Cinema 4D is pretty fantastic, and calls it Indirect Illumination. It's pretty crazy slow at rendering this stuff. I've had 6h+ renders, per frame.
In some cases, it involves calculating the angle and falloff of the original light, and placing extra lights at the right angles to simulate the bounce light.
I'm not sure about UE4, but Geomeric's Enlighten tech was added to UE3 last year. It seems likely to me that it would be the same thing in 4.
the whole hot-reloading IntelliEditor shebang

As a programmer, I find this much more compelling than the graphical improvements.

I agree it's incredibly neat -- but let's say I'm just personally most interested in the core engine side of things -- much less a however-advanced "Game Studio" of sorts. Is it compelling -- you bet.
Eventually I'd expect a "linux of 3d realtime rendering" to emerge. It will then find its way into nearly everything that gets put on a screen from the smallest phone apps to the largest multi-screen games.