Re: dissolve texture with alpha mask

Date : Wed, 23 May 2007 00:11:38 +0200
To : XSI(at)Softimage.COM
From : Andy Jones <andy(at)thefront.com>
Subject : Re: dissolve texture with alpha mask
I think what you're hitting on is the sort of "damned if you do, damned if you don't" of nodes. I don't know if you've ever used Fusion or Shake, but if you look at those two programs, it's a pretty good example of how node-based systems can try to either put everything you might want into each node, or keep everything broken out into simple components. Both systems can have big advantages. Ultimately, a Fusion comp will often have fewer nodes because more operations are provided in each node. But in a Shake comp, you'll always know exactly what each node does with little fussing about. Which is better? Ultimately, it's just a matter of opinion, and depends on the individual. Personally, I usually prefer working with nodes that are fairly simple. That way I know exactly what everything is doing and can understand what is and isn't optimized. But at the same time, I find my shader trees in XSI to be pretty enormous by the time I finish them. Which is why I end up writing custom shaders instead.

Ultimately, I think the happy medium lies with the ability to create "macros" that are sets of nodes combined to do a particular task. XSI's ability to do this is pretty limited, as it requires knowledge of spdl syntax. But it is possible. And in fact, quite a few of the shaders in XSI are actually several shaders bundled together into one. But there is certainly a lot of room for improvement in terms of making it easier to these types of shaders by combining nodes. With such a system, you would create a shader tree that does exactly what you want, providing the ability to manipulate your alpha however you want, then you'd reference that shader tree into your materials as a single node. And you could update it later, non-destructively.

- Andy

Ponthieux, Joey wrote:

Brad, Andy,
I finally got this to work. Thanks! It would seem that what I needed was the a mix2colors node and that helped tremendously. I managed to separate the alpha and and run it through an intensity node. It worked fine.


Am I missing something or doesn't this seem like an awful lot of extra work for something which I think should be real fundamental. It strikes me that if I set up a file->image->sprite->material network, this is a real simple structure which quickly and simply generates the underlying structure of the decal texture on a transparent placard. But there is no where to manipulate the sprite's alpha level, or rather the positive image area. Instead you are relegated to create large cumbersome to accomplish a simple task.

Several things stand out:

1. Why doesn't the Sprite node have alpha level manipulation? In the Stencil settings you can set mode to alpha but the threshold does nothing. Apparently this is some sort of zpic data threshold.

2. Why doesn't the file node provide for alpha level manipulation? It has a ton of features, cropping, image level effects, timing, etc etc, etc. You can even blur the alpha, but nowhere can I find that it provides for alpha level manipulation.

3. Layers are well suited to this effect but are prevented from facilitating the effort by the base color. The base material transparency effects the base color as well as all layers. Why can't the base transparency be separated from the layer transparency? I have been unable to determine if this is even possible, but it should be. Further, Layers provide a premult switch where the base colors don't.


Ironically what is so frustrating about this is that in Maya, almost every node provides the ability to manipulate alpha level, even if they don't accept an alpha. And a number of real important nodes have no concept on how to pass the alpha through. Really bizarre and very frustrating because you have to do all these complex channel runs just to process alpha across these nodes.


But XSI passes alpha through just about everything without fail, yet provides little to no manipulation of the alpha once injected into the node. It's an XSI thing I suppose because most nodes do this, the RGBA controls are off limits once data is piped into the node input element.

What would be really useful however is a Levels node which allow individual manipulation of the levels of all channels of whatever is plugged into the node. The HLS_Adjust node is almost that node, but it offers no control over alpha. If there was a similar node that received RGBA and allowed separated gain manipulation of each channel this would work well and would save a lot of needless network construction just to isolate the alpha and manipulate it's level.

I understand that a network can be created to do what I want, I just think it could be easier.

Anyway, been a long day, needed to extract this from my head LOL

Joey



Andy Jones wrote:

Are you using a sprite shader? If so, separate your alpha channel and multiply it by a scalar that represents the value of the overall presence of your "letter A." So, basically, you end up manipulating your alpha channel so that it ranges between 0 where there is never any image and the alpha value of the fully present part of the image. So, if it's 50% opaque, the alpha goes from 0 to .5.

- Andy

Ponthieux, Joey wrote:

Hello,
I have a polygon which has a texture mapped on it. The texture has an alpha which is used to mask out unwanted areas of the image. All unwanted areas should be transparent. I can construct this appearance but I am finding that I am unable to fade the positive part of the image in and out.


For example, if I had a card, and I textured the letter A on the card, only the letter would be visible, everything else on the card would be transparent. Then I want to dissolve the letter in and out at will while maintaining the base transparency.

I have tried constant shaders, sprite shaders, layers etc. I have manipulated mask connections, alpha connections, but still I can find no way to accomplish this. Any suggestions would be greatly apreciated.


---
Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body:
unsubscribe xsi




--- Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body: unsubscribe xsi


Search the XSI List archives here or use the advanced search form to search across mailing lists. Searching help is available.
This site supposedly brought to you by Benjamin Grosser and the Imaging Technology Group.