Suggestions on topic for Master’s Thesis on Blender

I saw it all thoroughly and I saw something there that I REALLY liked, which was dynamic indirect light cache. This looks like something quite promising as it requires a lot of research on the topic, and is something that I am personally highly interested in, so thank you very much once again, @Pipeliner !

@fclem , since it was you who created this task, and no one is currently assigned to it, would it be ok if I could tackle this for my thesis? It would mean that I would start doing research on it in a few months, and I would have to have the full paper done by next July. I don’t want to slow down development on an interesting feature, but it would be quite sad if during the middle of writing the thesis the feature was completed… What’s your opinion on it?

If I have your go ahead, I’ll send a message to my hopefully future mentor, and if everything’s alright on his end, my thesis is fully decided :smiley:

5 Likes

That’s great that you are interested in contributing to Blender and EEVEE.

I won’t say no to your help as this feature is really complex and might need more than one developer assigned to it. The time frame (next July) sound really nice, I have other projects so I would not have been able to work on this until the same period.

So we can discuss the details in private and see if it would line up with your thesis.

5 Likes

Awesome, will do!

Thank you to everyone in this thread who gave me suggestions, you really helped!

2 Likes

Hi, I feel very excited for the future of this project and eevee in general

https://forum.unity.com/threads/hxgi-realtime-dynamic-gi.472486/page-17

I’ll suggest you to take a look at this thread
Lexie is working on a Dynamic GI system for a while
And have achieved some great results and he is sharing his knowledge and findings

He is using irregular girds to store the world as triangles instead of voxels
As it’s extremely performance efficient and requires low vram

I hope you will find the information shared there useful for your project

And I wish you best of luck for your thesis

1 Like

Fascinating stuff. Dynamic GI in real time looks like it’s an amazing investment for engines to enhance visual fidelity.

Thank you for the input!

I want to suggest some ideas

3 Likes

Man, Two Minute Papers have some great content on GI. From experience I’ve noticed that about 60% of the probes I place for Irradiance seem irrelevant for the overall illumination.

Unreal Engine’s algorithm for Lightmass Importance Volumes produce better results for the same scene comparing to Blender, I’m interested to see what tech they use. However, it takes a ton of time per calculation, meaning dynamic global illumination through that method isn’t viable. Enlighten does offer that though, but it didn’t seem that impressive tbh

1 Like

I have worked with enlighten in unreal and Unity… and it is the worst solution when we talk about quality and time consumed. It’s a pain in the ass all the work that needs enlighten and solve individual objects, scale,… The only reason to use that technology was because it was the only solution to have some type of GI in old consoles.

The paper talk about a realtime system, so, i think that could be the better solution for the GI problem in EEVEE. The actual solution is really bad to work in renders.

2 Likes

This is only my opinion, but I think RTX isn’t the best approach for this. Not only is it hardware locked, I think Ray traced GI can be more adequately approximated through simpler means.

I’ll actually look into that paper, probably tomorrow. It looks fascinating and I’m floored with those times for those results.

1 Like

I talked about RTX like example, I delete after because is a specific solution.

Ray Traced GI maybe is a excesive option. But could be great to have that option for some projects. Specially with the problem that we have with reflections.

Actually two eevee problems are

  • bad light solution and GI
  • bad reflections

And that problems are worst if the user wants an animation. With the GI outdated and reflections amke strange things because the object is out of the buffer.

1 Like

I also agree on the reflections part, especially on animations. I’ve been reading more and more on Voxel Cone Traced Reflections, and they produce some interesting results.

Regarding the light solution, what do you mean by that?

Well, I originally thought that EEVEE would give us more user-independent solutions. In the end to make a scene of EEVEE is almost to mount a level of a game, you have to be configuring the lights, the reflections, the volumes of illumination,… because the solution by default is bad.

For example, you place a simple thing like a box and light… by default you have this

And after basically deactivating all defaults values, improving shadow resolution to 4k and adding softshadows and contact shadows… you have this

This is the basic light of unity with cero config. Yeah, it have few resolutions, but at least if works.

And it’s a box, with complex models you have more problems. I have better results with any basic light in unreal. The lights are really limited, basically the softness option is useless, the VSM don’t improve nothing… For example, this palm tree projected shadows ove


If we quit the softness… Somebody could explain my why it give me shadows of the palm tree where I only must to see box shadows?

Or the artifacts with VSM

Same solution in Unity

Now go to a 12 years old shadows like Crysis (I don’t know what technology they used) and see the softness applied to shadows, it works perfect.

Why cannot user have the options to project ray traced shadows to use with Smooth Shadows? Yeah, they are expensive, but no less that 4 lights at 4K shadows.

Why we cannot configure the resolution of each light shadow? at least to avoid have 40 shadows rendering 2k shadows because you need one rendering 2k.

Yeah, I agree that there are quite a lot of hoops to go through to get acceptable shadow results. A shadow refactor is in the roadmap, and if I’m not mistaken they might take out the whole ESM, VSM system.

So I feel like we still have a quite a bit to go to make Eevee super good. It’s an awesome solution, and for some specific workflows it’s an absolute godsend, but it’s still a long ways to go!

4 Likes

The other day I talk about the shadows. Glad to see a shadow refactor from @fclem, that I suppose that he haf been working weeks/months in that, and works perfectly and the perfomance is thousand times better

[Alberto]
Have you seen the new shadow system? completely new

I’ll answer you here, more relevant.

Yes, I saw.
I’m waiting for a build to go out that I can try, especially on linux, and I’m praying that this time it works fine (it fixes bugs with the GPU’s radeon HD, that were there previously with the old shadow system.)

Edit:

I’m trying the build out, and on windows, my gpu seems to have increased performance

3 Likes

Testing out a basic scene in the new branch, and this is a world of difference. That pesky light bleed seems to be a lot less prominent to the point of not being a problem.

Even contact shadows are unnecessary now, great job @fclem !

For those who want to see what the default cube looks like now, and these were the settings I used:

image

1 Like

Well, after getting in touch with my future mentors, sadly the hypothesis of real time global illumination is not a valid thesis as it stands right now.

The problem with it is that it isn’t very scientific in nature, it’s more of an implementation challenge, which were my fears from the get go.

I’ll be thinking in the coming days about what to do, and I’ll get back to you guys. If in the mean time anyone has another suggestion, I’m all ears :slight_smile:

I think it is sad that your institution is so narrow in its demands for what constitutes a valid thesis topic. I have a Masters and a PhD in CS from well-known institutions, and neither of them had such a rigid view of what constitutes a valid thesis topic. Much advance in Computer Science has not started with a thesis like “Hypothesis: sorting can be done in O(n log n) time”, but rather, much more likely something like “Investigate and improve the state of the art in topic X”. True, it is not “scientific” in the sense that there’s a clear sense of success or failure; but the evaluating committees can generally tell whether some particular work has advanced the state of the art or not.

But I realize that this opinion helps you not at all: you are where you are and need to conform to the requirements of your institution. Can you not turn a topic like real time global illumination into a hypothesis like “Global illumination can be solved in several hundred milliseconds with a scene with characteristics X” [X to be defined, but could involve how many triangles, how many light sources, properties of materials, etc.]?

I understand your point of view, but I may have explained poorly the reason as to why they don’t believe it’s a valid thesis.

Besides, in the way I presented it it didn’t feel like the focus was improving the state of the art, it was just implementing this technology in Eevee, so I get wehere they’re coming from.

I think in order for this to work I’ll have to spin it a certain way, and implementing it in Blender can be a “side product” of the investigation.

Regarding your spin on the hypothesis, I don’t think that would fly just because Real Time Global Illumination has been achieved well in the past using radiance probes, and better times can be achieved simply because better hardware already exists. Thank you for your suggestion and input though!

So a bit of an update, I suggested an alteration to the proposal, and it is now valid! If everything goes according to plan, they’ll submit the proposal until Tuesday, and by October 13th I’ll start working on it as a thesis project!

We managed to make it a lot more open ended, more exploratory and see what we can do to improve certain aspects of this. However, I’ve been thinking and it might be too challenging to do this AND implement it in Blender for my thesis. For this reason I’m separating Blender from the main parts of the thesis, while still leaving open the possibility of helping the implementation in my spare time. After all, contributing to Blender was the reason I started this in the first place!

I’ll update you as soon as I finalize this process!

4 Likes