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

Arnold ShaderNetworkAlgo : Add custom substitutions API #6167

Open
wants to merge 1 commit into
base: 1.5_maintenance
Choose a base branch
from

Conversation

johnhaddon
Copy link
Member

This is an API I promised to @tomc-cinesite and @alex-savenko-at-cinesite, to facilitate the creation of a neat system of hierarchical shader overrides. I'm really not sure that these substitutions belong in the renderer backend, and think there is a good case that they belong in the shader publishing process instead. But I have done the work in order that no one can accuse me of not wanting to do the work, and to thus strengthen my position in any future negotiations :)

@boberfly
Copy link
Collaborator

Just to note its a mess over on the other DCC app where <attr:something> works for Arnold like it does in Gaffer, but Prman uses <primstr:something> so I like the idea of it living outside the renderer backend...

@johnhaddon
Copy link
Member Author

johnhaddon commented Dec 2, 2024

Are you saying you'd like to see this lifted even further out @boberfly? So that we did it before even passing to the renderer? I was wondering about that when doing this. I went for the smallest possible change this time around, but I think moving it all up a level and caching the CompoundObject -> Renderer::AttributesInterface conversion might be worth thinking about.

@boberfly
Copy link
Collaborator

boberfly commented Dec 2, 2024

Yeah I am just worried you get into a world of inconsistency between the renderers doing it this way, like if you plan on using the same shaders between renderers (might be fairly niche though in practice). I do enjoy Gaffer's overall consistency everywhere else, but I don't know what the bigger goal is with this API. The <attr:something> seems to work well for string substitutions between the renderers.

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

Successfully merging this pull request may close these issues.

2 participants