I’m currently writing a C++ SOP and there are a couple of odd bits that I don’t quite get.
In the samples we have myExecuteCount which is handy for getting the execution time but from what I gather this is in no relation to frame rate. For example I want to update a simulation using deltaTime. In order to get the deltaTime I need to know the frame rate and myExecuteCount does this fine unless I move a parameter at which point the SOP seems to execute faster than the frame rate causing my simulation to speed up. My first thought was to have a time inc. parameter like the particle SOP and feed in my frame rate that way. This does work fine however I can’t find a way to have the default value of a parameter be an expression, in this case 1/root.time.rate? Is this possible or should I RFE this?
Or maybe there’s another way to get the current frame?
I’m assuming too that gpudirect doesn’t allow for copying to points etc too in SOP land? I assume that’s why we have both options.
Pages seem to work great for CPlusPlus ops but don’t work for custom operators so I don’t know if thats a bug or just a weird way that the parameters work? Would be nice if they worked on custom ops too.
In custom DATs is it possible to have a callbacks DAT with this or would that need to be created as a second custom OP? I guess we’re getting into pretty complicated territory there and a dat execute might suffice.
The final thing I guess is a bit of an RFE rather than a question is it’d be great if there was an example of an OpenGL filter TOP. I know we have the GLSL TOP for this but sometimes I want to have a little more control and also it makes it nice and easy to bring in as it’s in the OP Create Dialog.