Stoney Jackson wrote:

>>C' = C0*C2 + C1*(1 - C2)
>>
>>C0 is incoming texture, C2 is blend color, C1 is previous stage.

> Example (for one pixel):
> Unit 0:
>     C0 = red = 1,0,0,1
>     C1 = transparent black = 0,0,0,0
>     C2 = texture0 = 1
> then
>     C' = C0 = red
[...]
>
> Now Unit 1 comes along:
>     C0 = green = 0,1,0,1
>     C1 = C' = red = 1,0,0,1
>     C2 = texture1 = 1
> then
>     C'' = C0 = green


No, because it is done on each color separately.

for ( tex = 1, with previous stage red)

C''[R] = 1*0 + C'[R]*1 = C'[R];
C''[G] = 1*1 + C'[G]*0 = 1;
C''[B] = 1*0 + C'[B]*1 = C'[B] = 0 (because blue is in next stage);


for ( tex = 0.5 (half green) )
C''[R] = 0.5*0 + C'[R]*1 = C'[R];
C''[G] = 0.5*1 + C'[R]*0 = 0.g;
C''[B] = 0.5*0 + C'[B]*1 = C'[B] = 0 (because blue is in next stage);

I think it is exactly what you want. When blend =1 this means, copy
instensity to given channel. If blend =0, means copy channel from
previous stage.

C' = C0*C2 + C1*(1 - C2)

If C2 = 1, then
C' = C0 (texture)
if C2 = 0, then
C' = C1 (previous stage)
with C2 set separately for each channel by blend color.


Artur

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to