[Top][All Lists]
[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
""")