Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
140 stars 2 forks source link

Modular Materials #631

Closed minenick123 closed 1 year ago

minenick123 commented 1 year ago

Is your feature request related to a problem? Please describe.

A lot of the times you want some base material like PBS for example with a emmision map and then a mask for that emmision map. Or you want one rim light and displacement etc. Currently you can achieve some effects by using material stacking but thats performance intensive and incredebly clunky

Describe the solution you'd like

Modular materials would be something along the lines of choosing a Base shading method: PBS, Toon, Unlit, Fur etc and that creates a material container or something like that. then you could choose from something like the component attacher what things to add to the material like 1 texture (Albedo), 1 texture (Emmision) with a mask bound to that emmsion texture etc

This would help cut out features of exisiting materials that you wont use for exaple VRC avatars dont have Ambient Occlusion, Metalic etc so thoes wouldnt need to exist, while if you have a model made with using Emmisions and masks or Rims with masks you could use it with your prefered shading method

Of course Materials should be able to have infinite ammount of fields some a limit of 10-20 Things per material could do some good

Describe alternatives you've considered

None

Additional Context

I have no idea about materials coding etc and who knows if this will be more heavy in the end then premade materials but it is a fun idea nonotherless

epicEaston197 commented 1 year ago

From what it sounds like this would be something that would come with the new rendering engine and custom shaders this request would likely have to be delayed until those are implemented

Not a developer but this is just coming from my experience with how this project is developed

Frooxius commented 1 year ago

Yes, this would fall under Custom Shaders. The goal is to be able to create custom shaders with ProtoFlux once we have our own rendering engine, which will include blocks to setup common shading models.

I'm closing this issue in favor of our official one: https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/632