14 ms·
Godot 4.0 gets SDF based real-time global illumination
- Fraterkes 6y agoThis looks really cool and impressive of course, but I still feel the easiest way for most indies (which Godot is aimed at) to stand out is to get away from photo-realism.
- sbarre 6y agoMost 3D games that aren't photo-realistic still need semi-realistic lighting to look good..
- partyboat1586 6y agoGood lighting can make simple stylized shapes and colours look better.
- m12k 6y agoGlobal illumination is orthogonal to photo realism. In fact, GI and lighting in general can help indies get away with untextured and/or low-poly models and still achieve a pleasant look (check out The Witness or Superhot for some examples.
- mortenjorck 6y agoExactly. There are many aspects to photorealism, and any subset of them can yield interesting, stylized effects. The Witness is a great example of stylized textures and geometry + hyper-realistic lighting; nothing else looks quite like it.
- kgwxd 6y agoSuperhot is the most innovative shooter I've played in years!
- kroltan 6y agoIncredibly even more tangential but: If you have the opportunity, do play Superhot VR. It is to Superhot as Superhot is to a regular shooter. Absolutely fantastic and one of the best fitting VR "ports" (it is more of a sequel, but I mean the game mechanics got even better in VR than with a kb+m/gamepad)
- _bxg1 6y agoIt's possible to have photo-realistic lighting without photo-realistic art. For example see the Link's Awakening remake: https://d1lss44hh2trtw.cloudfront.net/assets/editorial/2019/02/zelda-links-awakening-nintendo-switch-remake.jpg https://d1lss44hh2trtw.cloudfront.net/assets/editorial/2019/... Even the Final Fantasy 7 Remake arguably doesn't have a photorealistic style. Everything is very exaggerated and it has a distinctive art style despite using very physical rendering
- mhh__ 6y agoOutside of photorealism, realistic lighting can really help immerse people in the world. Look at the quake RTX demo, there's something different about it compared to even a modern game with the approximated lighting.
- stevens32 6y agoPBR gets you photo-realism, GI gets you a self-consistent looking scene so fewer things look out of place
- leetrout 6y ago> Tim Sweeney and Epic Games for their confidence in helping us finance our research via Epic Megagrant. That’s interesting. Since this is all open source I guess Epic could potentially benefit from this... It’s nice to see they funded another engine.
- mhh__ 6y agoFrom a business perspective, Unreal doesn't really do 2D as per se (Whereas Godot is very simple to use) so improving Godot keeps people away from other tools like Unity which do have features that compete with Unreal.
- ngold 6y agoAs a unity developer I'm drooling at godot. I can't wait to jump ship to open source. Don't get me wrong unity is great, but godot is super compelling.
- capableweb 6y agoI'm someone who isn't at all knowledgeable about game development nor its industry, so forgive my ignorance, but what are you waiting for specifically?
- colejohnson66 6y agoOne thing many of the big players do that Godot doesn’t is require telling the user they used that engine. If you use Unity, you need to show the Unity splash screen unless you pay the big bucks; Godot requires none of that.
- capableweb 6y agoSo why would someone wait for that feature before changing to Godot if that's already a feature?
- adanto6840 6y ago
- deleted 6y ago[deleted]
- gh123man 6y agoThis is super interesting. The first video on the page sheds some light on how this actually works. It seems like they convert the scene into shapes that can be represented via SDF's and smooth min (https://www.iquilezles.org/www/articles/smin/smin.htm https://www.iquilezles.org/www/articles/smin/smin.htm) them to blend into an approximation of the actual scene. While also capturing some general texture color data to apply and blend into the shapes. I assume the shader ray marches the scene to compute the lighting reflections and bounces. I am curious how the probes/nodes come into play and how they extract the light data from the shader output to apply it to the scene geometry (is it simply added in screen space?) I would be very interested in reading more detail on how this is actually implemented!
- oconnor663 6y ago> sheds some light
- hellofunk 6y agoThey explicitly say in the article that it does not involve ray racing, of which ray marching is a subset.
- klodolph 6y agoIt's possible that "it does not require ray tracing" means that it does not require extensions like RTX. Perhaps it uses voxel cone tracing, which you may say is technically not ray tracing, but if you called it ray tracing you wouldn't exactly be wrong either.
- Rusky 6y agoThe article contrasts this approach with voxel cone tracing, so it's not that either.
- dcanelhas 6y agoI would call it Sphere Tracing since that's what it's called in "Hart, John, C; Sphere Tracing: A Geometric Method for the Antialiased Ray Tracing of Implicit Surfaces; The Visual Computer-1995"
- anigbrowl 6y agoRe-upping this blog post (sadly overlooked when first posted to HN) which asks the reasonable question 'why not just use Godot for general-purpose applications?' https://medium.com/swlh/what-makes-godot-engine-great-for-advance-gui-applications-b1cfb941df3b https://medium.com/swlh/what-makes-godot-engine-great-for-ad...
- codegladiator 6y agoYes please I have always wondered why is this not a thing
- krapp 6y agoBecause of Electron.
- blargmaster33 6y agoWPF already exist.
- jayd16 6y agoI can't read the linked article without logging in but in my experience its not ideal for several reasons. Game engines are designed around game loops executing code every frame and not around power efficient layout caching. Orthrographic hierarchies are how UIs are usually laid out and its a mild pain to move to a system that's depth sorted, with custom shaders etc. You can do more but you need to think about more and its harder for the UI system to know what parts of the screen can be redrawn. Games usually just draw it all every frame. Specifically for a game engines, they usually don't do things like OS integration for accessibility, subpixel font rendering, that sort of thing. In theory they could but usually game engines seem to roll their own system for this.
- pixelpoet 6y agoI really love ImGui but what you described (accurately, I don't know why you got silently downvoted) is my biggest problem with it for general UI use. It's actually quite difficult to hack to make it not need 60+ fps updating; I've tried and was not really successful, wrote about some of the issues on reddit: https://www.reddit.com/r/cpp/comments/hcpoc0/how_to_add_a_gui_to_a_c_program/fvi383q/ https://www.reddit.com/r/cpp/comments/hcpoc0/how_to_add_a_gu...
- mrfusion 6y agoSo if I wanted to make a simple 2d game, should I go with godot, pygame, or a JavaScript game engine?
- fiblye 6y agoOnly use Pygame if you only know Python, refuse to learn another language, you're not planning on working on your project after a week, and you don't ever plan on having other people actually play your game. Javascript engines are going to be inferior to any proper engine and offer less portability.
- krapp 6y agoGodot. The sprite, tilemap and animation blending functionality alone are worth it, just grit your teeth and put up with gdscript (edit - or use C#). And it exports to the web anyway.
- tomtheelder 6y agoYou don't have to use GDScript, C# support is very strong at this point.
- krapp 6y agoFair point. Unfortunately for me anyway, I'm using the Steam version which doesn't support C#.
- arifmeticus 6y agoIs it possible to make a game that makes use of this new lighting system at high graphical settings and regresses to something simpler for low end computers?
- cdbattags 6y agoNow someone please ELI5 how this compares to the algorithm Unreal Engine employs?
- adanto6840 6y agoI get why Epic probably funds this, and I love to think how great Godot could be in another year or so (and how they could surpass Unity, etc). What I don't really understand, though: Why wouldn't Unity just implement this now, too?! It's open-source & MIT-licensed; if it's better than Unity's GI -- and it IS better, because Unity does not currently have ANY realtime-GI solution in their latest versions (they stopped licensing Enlighten for current/2020.x+ versions) -- so why wouldn't Unity just implement this, too? There's nothing that appears to be stopping them from doing so, other than pride perhaps; part of me really, really hope that they'll do exactly that, though I've yet to dive into the code to see how viable it may or may not be given Unity's current SRP situation(s).
- DizzyDoo 6y agoSurely the current SRP situation is exactly the reason. It's a bit of a mess right now with many basic features missing, like the absence of Ambient Occlusion out-of-the-box with URP.
- kaoD 6y ago> I get why Epic probably funds this Is it just to fuck over Unity?
- dimgl 6y agoYou're getting downvoted, but Epic is extremely anti-competitive. This is likely the reason.
- paulryanrogers 6y agoEpic's store offers a cheaper alternative to a near monopoly on digital game distribution on PC. How are they anti-competitive?
- 22c 6y agoThe enemy (Godot) of my enemy (Unity) is my friend. Is essentially what this thread is talking about. At this point (ie. Epic sitting on truck loads of cash), lost revenue for Epic Games competitors is almost as good as revenue for Epic Games. That is what people are talking about when they say anti-competitive. It's another form of a price squeeze.
- rafaelvasco 6y agoMakes me realize that photo-realism is not the most important thing. Illumination(and by consequence shadows) is. Bad looking 3D games look bad because of two reasons: Aliasing (which is the worst thing in 3D imo, but easily solved) and most importantly, because of bad illumination code. If the lightning code is realistic, you don't even need textures.
- reedlaw 6y agoIllumination Tutorial for Software 3D Rendering (2/2+) [c++20] (https://www.youtube.com/watch?v=eXU-6_jmw7Q https://www.youtube.com/watch?v=eXU-6_jmw7Q) was just released by Bisqwit and it goes over a rather naive implementation of real-time global illumination. The demo uses very basic geometry with a Minecraft look and shows the progress of paths being traced on the CPU. Compared to the Godot demo, the naive implementation is unworkably slow. Nevertheless, Bisqwit's video explains the concepts and basic code implementation admirably.
- MSmith123 6y agoLooks awesome! Might need to give godot a try :)
- focus2020 6y agoI like the old plugin model for its one click development cycle. The new plugin system forces to build the library which make the compile execute run cycle much longer