gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz/gfx/libpaper texcomb_NV1X.py


From: Janne V. Kujala
Subject: [Gzz-commits] gzz/gfx/libpaper texcomb_NV1X.py
Date: Tue, 24 Sep 2002 11:58:21 -0400

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Janne V. Kujala <address@hidden>        02/09/24 11:58:21

Modified files:
        gfx/libpaper   : texcomb_NV1X.py 

Log message:
        Fix lerp inversion (the color order in the code did not match 
comments); start implementing fraction-line-color-combiner (does not seem to 
work yet)

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libpaper/texcomb_NV1X.py.diff?tr1=1.11&tr2=1.12&r1=text&r2=text

Patches:
Index: gzz/gfx/libpaper/texcomb_NV1X.py
diff -c gzz/gfx/libpaper/texcomb_NV1X.py:1.11 
gzz/gfx/libpaper/texcomb_NV1X.py:1.12
*** gzz/gfx/libpaper/texcomb_NV1X.py:1.11       Sat Sep 14 06:22:28 2002
--- gzz/gfx/libpaper/texcomb_NV1X.py    Tue Sep 24 11:58:20 2002
***************
*** 26,31 ****
--- 26,33 ----
            texinputs = texinputs + texinputs
        t0, t1, t2, t3 = texinputs[0:4]
  
+         #c0, c1, c2 = [ "1 1 1", "1 0 0", "0 0 0"]
+         
        constantcode = """
              Enable BLEND
              BlendFunc SRC_ALPHA ONE_MINUS_SRC_ALPHA 
***************
*** 119,132 ****
                FCI F SPARE0_NV UNSIGNED_IDENTITY_NV RGB
  
                  # lerp(EF, PRI_COL, SEC_COL)
!               FCI A E_TIMES_F_NV UNSIGNED_IDENTITY_NV RGB
                FCI B PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB
                FCI C SECONDARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB
                FCI D ZERO UNSIGNED_IDENTITY_NV RGB
  
                FCI G %(finalG)s UNSIGNED_INVERT_NV BLUE
            """)
!         else:
              # Interpolate between three colors:
              # d0 = t0 . r0
              # d1 = t1 . r1
--- 121,134 ----
                FCI F SPARE0_NV UNSIGNED_IDENTITY_NV RGB
  
                  # lerp(EF, PRI_COL, SEC_COL)
!               FCI A E_TIMES_F_NV UNSIGNED_INVERT_NV RGB
                FCI B PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB
                FCI C SECONDARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB
                FCI D ZERO UNSIGNED_IDENTITY_NV RGB
  
                FCI G %(finalG)s UNSIGNED_INVERT_NV BLUE
            """)
!         elif 1:
              # Interpolate between three colors:
              # d0 = t0 . r0
              # d1 = t1 . r1
***************
*** 151,159 ****
  
                  # PRI_COL <- lerp(SPARE0, PRI_COL, SEC_COL)
                CI1 RGB A PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB
!               CI1 RGB B SPARE0_NV UNSIGNED_IDENTITY_NV RGB
                CI1 RGB C SECONDARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB
!               CI1 RGB D SPARE0_NV UNSIGNED_INVERT_NV RGB
                CO1 RGB DISCARD_NV DISCARD_NV PRIMARY_COLOR_NV NONE NONE FALSE 
FALSE FALSE
  
                  # SPARE1.alpha <- SPARE0^2 - SPARE1^2
--- 153,161 ----
  
                  # PRI_COL <- lerp(SPARE0, PRI_COL, SEC_COL)
                CI1 RGB A PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB
!               CI1 RGB B SPARE0_NV UNSIGNED_INVERT_NV RGB
                CI1 RGB C SECONDARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB
!               CI1 RGB D SPARE0_NV UNSIGNED_IDENTITY_NV RGB
                CO1 RGB DISCARD_NV DISCARD_NV PRIMARY_COLOR_NV NONE NONE FALSE 
FALSE FALSE
  
                  # SPARE1.alpha <- SPARE0^2 - SPARE1^2
***************
*** 164,175 ****
                  CO1 ALPHA DISCARD_NV DISCARD_NV SPARE1_NV NONE NONE FALSE 
FALSE FALSE
  
                  # lerp(SPARE1, PRI_COL, FOG)
!                 FCI A SPARE1_NV UNSIGNED_IDENTITY_NV RGB
                  FCI B PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB
                  FCI C FOG UNSIGNED_IDENTITY_NV RGB
                  FCI D ZERO UNSIGNED_IDENTITY_NV RGB
  
                FCI G %(finalG)s ALPHA
            """)
              
              
--- 166,226 ----
                  CO1 ALPHA DISCARD_NV DISCARD_NV SPARE1_NV NONE NONE FALSE 
FALSE FALSE
  
                  # lerp(SPARE1, PRI_COL, FOG)
!                 FCI A SPARE1_NV UNSIGNED_INVERT_NV RGB
                  FCI B PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB
                  FCI C FOG UNSIGNED_IDENTITY_NV RGB
                  FCI D ZERO UNSIGNED_IDENTITY_NV RGB
  
                FCI G %(finalG)s ALPHA
+           """)
+         else:
+             # Interpolate on the fraction line c0,c1,c2:
+             # d0 = t0 . t1
+             # c(d0) =
+             #    -1 -> c0
+             #     0 -> c1
+             #    +1 -> c2
+ 
+             # lerp(d1, lerp(d0, c0, c1), c2)
+             # The alpha value is computed as d0^2 - d1^2
+ 
+             if trans > 0:
+                 finalG = "SPARE1_NV UNSIGNED_IDENTITY_NV"
+             else:
+                 finalG = "ZERO UNSIGNED_INVERT_NV"
+             
+           c = ("""
+                 # Fraction-line color interpolate
+                 
+                 # SPARE0 <- (TEX0 . TEX1)  
+                 # SPARE1 <- -(TEX0 . TEX1) 
+               CI0 RGB A TEXTURE%(t0)s EXPAND_NORMAL_NV RGB
+               CI0 RGB B TEXTURE%(t1)s EXPAND_NORMAL_NV RGB
+               CI0 RGB A TEXTURE%(t0)s EXPAND_NEGATE_NV RGB
+               CI0 RGB B TEXTURE%(t1)s EXPAND_NORMAL_NV RGB
+               CO0 RGB SPARE0_NV SPARE1_NV DISCARD_NV NONE NONE TRUE TRUE FALSE
+ 
+                 # PRI_COL <- lerp(SPARE1, SEC_COL, PRI_COL)
+               CI1 RGB A PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB
+               CI1 RGB B SPARE1_NV UNSIGNED_INVERT_NV RGB
+               CI1 RGB C SECONDARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB
+               CI1 RGB D SPARE1_NV UNSIGNED_IDENTITY_NV RGB
+               CO1 RGB DISCARD_NV DISCARD_NV PRIMARY_COLOR_NV NONE NONE FALSE 
FALSE FALSE
+ 
+                 # lerp(SPARE0, PRI_COL, FOG)
+                 FCI A SPARE0_NV UNSIGNED_INVERT_NV RGB 
+                 FCI B PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB 
+                 FCI C FOG UNSIGNED_IDENTITY_NV RGB 
+                 FCI D ZERO UNSIGNED_IDENTITY_NV RGB 
+ 
+                 # SPARE1.alpha <- t0.b * c0b + t1.b * c1.b
+                 CI1 ALPHA A TEXTURE%(t0)s EXPAND_NORMAL_NV BLUE
+                 CI1 ALPHA B CONSTANT_COLOR0_NV EXPAND_NORMAL_NV BLUE
+                 CI1 ALPHA C TEXTURE%(t1)s EXPAND_NORMAL_NV BLUE
+                 CI1 ALPHA B CONSTANT_COLOR1_NV EXPAND_NORMAL_NV BLUE
+                 CO1 ALPHA DISCARD_NV DISCARD_NV SPARE1_NV NONE NONE FALSE 
FALSE FALSE
+                 
+               FCI G %(finalG)s ALPHA 
            """)
              
              




reply via email to

[Prev in Thread] Current Thread [Next in Thread]