Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Retire Material Composer #332

Open
hmans opened this issue Oct 12, 2022 · 0 comments
Open

Retire Material Composer #332

hmans opened this issue Oct 12, 2022 · 0 comments

Comments

@hmans
Copy link
Owner

hmans commented Oct 12, 2022

Extracting what used to be known as VFXMaterial into a separate library felt like a good idea at the time, but it's created two problems:

  • It is now very hard to explain to users when they should be using Shader Composer, when Material Composer, and when VFX Composer, especially since each one requires the ones before it (with VFX Composer, you'll work with all three, and have to add all three to your project even for very basic effects, ouch)
  • The only thing that VFX Composer implements now is the particles engine. Why would the library still be called VFX Composer, especially considering a lot of VFX don't even use particles?

For this reason, I want to re-integrate the functionality that Material Composer provides back into VFX Composer. I'm using the opportunity to implement a new style of JSX API for module composition that sits on top of Shader Composer's new <Shader> construct that will be a lot more lightweight and frictionless than the current Composable.* and Modules.* proxies:

<meshStandardMaterial>
  <ShaderModules>
    <Color ... />
    <Velocity ... />
    {/* etc. *}
  </ShaderModules>
</meshStandardMaterial>

The good news is that this will not break existing code, or otherwise invalidate Material Composer; you will still be able to use it to create materials, but the library will be deprecated in favor of VFX Composer's new material composition API.

Details to follow when I get started with implementing this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant