question

Timothée Chabat avatar image
Timothée Chabat asked ·

Callback when parameter changes

[Maya2019 ; Arnold6.0.1.0 ; MtoA4.0.1.0]

Hello

I'm writing a C++ shader that precomputes values into an array to speed up shader_evaluate calls. I need to update this array whenever a parameter is changed.

What I planned to do is : store former values of parameters, compare them with the current ones in shader_update and generate the array if they are different.

Is there a better way of doing this ? I feel like this is very heavy and and I don't want for this verifications to be done multiple times per rendering in case of IPR. I know it is possible to create callbacks in the Python template but I'm not sure this is usefull for my c++ program.

If there's not, is shader_update threaded ? i.e. should I lock a mutex or something before checking and updating my array in shader_update ?

shaders
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

1 Answer

· Write an Answer
Max Tarpini avatar image
Max Tarpini answered ·

If there's a better way of doing this ? Sure. Not doing it :)

Share
10 |600 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 2.0 MiB each and 9.8 MiB total.

Welcome to the Arnold Answers community.

This is the place for Arnold renderer users everywhere to ask and answer rendering questions, and share knowledge about using Arnold, Arnold plugins, workflows and developing tools with Arnold.

If you are a new user to Arnold Answers, please first check out our FAQ and User Guide for more information.

When posting questions, please be sure to select the appropriate Space for your Arnold plugin and include the plugin version you are using.

Please include images, scene and log files whenever possible as this helps the community answer your questions.

Instructions for generating full verbosity log files are available for MtoA, MaxtoA, C4DtoA, HtoA, KtoA, and Kick.

If you are looking for Arnold Documentation and Support please visit the Arnold Support site.

To try Arnold please visit the Arnold Trial page.

Bottom No panel present for this section.