Custom RenderEnvironment not updating correctly in Raytraced

No problem, I was able to improve other parts…

I can understand the temperature part:) (it is something what is not better every year…)

I have a small issue, and not top priority at all but strange. Maybe you have an idea (maybe I should have starte a new topic)… anyway…
The plugin has an own environment type. And if it is used as a Rhino environment and user switches to Raytraced mode it looks fine. But it doesn’t change when I change the parameters. Raytraced mode restarts but doesn’t change according to the new parameters (while Rhino normal render display mode changes correctly). When user changes a parameter I do the data change between renderContent.BeginChange(Rhino.Render.RenderContent.ChangeContexts.UI);
and EndChange()
Any idea?


The data you change, is that in the Fields dictionary or in member variables?

Fields dictionary

and it seems the plugin TextureEvaluator runs with the correct data…

I think raytracing mode caches the environment texture, but doesn’t refresh it after the change. Even if I switch back to wireframe mode, change the value, and switch back to raytraced, it shows the first environment. Is there a hash (other than the normal hash) it is watching?

Raytraced checks the render hash that has a set of texture flags disabled:

I’d expect the RenderHash changes when changed as you say you do.

Perhaps you could share with me privately your current custom RenderEnvironment so I can test to see what is going on? As always it could also be a bug in the way Raytraced handles it…

Ahh Ok, I see now.
The RenderHashExclude(…) on the plugin texture returns with the same value after changing the custom field.
The Calculated hash I returned seems to be wrong.
Now it is fixed, thanks:)


Ah, cool! Glad the info was enough (: