Live data from Hacker News

Godot 4.0 gets SDF based real-time global illumination

godotengine.org

91–100 of 150 posts

Re: Godot 4.0 gets SDF based real-time global illumination

#91

I 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…

Surely 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.

Re: Godot 4.0 gets SDF based real-time global illumination

#92
post #90
post #48

Earlier quoted context omitted.

The problem is few of those bindings are mature, nor can they be expected to remain up to date. I don't know of any games in Godot using anything but GDScript or C#. This will probably change in the future (I hope it does, and I really wish Godot just used WASM internally so any language that already compiled to it would work) but as of now it seems there's no point to using anything but GDScript or C#.

You mean bindings aren't stable and require reworking all the time?

I mean that language support comes in the form of random third party projects like perbone/luascript[0], so stability and completeness are entirely up to the whims and capabilities of the owner.

It's open source, of course, so that's to be expected, but it also means support for any language other than C# and GDScript is kind of a crapshoot.

[0]https://github.com/perbone/luascript

Re: Godot 4.0 gets SDF based real-time global illumination

#93

I 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…

> I get why Epic probably funds this

Is it just to fuck over Unity?

Re: Godot 4.0 gets SDF based real-time global illumination

#94
post #71

Earlier quoted context omitted.

Yes please I have always wondered why is this not a thing

I 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 a…

I 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_gu...

Re: Godot 4.0 gets SDF based real-time global illumination

#95

So if I wanted to make a simple 2d game, should I go with godot, pygame, or a JavaScript game engine?

All of the above, really. At the risk of worsening your analysis paralysis, another good option is LOVE2D, https://love2d.org/

Re: Godot 4.0 gets SDF based real-time global illumination

#96
Illumination Tutorial for Software 3D Rendering (2/2+) [c++20] (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.

Re: Godot 4.0 gets SDF based real-time global illumination

#97

This 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 ) 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 shade…

They explicitly say in the article that it does not involve ray racing, of which ray marching is a subset.

While they are related, and the terms are somewhat overloaded and depend on context, I wouldn't call SDF ray marching (aka SDF sphere tracing) a subset of ray tracing, at least not according to today's common usage of those terms. Unless you are using 'ray tracing' to mean the family of techniques that do anything with a ray (which is not the most common interpretation, IMO), then there are things each technique can do that the other cannot. Ray tracing most commonly refers to solving ray-surface intersections directly, and/or checking visibility strictly between two points in space, one or both of which may be infinitely far away. SDF ray marching to a surface is iterative and doesn't normally solve ray-surface equations directly, nor does it generally give you a surface normal. Ray tracing, in contrast doesn't allow for neat tricks like single-sample soft shadows, because it doesn't give you any other information about the scene except what's along the ray.

While I wouldn't insist on it, I think you could even argue that it's the other way around, ray tracing could be seen as a subset of ray marching, because it's possible to build a ray tracing query out of ray marching, but not possible to build a ray marching query using ray tracing, for example, the kind of basic ray marching you find on ShaderToy can tell you by how much you almost hit a surface, but vanilla ray tracing can't.

Re: Godot 4.0 gets SDF based real-time global illumination

#98

Earlier quoted context omitted.

But the market here is game developers, not people who buy the games that developers make.

I think the metric Epic would be interested in would be the amount of royalties they would collect, so it would include the number of developers scaled by the financial success of their games. The financial success of the developers whose market share you capture matters a lot. Godot is more likely to be used by people whose games wouldn't earn enough to cross the threshold where they would owe money to Epic had they…

Only if you ignore the network effect of developers knowing your platform vs others...

Re: Godot 4.0 gets SDF based real-time global illumination

#99

Re-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-ad...

People already do to some extent.

That article mentions one example, the Trello clone (frontend?), but there are others like in this Reddit article: https://www.reddit.com/r/godot/comments/a809ij/godot_for_app...

* The Godot editor itself: https://docs.godotengine.org/en/stable/getting_started/step_...

* GUI Toolkit: https://github.com/Quark-Toolkit/Quark

* Pixel art editor: https://www.orama-interactive.com/pixelorama

* Particle effects editor: https://benhickling.itch.io/blastfx

* RPG builder: https://www.rpginabox.com/overview/

* Fantasy map editor: https://www.wonderdraft.net/

* Brainfuck IDE: https://github.com/wmww/BrainfuckIDE

* 3D presentation editor: https://github.com/janparkio/3d-presentation-godotengine

I've looked in to this myself and noted the following:

* It's easy to compile out features you don't want (3D, physics, etc.): https://docs.godotengine.org/en/stable/development/compiling...

* While Godot has a small file size, it's Hello World memory usage is ~300MB, which I think is even more than a Hello World in Electron (perhaps fixable by removing features)

* There is a setting to stop UI updates when the window loses focus which means it doesn't chomp CPU/GPU while not in use

Re: Godot 4.0 gets SDF based real-time global illumination

#100

I 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…

It can't be that easy. Given Godot's completely different architecture, I presume that porting this feature over would require an almost complete rewrite.
Post reply on HN