Skip to content

Conversation

@boberfly
Copy link
Collaborator

@boberfly boberfly commented Nov 5, 2024

Generally describe what this PR will do, and why it is needed

Cycles :

  • Fixes a double-up of displacement edits every time the shader was modified.
  • Added support for automaticInstancing attribute support (this is an opportunistic addition which is fairly related!)

TODO: I can't seem to trigger the unit-test as the live scene edit isn't actually being applied properly with the update to the sphere object's attributes - is there something I'm missing here?

Related issues

Dependencies

  • N/A

Breaking changes

  • Scene locations with automaticInstancing disabled on scene locations will now not do any instancing, not sure if anyone would be setting this in a Cycles scene prior to this but they might've been and will get a different result.

Checklist

  • I have read the contribution guidelines.
  • I have updated the documentation, if applicable.
  • I have tested my change(s) in the test suite, and added new test cases where necessary.
  • My code follows the Gaffer project's prevailing coding style and conventions.

@boberfly
Copy link
Collaborator Author

boberfly commented Nov 5, 2024

Looks like this addresses displacement modifications but not surface shader modifications. Most likely it is this flag that's getting set: https://projects.blender.org/blender/blender/src/commit/4aa18b7242f508c0c81f8d5b5bc480ded955606b/intern/cycles/scene/shader.cpp#L390
So I think we might just need to remove that optimisation and just re-issue a mesh for all shader modifications unless I can come up with a workaround or modify Cycles itself...

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant