/[gzz]/gzz/gfx/demo/irregu3.py
ViewVC logotype

Diff of /gzz/gfx/demo/irregu3.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.31 by jvk, Tue Oct 29 16:11:03 2002 UTC revision 1.32 by jvk, Tue Oct 29 16:34:04 2002 UTC
# Line 22  if (GL.hasExtension("GL_NV_texture_shade Line 22  if (GL.hasExtension("GL_NV_texture_shade
22    
23  if (GL.hasExtension("GL_NV_register_combiners") and  if (GL.hasExtension("GL_NV_register_combiners") and
24      GL.hasExtension("GL_EXT_secondary_color")):      GL.hasExtension("GL_EXT_secondary_color")):
25      if (GL.getGLFloat("MAX_GENERAL_COMBINERS_NV") >= 4 and      if (GL.getGLFloat("MAX_GENERAL_COMBINERS_NV")[0] >= 4 and
26          GL.getGLFloat("MAX_TEXTURE_UNITS") >= 3):          GL.getGLFloat("MAX_TEXTURE_UNITS")[0] >= 3):
27          profiles.append("NV_COMB_MULTITEX")          profiles.append("NV_COMB_MULTITEX")
28            
29      profiles.append("NV_COMB_DOT3")      profiles.append("NV_COMB_DOT3")
# Line 114  def init(profile): Line 114  def init(profile):
114          tex = ( getIrreguTex(2, "HILO_NV", "HILO_NV"),          tex = ( getIrreguTex(2, "HILO_NV", "HILO_NV"),
115                  )                  )
116    
     elif profile == "NV_COMB_MULTITEX":  
   
         alphalevel = 1  
         w0,w1 = 1,1  
         def colmap0(dotvec): return (1,1,1)  
         def colmap1(dotvec): return (1,1,1)  
   
         tex = ( getIrreguTex(1, "INTENSITY", "LUMINANCE"),  
                 )  
   
117      elif profile == "NV_COMB_DOT3" or profile == "NV_COMB_DOT4" or profile == "NV_COMB_MULTITEX":      elif profile == "NV_COMB_DOT3" or profile == "NV_COMB_DOT4" or profile == "NV_COMB_MULTITEX":
118          print "Using full displacement resolution textures with GL_NV_register_combiners"          print "Using full displacement resolution textures with GL_NV_register_combiners"
119    
# Line 184  def init(profile): Line 174  def init(profile):
174              using_multitex = 1              using_multitex = 1
175              texenv_inner = texenv % "0 0 0 1"              texenv_inner = texenv % "0 0 0 1"
176              texenv_outer = combinercode("""              texenv_outer = combinercode("""
177          # compute alpha = max( SEC_COL.b + TEX0 + COL.alpha + COL.b,              Color 0 0 0 0
         #                      SEC_COL.b + TEX1 + COL.alpha,  
         #                      SEC_COL.b + TEX2 + COL.alpha )  
178                    
179          Enable REGISTER_COMBINERS_NV              # compute alpha = max( SEC_COL.b + TEX0 + COL.alpha + COL.b,
180          CombinerParameterNV NUM_GENERAL_COMBINERS_NV 4              #                      SEC_COL.b + TEX1 + COL.alpha,
181                #                      SEC_COL.b + TEX2 + COL.alpha )
182                
183                Enable REGISTER_COMBINERS_NV
184                CombinerParameterNV NUM_GENERAL_COMBINERS_NV 4
185    
186          # TEX2 -= TEX1              # TEX2 -= TEX1
187          CI0 RGB A TEXTURE2 UNSIGNED_IDENTIY_NV RGB              CI0 RGB A TEXTURE2 UNSIGNED_IDENTITY_NV RGB
188          CI0 RGB B ZERO_NV UNSIGNED_INVERT_NV RGB              CI0 RGB B ZERO UNSIGNED_INVERT_NV RGB
189          CI0 RGB C TEXTURE1 SIGNED_NEGATE_NV RGB              CI0 RGB C TEXTURE1 SIGNED_NEGATE_NV RGB
190          CI0 RGB D ZERO_NV UNSIGNED_INVERT_NV RGB              CI0 RGB D ZERO UNSIGNED_INVERT_NV RGB
191          CO0 RGB DISCARD_NV DISCARD_NV TEXTURE2_NV NONE NONE FALSE FALSE FALSE              CO0 RGB DISCARD_NV DISCARD_NV TEXTURE2 NONE NONE FALSE FALSE FALSE
192                
193          # TEX0 += COL.b              # TEX0 += COL.b
194          CI0 ALPHA A TEXTURE0 UNSIGNED_IDENTIY_NV ALPHA              CI0 ALPHA A TEXTURE0 UNSIGNED_IDENTITY_NV ALPHA
195          CI0 ALPHA B ZERO_NV UNSIGNED_INVERT_NV ALPHA              CI0 ALPHA B ZERO UNSIGNED_INVERT_NV ALPHA
196          CI0 ALPHA C PRIMARY_COLOR_NV UNSIGEND_IDENTITY_NV BLUE              CI0 ALPHA C PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV BLUE
197          CI0 ALPHA D ZERO_NV UNSIGNED_INVERT_NV ALPHA              CI0 ALPHA D ZERO UNSIGNED_INVERT_NV ALPHA
198          CO0 ALPHA DISCARD_NV DISCARD_NV TEXTURE0_NV NONE NONE FALSE FALSE FALSE              CO0 ALPHA DISCARD_NV DISCARD_NV TEXTURE0 NONE NONE FALSE FALSE FALSE
   
   
         # TEX1 -= TEX0  
         CI1 RGB A TEXTURE1 UNSIGNED_IDENTIY_NV RGB  
         CI1 RGB B ZERO_NV UNSIGNED_INVERT_NV RGB  
         CI1 RGB C TEXTURE0 SIGNED_NEGATE_NV ALPHA  
         CI1 RGB D ZERO_NV UNSIGNED_INVERT_NV RGB  
         CO1 RGB DISCARD_NV DISCARD_NV TEXTURE1_NV NONE NONE FALSE FALSE FALSE  
   
         # TEX0 += COL.alpha  
         CI1 ALPHA A TEXTURE0 UNSIGNED_IDENTIY_NV ALPHA  
         CI1 ALPHA B ZERO_NV UNSIGNED_INVERT_NV ALPHA  
         CI1 ALPHA C PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV ALPHA  
         CI1 ALPHA D ZERO_NV UNSIGNED_INVERT_NV ALPHA  
         CO1 ALPHA DISCARD_NV DISCARD_NV TEXTURE0_NV NONE NONE FALSE FALSE FALSE  
   
   
         # TEX1 += unsigned(TEX2)  
         CI2 RGB A TEXTURE1 SIGNED_IDENTIY_NV RGB  
         CI2 RGB B ZERO_NV UNSIGNED_INVERT_NV RGB  
         CI2 RGB C TEXTURE2 UNSIGNED_IDENTITY_NV RGB  
         CI2 RGB D ZERO_NV UNSIGNED_INVERT_NV RGB  
         CO2 RGB DISCARD_NV DISCARD_NV TEXTURE1_NV NONE NONE FALSE FALSE FALSE  
   
         # TEX0 += SEC_COL.b  
         CI2 ALPHA A TEXTURE0 UNSIGNED_IDENTIY_NV ALPHA  
         CI2 ALPHA B ZERO_NV UNSIGNED_INVERT_NV ALPHA  
         CI2 ALPHA C SECONDARY_COLOR_NV UNSIGNED_IDENTITY_NV BLUE  
         CI2 ALPHA D ZERO_NV UNSIGNED_INVERT_NV ALPHA  
         CO2 ALPHA DISCARD_NV DISCARD_NV TEXTURE0_NV NONE NONE FALSE FALSE FALSE  
   
   
         # TEX0 += unsigned(TEX1)  
         CI3 RGB A TEXTURE0 SIGNED_IDENTIY_NV ALPHA  
         CI3 RGB B ZERO_NV UNSIGNED_INVERT_NV RGB  
         CI3 RGB C TEXTURE1 UNSIGNED_IDENTITY_NV RGB  
         CI3 RGB D ZERO_NV UNSIGNED_INVERT_NV RGB  
         CO3 RGB DISCARD_NV DISCARD_NV TEXTURE0_NV NONE NONE FALSE FALSE FALSE  
199    
200    
201          # alpha <- TEXTURE0              # TEX1 -= TEX0
202          FCI G TEXTURE0_NV UNSIGNED_IDENTITY_NV BLUE              CI1 RGB A TEXTURE1 UNSIGNED_IDENTITY_NV RGB
203          """)              CI1 RGB B ZERO UNSIGNED_INVERT_NV RGB
204                CI1 RGB C TEXTURE0 SIGNED_NEGATE_NV ALPHA
205                CI1 RGB D ZERO UNSIGNED_INVERT_NV RGB
206                CO1 RGB DISCARD_NV DISCARD_NV TEXTURE1 NONE NONE FALSE FALSE FALSE
207                
208                # TEX0 += COL.alpha
209                CI1 ALPHA A TEXTURE0 UNSIGNED_IDENTITY_NV ALPHA
210                CI1 ALPHA B ZERO UNSIGNED_INVERT_NV ALPHA
211                CI1 ALPHA C PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV ALPHA
212                CI1 ALPHA D ZERO UNSIGNED_INVERT_NV ALPHA
213                CO1 ALPHA DISCARD_NV DISCARD_NV TEXTURE0 NONE NONE FALSE FALSE FALSE
214                
215                
216                # TEX1 += unsigned(TEX2)
217                CI2 RGB A TEXTURE1 SIGNED_IDENTITY_NV RGB
218                CI2 RGB B ZERO UNSIGNED_INVERT_NV RGB
219                CI2 RGB C TEXTURE2 UNSIGNED_IDENTITY_NV RGB
220                CI2 RGB D ZERO UNSIGNED_INVERT_NV RGB
221                CO2 RGB DISCARD_NV DISCARD_NV TEXTURE1 NONE NONE FALSE FALSE FALSE
222                
223                # TEX0 += SEC_COL.b
224                CI2 ALPHA A TEXTURE0 UNSIGNED_IDENTITY_NV ALPHA
225                CI2 ALPHA B ZERO UNSIGNED_INVERT_NV ALPHA
226                CI2 ALPHA C SECONDARY_COLOR_NV UNSIGNED_IDENTITY_NV BLUE
227                CI2 ALPHA D ZERO UNSIGNED_INVERT_NV ALPHA
228                CO2 ALPHA DISCARD_NV DISCARD_NV TEXTURE0 NONE NONE FALSE FALSE FALSE
229                
230                
231                # TEX0 += unsigned(TEX1)
232                CI3 RGB A TEXTURE0 SIGNED_IDENTITY_NV ALPHA
233                CI3 RGB B ZERO UNSIGNED_INVERT_NV RGB
234                CI3 RGB C TEXTURE1 UNSIGNED_IDENTITY_NV RGB
235                CI3 RGB D ZERO UNSIGNED_INVERT_NV RGB
236                CO3 RGB DISCARD_NV DISCARD_NV TEXTURE0 NONE NONE FALSE FALSE FALSE
237                
238                
239                # alpha <- TEXTURE0
240                FCI G TEXTURE0 UNSIGNED_IDENTITY_NV BLUE
241                """)
242              angles = 0              angles = 0
243              tex = ( getIrreguTex(1, "INTENSITY", "LUMINANCE"),              tex = ( getIrreguTex(1, "INTENSITY", "LUMINANCE"),
244                      getIrreguTex(1, "INTENSITY", "LUMINANCE", invert = 1),                      getIrreguTex(1, "INTENSITY", "LUMINANCE", invert = 1),
245                      )                      )
               
   
246    
247    
248    
# Line 466  def getIrregu(invert, x0, y0, x1, y1, ou Line 456  def getIrregu(invert, x0, y0, x1, y1, ou
456      Enable TEXTURE_2D      Enable TEXTURE_2D
457      """ % locals()      """ % locals()
458    
459      if using_multitex:      if using_multitex and outer:
460          code += """          code += """
461          ActiveTexture TEXTURE1          ActiveTexture TEXTURE1
462          BindTexture TEXTURE_2D %(texid)s          BindTexture TEXTURE_2D %(texid)s
# Line 479  def getIrregu(invert, x0, y0, x1, y1, ou Line 469  def getIrregu(invert, x0, y0, x1, y1, ou
469          TexParameter TEXTURE_2D TEXTURE_MAG_FILTER LINEAR          TexParameter TEXTURE_2D TEXTURE_MAG_FILTER LINEAR
470          Enable TEXTURE_2D          Enable TEXTURE_2D
471          ActiveTexture TEXTURE0          ActiveTexture TEXTURE0
472          """          """ % locals()
473            
474      if GL.hasExtension("GL_EXT_texture_lod_bias"):      if GL.hasExtension("GL_EXT_texture_lod_bias"):
475          code += """          code += """

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.32

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26