UI wish: MagmaFlow indicator of "supported" channels

Little wishlist item for the UI…

For the OUT of the KCM, where you have “Standard” Channel names, could you have a dividing line (or bunch 'o hyphens) separating the channels that actually get USED by Krakatoa when rendering? This dividing line may move around a bit between Krak 2 and Krak 2.5 or whatever, but just give the user an idea as to “This will/won’t get used by Krakatoa in rendering”, that way the user will know what to set for KCM’s and what to set for actual rendering.

Like I see that Eccentricity, SpecularPower, SpecularLevel, etc, are below Age, MXSFloat, etc. If the ones used by the rendering could get moved up, above the line, we’d know what channels are the “important” ones (outside of KCM’s or general particle pipeline use).

  • Chad

Should the list just be ordered differently by default, or should that list dynamically change what is above and below the line depending on what is active in Krakatoa at any given moment? The Eccentricity, Specular Power etc. are used only when enabled. The mapping channels (all 100 of them) are used only when a map requires them. Right now, the 98 channels 2 to 99 are at the end of the list and I don’t want to put anything behind them. Is that ok?

Anyway, I moved the three you mentioned right behind the Absorption and Emission on the list. I am not going to add a line because that would be an entry on the list and require extra handling and look ugly. Anything after the TextureCoord channel will be a channel not used by Krakatoa during rendering. If a user does not know what a channel is used for, he should not be using KCMs :wink:

Fair enough about the line, but is there any other way to indicate what is “used”? Like bold/italics? Or the color of the text? I don’t know what’s available, just thinking of things that wouldn’t add an extra entry.

Resorting the list dynamically would be cool, but totally unneeded. Especially since MOST of our shots involve passes, so we might have a KCM modifying normals while Isotropic is the currently active shading mode.

  • Chad

Can you explain what “is used” means? Used by what?
For example, the Color channel can be used by a Vertex Color Map in a material or a KCM AND will be used by the Renderer. The Normals might be used for pushing particles in another KCM and/or by the Renderer. Positions are definitely being used by the Renderer, but TextureCoords are generally used by maps to apply textures and never by the Renderer itself.
The list of channels actually ALLOCATED by the Renderer and kept in the PCache can be seen in the Channels rollout. Are you asking me to add some marker to all channels in a KCM node that appear on the Memory Channels list? Or something else?

Yes, the pcache-able ones. I put “used” in quotes because yes, as you mention, the stuff can be used indirectly.

  • Chad

As a test, I added a text line below the Channel name in Input and Output nodes that reads “Will Be Stored In PCache” or “Not Cacheable”.
You can see it ONCE you select a channel from the list or type in a channel name.
Adding some mark next to the actual names on the lists would require a lot more work.
Is this something you can use or should I look into getting the lists to mark the channels?

Sorry, didn’t mean to make such a fuss. Heck, even a asterisk after the name would be enough to identify it.

I just wanted the artist to see is and isn’t a “Krakatoa” channel vs something you just cook up to store data used by a map or KCM or another run through the particle mill.

The re-ordering of the list might be enough to make it understandable. I just didn’t want someone thinking that Acceleration would affect the motion blur, or that LifeSpan would cull particles.

  • Chad

Oh, that’s a matter of educating the people :wink:
I am pretty sure that someone using KCMa will have to learn what comes from where and goes where, and I intend to spend a lot of time writing docs in the coming weeks (already do).

I am using the items on the list directly As Is for certain things, so adding an asterisk would force me to duplicate the array and use the copy for searching and assigning while the list itself would be for display purposes only. That’s why I am not crazy about adding stuff there. Plus it would not prevent somebody from thinking that LifeSpan would do something, it really is a matter of understanding the system…