gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz/gfx demo/paperbasis.py libutil/nvcode.py


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz/gfx demo/paperbasis.py libutil/nvcode.py
Date: Mon, 25 Nov 2002 06:05:12 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        02/11/25 06:05:12

Modified files:
        gfx/demo       : paperbasis.py 
        gfx/libutil    : nvcode.py 

Log message:
        Work on paper film. Adapt to parseCombiner

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/paperbasis.py.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libutil/nvcode.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text

Patches:
Index: gzz/gfx/demo/paperbasis.py
diff -u gzz/gfx/demo/paperbasis.py:1.14 gzz/gfx/demo/paperbasis.py:1.15
--- gzz/gfx/demo/paperbasis.py:1.14     Sat Nov 23 14:03:35 2002
+++ gzz/gfx/demo/paperbasis.py  Mon Nov 25 06:05:12 2002
@@ -32,169 +32,69 @@
     """
 
 tex0codes = {
-    "RGB" : nvcode.combinercode("""
-    CombinerParameterNV NUM_GENERAL_COMBINERS_NV 1 # Cannot be 0
-    FCI A ZERO UNSIGNED_IDENTITY_NV RGB
-    FCI B ZERO UNSIGNED_IDENTITY_NV RGB
-    FCI C ZERO UNSIGNED_IDENTITY_NV RGB
-    FCI D TEXTURE0 UNSIGNED_IDENTITY_NV RGB
-    FCI G ZERO UNSIGNED_INVERT_NV ALPHA
+    "RGB" : nvcode.parseCombiner("""
+    color = TEX0
+    alpha = 1
     """),
-    "DOT" : nvcode.combinercode("""
-    CombinerParameterNV NUM_GENERAL_COMBINERS_NV 1
+    "DOT" : nvcode.parseCombiner("""
+
+    SPARE0 = (2*TEX0-1).(2*COL0-1)
+    color = SPARE0
 
-    CI0 RGB A TEXTURE0 EXPAND_NORMAL_NV RGB
-    CI0 RGB B CONSTANT_COLOR0_NV EXPAND_NORMAL_NV RGB
-    CI0 RGB C TEXTURE1 EXPAND_NORMAL_NV RGB
-    CI0 RGB D CONSTANT_COLOR1_NV EXPAND_NORMAL_NV RGB
-    CO0 RGB SPARE0_NV SPARE1_NV DISCARD_NV NONE NONE TRUE TRUE FALSE
-
-    FCI A ZERO UNSIGNED_IDENTITY_NV RGB
-    FCI B ZERO UNSIGNED_IDENTITY_NV RGB
-    FCI C ZERO UNSIGNED_IDENTITY_NV RGB
-    FCI D SPARE0_NV UNSIGNED_IDENTITY_NV RGB
-    FCI G ZERO UNSIGNED_INVERT_NV ALPHA
     """),
     }
 tex1codes = {
     "RGB" : nvcode.combinercode("""
-    CombinerParameterNV NUM_GENERAL_COMBINERS_NV 1 # Cannot be 0
-    FCI A ZERO UNSIGNED_IDENTITY_NV RGB
-    FCI B ZERO UNSIGNED_IDENTITY_NV RGB
-    FCI C ZERO UNSIGNED_IDENTITY_NV RGB
-    FCI D TEXTURE1 UNSIGNED_IDENTITY_NV RGB
-    FCI G ZERO UNSIGNED_INVERT_NV ALPHA
+    color = TEX0
+    alpha = 1
     """),
     "DOT" : nvcode.combinercode("""
-    CombinerParameterNV NUM_GENERAL_COMBINERS_NV 1
-    
-    CI0 RGB A TEXTURE0 EXPAND_NORMAL_NV RGB
-    CI0 RGB B CONSTANT_COLOR0_NV EXPAND_NORMAL_NV RGB
-    CI0 RGB C TEXTURE1 EXPAND_NORMAL_NV RGB
-    CI0 RGB D CONSTANT_COLOR1_NV EXPAND_NORMAL_NV RGB
-    CO0 RGB SPARE0_NV SPARE1_NV DISCARD_NV NONE NONE TRUE TRUE FALSE
-
-    FCI A ZERO UNSIGNED_IDENTITY_NV RGB
-    FCI B ZERO UNSIGNED_IDENTITY_NV RGB
-    FCI C ZERO UNSIGNED_IDENTITY_NV RGB
-    FCI D SPARE1_NV UNSIGNED_IDENTITY_NV RGB
-    FCI G ZERO UNSIGNED_INVERT_NV ALPHA
+
+    SPARE0 = (2*TEX1-1).(2*COL0-1)
+    color = SPARE0
     """),
     }
 
 isectcodes = {
-    "BAND0" : nvcode.combinercode("""
-                # Band-like texture preliminary
-               # Calculate # TEX0 * TEX1 + 0.5, to see
-               # how the dot product comes in
+    "BAND0" : nvcode.parseCombiner("""
+       SPARE0 = ((2*TEX0-1) . (2*TEX1-1)) * 2
 
-                CombinerParameterNV NUM_GENERAL_COMBINERS_NV 2
-                
-                # SPARE0 <- (TEX0 . TEX1)
-               CI0 RGB A TEXTURE0 EXPAND_NORMAL_NV RGB
-               CI0 RGB B TEXTURE1 EXPAND_NORMAL_NV RGB
-               CO0 RGB SPARE0_NV DISCARD_NV DISCARD_NV SCALE_BY_TWO_NV NONE 
FALSE TRUE FALSE
+       SPARE0 = (+SPARE0) + (.5)
 
-               # SPARE0 <- SPARE0 + 0.5
-               CI1 RGB A SPARE0_NV UNSIGNED_IDENTITY_NV RGB
-               CI1 RGB B ZERO UNSIGNED_INVERT_NV RGB
-               CI1 RGB C ZERO UNSIGNED_INVERT_NV RGB
-               CI1 RGB D ZERO HALF_BIAS_NEGATE_NV RGB
-               CO1 RGB DISCARD_NV DISCARD_NV SPARE0_NV NONE NONE FALSE FALSE 
FALSE
-
-                # lerp(EF, PRI_COL, SEC_COL)
-               FCI A SPARE0_NV UNSIGNED_IDENTITY_NV RGB
-               FCI B ZERO UNSIGNED_INVERT_NV RGB
-               FCI C ZERO UNSIGNED_IDENTITY_NV RGB
-               FCI D ZERO UNSIGNED_IDENTITY_NV RGB
-
-               FCI G ZERO UNSIGNED_INVERT_NV BLUE
+       color = SPARE0
+       alpha = 1
     """),
-    "BAND1" : nvcode.combinercode("""
-                # Band-like texture preliminary
-               # Calculate # (TEX0 . TEX1) + 0.5, to see
-               # where the middle is taken from.
-               # Moving the basis quads and 
-               # Flipping between this and BAND1 will explain a lot
-
-                CombinerParameterNV NUM_GENERAL_COMBINERS_NV 2
-                
-                # SPARE0 <- (TEX0 . TEX1)
-               CI0 RGB A TEXTURE0 EXPAND_NORMAL_NV RGB
-               CI0 RGB B TEXTURE1 EXPAND_NORMAL_NV RGB
-               CO0 RGB SPARE0_NV DISCARD_NV DISCARD_NV SCALE_BY_TWO_NV NONE 
TRUE TRUE FALSE
+    "BAND1" : nvcode.parseCombiner("""
+       SPARE0 = ((2*TEX0-1) . (2*TEX1-1)) * 4
 
-               # SPARE0 <- SPARE0 + 0.5
-               CI1 RGB A SPARE0_NV UNSIGNED_IDENTITY_NV RGB
-               CI1 RGB B ZERO UNSIGNED_INVERT_NV RGB
-               CI1 RGB C ZERO UNSIGNED_INVERT_NV RGB
-               CI1 RGB D ZERO HALF_BIAS_NEGATE_NV RGB
-               CO1 RGB DISCARD_NV DISCARD_NV SPARE0_NV NONE NONE FALSE FALSE 
FALSE
-
-                # lerp(EF, PRI_COL, SEC_COL)
-               FCI A SPARE0_NV UNSIGNED_IDENTITY_NV RGB
-               FCI B ZERO UNSIGNED_INVERT_NV RGB
-               FCI C ZERO UNSIGNED_IDENTITY_NV RGB
-               FCI D ZERO UNSIGNED_IDENTITY_NV RGB
+       SPARE0 = ((+SPARE0)*(+SPARE0)) * 2
 
-               FCI G ZERO UNSIGNED_INVERT_NV BLUE
+       color = SPARE0
+       alpha = 1
     """),
-    "BAND2" : nvcode.combinercode("""
-                # Band-like texture
-               # No scaling of the output, just calculate
-               # (TEX0 . TEX1)**2 and use that for interpolation
-                CombinerParameterNV NUM_GENERAL_COMBINERS_NV 2
-                
-                # SPARE0 <- (TEX0 . TEX1)
-               CI0 RGB A TEXTURE0 EXPAND_NORMAL_NV RGB
-               CI0 RGB B TEXTURE1 EXPAND_NORMAL_NV RGB
-               # CI0 RGB C CONSTANT_COLOR0_NV HALF_BIAS_NORMAL_NV RGB
-               CI0 RGB C ZERO UNSIGNED_IDENTITY_NV RGB
-               CI0 RGB D ZERO UNSIGNED_INVERT_NV RGB
-               CO0 RGB SPARE0_NV DISCARD_NV DISCARD_NV SCALE_BY_FOUR_NV NONE 
TRUE TRUE FALSE
-
-                # SPARE0 <- 2 * SPARE0 * SPARE0 * 2 
-               CI1 RGB A SPARE0_NV SIGNED_IDENTITY_NV RGB
-               CI1 RGB B SPARE0_NV SIGNED_IDENTITY_NV RGB
-               CO1 RGB SPARE0_NV DISCARD_NV DISCARD_NV SCALE_BY_FOUR_NV NONE 
FALSE FALSE FALSE
-
-                # lerp(EF, PRI_COL, SEC_COL)
-               FCI A SPARE0_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
+    "BAND2" : nvcode.parseCombiner("""
+       SPARE0 = ((2*TEX0-1) . (2*TEX1-1)) * 4
+
+       SPARE0 = ((+SPARE0)*(+SPARE0)) * 2
+       SPARE1 = ((2*TEX0-1).(2*CONST0-1)) * 2
 
-               FCI G ZERO UNSIGNED_INVERT_NV BLUE
+       color = SPARE0 * SPARE1
+       alpha = 1
     """),
-    "BAND" : nvcode.combinercode("""
-                # Band-like texture
-                CombinerParameterNV NUM_GENERAL_COMBINERS_NV 2
-                
-                # SPARE0 <- (TEX0 . TEX1)
-               CI0 RGB A TEXTURE0 EXPAND_NORMAL_NV RGB
-               CI0 RGB B TEXTURE1 EXPAND_NORMAL_NV RGB
-               CO0 RGB SPARE0_NV DISCARD_NV DISCARD_NV SCALE_BY_FOUR_NV NONE 
TRUE FALSE FALSE
+    "BAND2" : nvcode.parseCombiner("""
+       SPARE0 = ((2*TEX0-1) . (2*TEX1-1)) * 4
 
-                # SPARE1 <- SPARE0 * SPARE0 * 2 
-                # SPARE0 <- (TEX0 . CONST0) * 2
-               CI1 RGB A SPARE0_NV SIGNED_IDENTITY_NV RGB
-               CI1 RGB B SPARE0_NV SIGNED_IDENTITY_NV RGB
-               CI1 RGB C TEXTURE0 EXPAND_NORMAL_NV RGB
-               CI1 RGB D CONSTANT_COLOR0_NV EXPAND_NORMAL_NV RGB
-               CO1 RGB SPARE1_NV SPARE0_NV DISCARD_NV SCALE_BY_TWO_NV NONE 
FALSE TRUE FALSE
-
-                # EF <- SPARE0 * SPARE1
-               FCI E SPARE1_NV UNSIGNED_INVERT_NV RGB
-               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
+       SPARE0 = ((+SPARE0)*(+SPARE0)) * 2
+       SPARE1 = ((2*TEX0-1).(2*CONST0-1)) * 2
 
-               FCI G ZERO UNSIGNED_INVERT_NV BLUE
+       EF = SPARE0 * SPARE1
+       color = EF*COL0 + (1-EF)*COL1
+       alpha = 1
     """),
+}
+
+
+isectcodes0 = {
     "I3COL" : nvcode.combinercode("""
                 # Interpolate between three colors using two dot products
                 CombinerParameterNV NUM_GENERAL_COMBINERS_NV 2
@@ -247,7 +147,7 @@
 
 tex0comb = "RGB"
 tex1comb = "RGB"
-isectcomb = "I3COL"
+isectcomb = "BAND0"
 
 def getpaper(vecs, cols):
     pap = Paper()
@@ -388,17 +288,20 @@
             list = tex0codes.keys()
             tex0comb = list[(list.index(tex0comb) + 1) % len(list)]
             print "Using", tex0comb, isectcomb, tex1comb, "combiners"
+           print tex0codes[tex0comb]
             self.initpaper()
         elif k == "F3":
             list = tex1codes.keys()
             tex1comb = list[(list.index(tex1comb) + 1) % len(list)]
             print "Using", tex0comb, isectcomb, tex1comb, "combiners"
+           print tex1codes[tex1comb]
             self.initpaper()
         elif k == "c":
             list = isectcodes.keys()
            list.sort()
             isectcomb = list[(list.index(isectcomb) + 1) % len(list)]
             print "Using", tex0comb, isectcomb, tex1comb, "combiners"
+           print isectcodes[isectcomb]
             self.initpaper()
         elif k == "C":
             list = isectcodes.keys()
Index: gzz/gfx/libutil/nvcode.py
diff -u gzz/gfx/libutil/nvcode.py:1.7 gzz/gfx/libutil/nvcode.py:1.8
--- gzz/gfx/libutil/nvcode.py:1.7       Sun Nov 24 05:01:40 2002
+++ gzz/gfx/libutil/nvcode.py   Mon Nov 25 06:05:12 2002
@@ -480,6 +480,7 @@
 # Semantics:
 #   - A new combiner stage is started (unless empty) for all lines except for 
 #     those adjacent "REG = OUT" assignments that can fit in the current stage.
+#     To force a new stage, just insert a blank line.
 #   - Per stage constants are enabled unless all constant assignments are 
 #     either before or after all general combiner register assignments 
 #   - Only syntax is verified; Semantic errors may not be detected until




reply via email to

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