Screen Space Global Illumination for Eevee

I’m not incredibly interested in arguing about whether it’s right or wrong to multiply GI, haha. :slight_smile: In arch-vis, I’d certainly agree with you. But in some scenarios it’s helpful, and I wanted @0451 to know I appreciated they added that control.

Pixar’s films get more realistic every year, and it’s an incredible feat that they’re doing. But from Spiderverse to Dragon Prince, there’s a lot more 3D than just physically based rendering.

I’ve personally found it super valuable in motion graphics, esp for sports. For that, realistic lighting is the lowest concern, and making sure something is clear and legible is the objective.

Cheating is a valuable tool, and it being ‘wrong’ to break lighting isn’t gonna stop me if it makes my render look better, haha.

6 Likes

I sat down and started toying with it in a scene I’m building just the other day, and really honestly, I don’t care if it’s 100% physically accurate or not. It can produce some astounding results. It makes my Eevee shots look almost as good as what I’d get out of Cycles, but at 1/1000th the render times.

It’s an awesome little plugin.

14 Likes

I was thinking about this whole debate about GI and I think the reason the discussion begun is just a hell of al lot of miscommunication.

The reason it’s good to have your NPR renders driven by a more PBR stable GI is just for consistency of results, even if you wish to blow the light conservation to hell and back and add unrealistic light effects here and there, to be able to reliably repeat those results with reliable parameters a standard that is agreed upon is needed, that is the PBR workflow, from it you can bend or outright brake rules, but you need a standard to make that happen, this is why in theory it would be good to have a GI system that follows the rules of light conservation and so on as nicely as possible even if the renderer is not a full on ray-tracer.

In the old days of Pixar to lit Toy Story they used like a thousandth point lights on a scene to fake GI, that is a cumbersome and unreliable way to get your light bounces right, but… in lieu of of the technology we have now that was a viable option, this as far as I understand why Pixar champions PBR, because it gives consistent results with less parameters to tweak, and then on top of that system you can add and brake the rules to make your render as you wish to.

So to summarize, to begin with it would be awesome to have as accurate a GI solution in Eevee as we can, right now there’s no official solution for this, so this addon is at least a viable solution for the time being even if its not as accurate as it could be, in the long run lets hope a more stable/accurate GI is implemented into the core systems of Eevee, mean while if this addon can be further developed that will also be good.

Looking forward seeing how GI evolves in Eevee

Peace out :slight_smile:

2 Likes

I just bought it.

The main reason why I bought is because I “highly” appreciate people who do this work!

6 Likes

I also bought it. People should support these kind of things.
I immediately figured (from Sunday’s official video post) he’d script the materials into his own “list” of properties. I got weird results (specifically for glossiness on some objects). Also, this all works fine for a low poly scene. If you got past 300 props and 2M polys, this is the result:

I am not writing to diminish the work, quite the contrary, this addon is superb! I think that it needs to “rename” some of the parameters to more Commonly used names so that people will know what to tweak. For example: I remember amping up one parameter and lowering down another one to stop LIGHT LEAKS, but when I tried to do this on another scene, I forgot how to do it.

I haven’t lost interest, even though I paid for this as a contribution. I believe with the right incentives @0451 will continue to expand a much needed solution in EEVEE.

I will go as far as even saying that this would be an awesome initiative to CUSTOM SCREEN SPACE EFFECTS.

1 Like

How I wish this addon is a solution because even with the best setting known for baking indirect light in EEVEE, I see that light is bouncing better in Cycles. So yes, the idea of SSGI in EEVEE is like wooow. I tried the addon for two days and did test after test.
To me it seems there is a problem with specular reflection (roughness) on certain angles. You cannot have this when animating the camera (gets clear when you have a camera on a car driving through a narrow street with houses of same material). There are also some other problems and inconsistencies.

I always welcome tools for tweaking, but it should not break things more than they already are because you loose then control. Physically based is helpful having control and you still can tweak. But breaking physics, I would not want to implement that in my workflow.

Although rawalanche sounds on the rude side, and indeed it’s not really nice, I agree with what he is saying that quite some people are now going to do things they don’t know.

This project is nice to develop further and to test, but I think it’s not good in a good state yet for the big audience to use it yet.

(English is my second language and sometimes hard to find a clear way to express).

2 Likes

Enabling world probe light on diffuse and camera “rays” only works well enough, but since it doesn’t cover metallics I’m not sure if I should add a option to modify the world lighting. There’s already way too much confusion.

@PierreSchiller
That’s the python script locking up the UI until the baking operator finishes. For switching materials opening the file and switching in solid mode before setting any view to rendered seems to be less crash inducing on heavy files. Completely agree on naming.
Yeah, having a easier way than modifying the source and then maintaining a build just to have some custom effects would be great. BGE had a way to load GLSL shaders, altough it seemed they were just “slapped on top” with not much ways for better integration. Having a viewport compositor would be great also.

To me it looks like the easiest way to modify something like this is a custom node. Most of the material behaviour for Eevee seems to be defined in a bigger closure_lit_lib.glsl file, but as far as I understand it (not much) it seems you can bypass to some extent and just do the same thing in the nodes own .glsl file (like the shader to rgb node does). Trying to do something like this without any relevant technical knowledge is pretty time consuming though.

@anon72338821 I made some changes in the 0.1.1 version (I think I uploaded it yesterday) that should change some of that. Still far from where it should be though.

Every time I look away from the light source, the whole area turns dark as if there’s no light at all!
Please Fix!
P.S Great job, I am actually shocked as to how good this works!

Here are some examples:

Looking Away from the Light

just to be clear, in the image, there should be a sun light from the windows to the right, but none of the light is there went you turn away!

Here is a pic while looking at Window:

That’s the screen space aspect of it. No way around it with just a screen space effect. Adding a irradiance volume should help smooth it out.

4 Likes

Oh ok, thanks for the quick reply

2 Likes

I just tried out your fix and I’m glad to say it works nicely!
Super excited with this addon, I can’t wait to see what I can do with this!

2 Likes

As I’ve said:

Not all fakes are bad, but I have yet to see a single example of an artist/studio who do disciplines you’ve mentioned such as “motion graphics, esp for sports” on the highest level, and consider changing GI multiplier a crucial tool to achieving their output quality. I know quite a few people who do motion graphics and advertising product viz on the highest level out there, and yes, they do employ all sorts of fakes, within reason, such as invisible area lights, and so on. But I’ve literally never heard someone say “I needed to adjust GI multiplier for my shot to look right”.

In fact, it was almost always the case the more experienced and skilled one was, the less fakes they used (and at the same time the higher quality they’ve achieved).

In my opinion “cheating with light” and “fake” solutions are in almost every pipeline in 2d and 3d. If You are preparing VFX explosion than You are trying to make “cool, fantastic, turbo excellent and wonderfull effect for viewers”. No one will ask You “Is this lighting made with explosion realistic or not?”. The same situation is in photography - people are adding some fake-shadows or fake-reflections or some unnatural light sources (photographic reflector which is able to add super more light in shadows area) - but viewer is able to see only final effect. I remember my work with Cinema 4D in 2001 year - there was no GI solution which was available in rendering engine. I was using 10 to 50 or more light to make render looks more realistic, tens of soft shadows (shadows maps, area shadows doesn’t exist in that time) and other tricks. Everything what i’ve done there was done only for better final result. Today during product render (phone, computer, car etc) i’m using 10 or more lights to add some more reflections which not exist in reality. Artists have to use all available possibilities to prepare a product/presentation to make client happy :slight_smile: Thanks 0451 for You work for our community :slight_smile: Greetings!

3 Likes

Best is to have first a reliable base, and then tweak on top of that.
What happens now is like: EEVEE (materials actually) is as PBR as possible so far, but let’s hack that.
Result is that users are going now to use a less reliable base (I didn’t check the update yet, will test that).

It sound like you are saying: “I know my camera is one of the best, accurate and reliable. But I will open my camera and change some things in there. This way I can get the effect I have in mind. And then I share this hack with others”

So then the users of that camera end up with a camera that has that effect but is less accurate.
Or translated to microphones I would say: you don’t want to tweak one of the best microphones which give nearly a 1 to 1 reliable signal. Instead you want to modulate the signal, not the microphone. If the Microphone is not good, forget it. (But ok, if you are good and you know what you are doing and you want to achieve a particular effect by modification of a reliable base, go ahead, but that is than not recommended for all users who are learning Blender or are in a stage to understand it. It would not be good for the bigger audience.)

But I will come back to this after testing the update. There were some issues in previous version that wouldn’t make an animation with EEVEE better.

1 Like

Hey @0451 , addon looks great! Thanks for creating it.
Even in its early stages, it’s simply just working (in most cases). And this became the closest to achieve “one-click solution” to any problem I’ve ever seen :smiley:

I hope this will boost the visibility in the eyes of developers and similar feature have more priority in Eevee & Viewport Module.

I also suggest you to create a topic in https://devtalk.blender.org/ forum for your questions and guidance from developers. I’ve seen in your other topic that you think it’ll “waste” the developer time but don’t feel like that. It’s quite the opposite. There are other developers visiting the forum that might help as well.
Also I always hear Pablo saying in Blender Today Livestreams “make some noise” if you want to see an improvement/change in Blender. These kind of things are the opportunities to make the noise in my opinion :upside_down_face:

3 Likes

Guys, for some reason I have the feeling that the OP is being “attacked”.
You said your opinion but please stop it, it is actually annoying to go through posts reading people’s complaints just in case I find something useful. It is not constructive.

You always have the option to just not use the addon.

Let’s just try to help the developer make this addon even better, if possible.

2 Likes

There’s not really a way to make this be accurate. It’s “hacky” because there’s no underlying structure to make it work correctly. It can never be accurate until it’s properly implemented by a developer as a post-process filter.

1 Like

Yes I know. I started with quoting an argument. And that argument is like “Everywhere they use hacks, so why not here.”. And my answer to that is that you can have “hacky” post process filters after recording the sound with the best microphone, and don’t hack the microphone itself.
That this project could lead to a solution and that the blender developers are going to look at, sounds really awesome. But as I see it, it’s not a good idea (yet) that now everyone is going to use this workflow as it is.

1 Like

I understand what you are saying and it is good to say it in a polite way like you did and maybe the dev can add a big warning in his description. I mean people will be people…users will be users…

By the way you can “hack” microphones, preamps, compressors etc. but I understand the point you are trying to make. I hope also my point is understood.

2 Likes