We now have a few matrix operators, but would it be possible to have a matrix datatype? I’m thinking it would be useful for doing color matrix work, as well as doing custom position transforms.
I was just trying to do a RGB->HSV BlackOp and thought “Hey, wouldn’t it be easier to do this as a matrix?”
At this point, we made the conscious decision to skip the Matrix type for various reasons.
*First, we already support object/world space transforms at a higher level (the user picks the node and does not have to deal with matrix values) and in our experience, that’s what 99% of the users would want to do with them (we realize you are a separate category of those 1% who want to do more).
*Second, it is possible albeit not too easy to implement Matrix transformations using Vector Values and the existing vector Operators, possibly in custom BlackOps. I think Darcy played with something like that a couple of weeks ago.
*Finally, it is our aim to make KCM compiling and execution as simple and as fast as possible (since we are dealing with millions of particles and performance is important), so we are trying to reduce the number of special cases and data types - note that we don’t have a Channel of a Matrix value type, so having a value type within the KCM that cannot be saved out to a data channel does not make much sense.
Yeah, I suppose once you do it once with the BlackOps, it’s not so painful, as you just reuse it over and over. I’ll see how bad it is to do some of these things in the KCE, and compare it to processing it with a texture map