9 |
c0, c1, c2, c3 = [ colors.getColorStr(colorbase+i) |
c0, c1, c2, c3 = [ colors.getColorStr(colorbase+i) |
10 |
for i in range(0,4) ] |
for i in range(0,4) ] |
11 |
|
|
|
r0, r1, r2, r3 = [ colors.getNVDP3VecStr(colorbase+i) |
|
|
for i in range(0,4) ] |
|
|
|
|
12 |
# map alpha dot product a \in [0,1] into clamp(1 - (1-a) * alphascale) |
# map alpha dot product a \in [0,1] into clamp(1 - (1-a) * alphascale) |
13 |
if trans > 0: |
if trans > 0: |
14 |
alphascale = 1 - 1.0/trans |
alphascale = 1 - 1.0/trans |
35 |
# Enable REGISTER_COMBINERS_NV |
# Enable REGISTER_COMBINERS_NV |
36 |
# CombinerParameterNV NUM_GENERAL_COMBINERS_NV 2 |
# CombinerParameterNV NUM_GENERAL_COMBINERS_NV 2 |
37 |
|
|
38 |
|
ActiveTexture TEXTURE0 |
39 |
|
TexEnv TEXTURE_ENV TEXTURE_ENV_MODE BLEND |
40 |
|
TexEnv TEXTURE_ENV TEXTURE_ENV_COLOR %(c1)s |
41 |
|
ActiveTexture TEXTURE1 |
42 |
|
TexEnv TEXTURE_ENV TEXTURE_ENV_MODE BLEND |
43 |
|
TexEnv TEXTURE_ENV TEXTURE_ENV_COLOR %(c2)s |
44 |
|
|
45 |
# First texenv p. 402 |
# back to texture0 |
46 |
TexEnv TEXTURE_ENV TEXTURE_ENV_COLOR %(c0)s |
ActiveTexture TEXTURE0 |
47 |
|
|
48 |
# Multitexturing |
# Multitexturing |
49 |
#Multitexture |
#Multitexture |
50 |
|
|
|
|
|
|
# CombinerParameterNV CONSTANT_COLOR0_NV %(r0)s |
|
|
# CombinerParameterNV CONSTANT_COLOR1_NV %(r1)s |
|
51 |
Color %(c0)s |
Color %(c0)s |
52 |
# SecondaryColorEXT %(c1)s |
# SecondaryColorEXT %(c1)s |
53 |
Fog FOG_COLOR %(c2)s |
Fog FOG_COLOR %(c2)s |
79 |
|
|
80 |
# SPARE0 <- (TEX0 . TEX1) |
# SPARE0 <- (TEX0 . TEX1) |
81 |
#CI0 RGB A TEXTURE%(t0)s EXPAND_NORMAL_NV RGB |
#CI0 RGB A TEXTURE%(t0)s EXPAND_NORMAL_NV RGB |
|
# CI0 RGB B TEXTURE%(t1)s EXPAND_NORMAL_NV RGB |
|
|
# CO0 RGB SPARE0_NV DISCARD_NV DISCARD_NV NONE NONE TRUE FALSE FALSE |
|
82 |
|
|
83 |
# SPARE1 <- SPARE0 * SPARE0 * 2 |
# SPARE1 <- SPARE0 * SPARE0 * 2 |
84 |
# SPARE0 <- (TEX0 . CONST0) * 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 TEXTURE%(t0)s EXPAND_NORMAL_NV RGB |
|
|
# CI1 RGB D CONSTANT_COLOR0_NV EXPAND_NORMAL_NV RGB |
|
|
# CO1 RGB SPARE1_NV SPARE0_NV DISCARD_NV %(scale)s NONE FALSE TRUE FALSE |
|
85 |
|
|
86 |
# EF <- SPARE0 * SPARE1 |
# EF <- SPARE0 * SPARE1 |
|
# FCI E SPARE1_NV UNSIGNED_INVERT_NV RGB |
|
|
# FCI F SPARE0_NV UNSIGNED_IDENTITY_NV RGB |
|
87 |
|
|
88 |
# lerp(EF, PRI_COL, SEC_COL) |
# 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 |
|
89 |
""") |
""") |
90 |
elif type == 1: |
elif type == 1: |
91 |
#scale = "SCALE_BY_ONE_HALF_NV" |
#scale = "SCALE_BY_ONE_HALF_NV" |
109 |
|
|
110 |
# SPARE0 <- (TEX0 . CONST0) |
# SPARE0 <- (TEX0 . CONST0) |
111 |
# SPARE1 <- (TEX1 . CONST1) |
# SPARE1 <- (TEX1 . CONST1) |
|
# CI0 RGB A TEXTURE%(t0)s EXPAND_NORMAL_NV RGB |
|
|
# CI0 RGB B CONSTANT_COLOR0_NV EXPAND_NORMAL_NV RGB |
|
|
# CI0 RGB C TEXTURE%(t1)s EXPAND_NORMAL_NV RGB |
|
|
# CI0 RGB D CONSTANT_COLOR1_NV EXPAND_NORMAL_NV RGB |
|
|
# CO0 RGB SPARE0_NV SPARE1_NV DISCARD_NV %(scale)s NONE TRUE TRUE FALSE |
|
112 |
|
|
113 |
# PRI_COL <- lerp(SPARE0, PRI_COL, SEC_COL) |
# 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 |
|
114 |
|
|
115 |
# SPARE1.alpha <- SPARE0^2 - SPARE1^2 |
# SPARE1.alpha <- SPARE0^2 - SPARE1^2 |
|
# CI1 ALPHA A SPARE0_NV SIGNED_IDENTITY_NV BLUE |
|
|
# CI1 ALPHA B SPARE0_NV SIGNED_IDENTITY_NV BLUE |
|
|
# CI1 ALPHA C SPARE1_NV SIGNED_NEGATE_NV BLUE |
|
|
# CI1 ALPHA D SPARE1_NV SIGNED_IDENTITY_NV BLUE |
|
|
# CO1 ALPHA DISCARD_NV DISCARD_NV SPARE1_NV NONE NONE FALSE FALSE FALSE |
|
116 |
|
|
117 |
# lerp(SPARE1, PRI_COL, FOG) |
# 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 |
|
118 |
""") |
""") |
119 |
else: |
else: |
120 |
#scale = "SCALE_BY_ONE_HALF_NV" |
#scale = "SCALE_BY_ONE_HALF_NV" |
142 |
|
|
143 |
# SPARE0 <- (TEX0 . TEX1) |
# SPARE0 <- (TEX0 . TEX1) |
144 |
# SPARE1 <- -(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 C TEXTURE%(t0)s EXPAND_NEGATE_NV RGB |
|
|
# CI0 RGB D TEXTURE%(t1)s EXPAND_NORMAL_NV RGB |
|
|
# CO0 RGB SPARE0_NV SPARE1_NV DISCARD_NV %(scale)s NONE TRUE TRUE FALSE |
|
145 |
|
|
146 |
# PRI_COL <- lerp(SPARE1, SEC_COL, PRI_COL) |
# 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 |
|
147 |
|
|
148 |
# lerp(SPARE0, PRI_COL, FOG) |
# 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 |
|
149 |
|
|
150 |
# SPARE1.alpha <- TEX0.b * CONST0.b + TEX1.b * CONST1.b |
# SPARE1.alpha <- TEX0.b * CONST0.b + TEX1.b * CONST1.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 |
|
151 |
""") |
""") |
152 |
|
|
153 |
|
|