Suggestions on topic for Master’s Thesis on Blender

Hi there!

I am going to enter my Master’s thesis in a few short months, and before that I need to either accept previously proposed thesis, or I could propose a theme for my “mentor”, and if he agrees, he can propose the topic to the university, and then work can begin!

I love Blender, and I thought it would be really interesting to maybe support this project in a substantial manner, like a thesis for some part of Blender. However, I’m a bit lost to see what exactly could be done (that isn’t already being done, or is going to be done by the developers).

It would be a 4 month, full time thesis, so that gives me a lot of time to learn new subjects. This means that a suggestion could be regarding any topic, I am fascinated by this area, and everything seems to be quite interesting!

The most important thing to the suggestion is that it’s an hypothesis that can be validated. Without this it cannot be considered a thesis, and therefore cannot be accepted by the mentor.

Please send some suggestions about what you would like to see improved, it would really help out a lot!

5 Likes

Are you talking about coding a new feature for Blender as a part of your thesis like a GSoC project? Or did I completely misunderstand the topic?

1 Like

Yup, that’s pretty much spot on! Like a “thesis of code” of sorts :smiley:

1 Like

Ah, cool! :smile:

Then here are a few suggestions I have about a better brush manager in Sculpt Mode. Right now there is the problem where you have to append your brushes library every time you start up a new project, instead of just having them all load automatically on start-up.

Blender also doesn’t have a single file format where all brushes are saved into like how Photoshop does it with its .ABR format, but are instead separate files. Having a single file format would make it a lot easier to save, import, export, and share brushes with other Blender users.

There are also issues with the UI functionality for the brushes panel where you pick brushes with different settings. You can’t right now sort brushes manually, group them in folders, or even differentiate them since there is no brush preview based on things like jitter, spacing, brush radius (i.e. with or without pen pressure), and more.

Can also mention issues with importing and adding textures to your brushes inside Sculpt Mode. You can’t to my knowledge directly search for textures on your hard drives to add to your sculpt brush in the Tool panel/Texture menu, which is a bit annoying.

Don’t know how hard/easy it is to fix any of these, but I hope it gave you some ideas at least! :wink:

1 Like

As a person who loves to sculpt on Blender, I can relate with the last one, searching for textures to sculpt is quite a bit annoying! Sculpting is something quite interesting, though I’m not aware of how much work is already being done on that end…

1 Like

You could always talk to Pablo Dobarro, since he is the main guy in charge of Sculpt Mode features right now. He probably knows what’s up. :slight_smile:

Edit: Here’s his Twitter account. Hopefully he can be reached there: https://twitter.com/pablodp606

1 Like

That is really quite interesting, thank you so much for the suggestions! I’ll get in touch with him to see if there’s any meaningful contribution that can be done! :smiley:

1 Like

welcome! Why are so many dodos here? There is also a lazy dodo in this forum :sweat_smile:

3 Likes

It would appear they are very competent extinct animals :smiley:

1 Like

What’s the Master’s program? Computer Science? Any particular specialization?

It’s in Computer Sciences, but the specialization is not something that is highly critical. It does need to involve software, and Blender fits that really well :slight_smile:

There are a lot of computer graphics papers that haven’t been implemented in any major app, especially in simulation. You could probably pick any SIGGRAPH simulation paper and base a research project around it.

What I’m really interested in is NPR rendering- we’ve got a great line renderer already built-in (Freestyle), and LANPR is probably gonna be in 2.81- but I wonder if there’s research to be done in tone-mapping and building NPR features into Cycles? Cycles is desperately in need of new toon shaders. You might enjoy working with the Mitsuda Renderer if you’re doing research involving rendering, it’s not Blender but it’s open source and designed fro research.

Something that would be really valuable to Blender users is pipeline management/profiling/overview tools. For example, a way of managing the relationships between linked .blend files, tools for measuring performance impact on a per-collection/per-object basis, maybe even research into version controlling 3D binary data (which is kind of hard to do right with traditional VCS, since they’re made for code). Anything involving pipeline integration is a good idea: vdb, alembic, usd, etc.

I’d love to see light-groups for Cycles and especially EEVEE There are a lot of people that want the info panel to automatically generate macros in the same way that MEL does. Texture Painting is a hugely important niche that’s not being filled very nicely by FOSS compared to Substance, Mari, etc. . Implementing UDIM painting might be a good task to work on.

I don’t know how hard you want to work on this; some of these ideas could be a lot more than four months of work. I tried to make a list of idea that either aren’t being worked on or aren’t current targets. And of course, you should scroll through RightClickSelect and see what you like, check the modules on developer.blender.org page and see if any of the roadmaps interest you. You might also look at past GSOC proposals and see if you can revive or improve on them.

If NPR rendering interests you, I can give you some specific ideas about topics to research.

2 Likes

That was an excellent reply, thank you so much for that!

Regarding NPR, it’s not something I’m personally interested in, so it doesn’t motivate me that much, if I’m being frank.

However, all the other suggestions you mentioned are really, really interesting.

I’ve never heard before of the Mitsuba Renderer, but it’s a fascinating beast.

The pipeline tools are extremely valuable, though I am not quite sure whether I’m up for a task like that (maybe it’s the nerves getting to me :D).

The texturing side is one aspect that I never really enjoyed doing on Blender. Substance is light years ahead on that front, so it would be a personal challenge to help raise that bar for FOSS, but one that I would be motivated to do.

Once again, thank you for taking the time to suggest this, I’ll be thinking about this more in the days to come :slight_smile:

1 Like

You might look at Armour Paint, then, if you’re interested in texturing. It’s the only other FOSS app I know of that attempts to fill the niche. It’s kind of a pain to compile but Jayanam has a good tutorial for it.

1 Like

Interesting, but not really my cup of tea. For a thesis I would be more interested in Blender, but for personal use I might look into it, thanks!

1 Like

Rather than necessarily making it about an improvement to Blender, you could still use Blender as the implementation test bed for just about any topic in CS. Something in data structures with an application in Blender, some topic in Rendering where you use Cycles say as the system to implement the idea in (lots of papers out there as someone mentioned), or just about anything you can drive from Python (Machine Learning, or any other Big Data topic) which you could then generate interesting visualizations of using Blender’s Python API, etc.

Maybe you can have a look at making cycles a spectral renderer there was a thread about it here

That makes sense, though I’m a bit unsure whether that would be an interesting thesis from a more practical point of view.

However, there is a possibility of me having the thesis in a company, and the company I’m currently working for is investigating using Blender for server side rendering. Maybe I can join the two of them together :slight_smile:

I have never heard anything like that, though I am curious. I’ll look into it later today and let you know what I think, thank you!

There was a Google summer of code about improving Cycles and eevee for procedural content creation:

Check this out, buddy!

1 Like