#1
|
|||
|
|||
Translating a texture and its Alpha
Hello,
I had a question on how Vizard handles alpha maps when imported from files. I've got a scene with lava spewing forth and in order to make it look like it is moving I used the tutorial for transforming a texture across an object: Code:
import viz viz.go() #Load the Skull graphics skull = viz.add('SkullGraphics/Skull.IVE') leftEyeLava = viz.add('SkullGraphics/LeftEyeLave.IVE') rightEyeLava = viz.add('SkullGraphics/RightEyeLave.IVE') mouthLava = viz.add('SkullGraphics/MouthLava.IVE') leftEyeLava_Tex = viz.addTexture('images/LavaFlow_01.tga') leftEyeLava_Tex.wrap(viz.WRAP_S,viz.REPEAT) leftEyeLava_Tex.wrap(viz.WRAP_T,viz.REPEAT) rightEyeLava_Tex = viz.addTexture('images/LavaFlow_01.tga') rightEyeLava_Tex.wrap(viz.WRAP_S,viz.REPEAT) rightEyeLava_Tex.wrap(viz.WRAP_T,viz.REPEAT) mouthLava_Tex = viz.addTexture('images/LavaFlow_01.tga') mouthLava_Tex.wrap(viz.WRAP_S,viz.REPEAT) mouthLava_Tex.wrap(viz.WRAP_T,viz.REPEAT) lLavaIter = 0.0 rLaveIter = 0.0 mLaveIter = 0.0 def onTimer(num): global lLavaIter global rLaveIter global mLaveIter #Get the textures matrix leftEyeLava_Tex_Matrix = vizmat.Transform() #Move the matrix forward leftEyeLava_Tex_Matrix.setTrans([0,lLavaIter,1]) #Set the textures matrix leftEyeLava.texmat(leftEyeLava_Tex_Matrix,'',0,False,viz.OP_OVERRIDE) lLavaIter += 0.1 viz.callback(viz.TIMER_EVENT,onTimer) viz.starttimer(0,0.11,viz.FOREVER) not move with the texture as well. I am using a TGA file that I made in photoshop with an alpha imbeded which has a bunch of 'holes'. My hope was that these holes would move with the texture to give the appearance of hot lava pouring forth. Right now I've only got the lava moving but the alpha stays static. Is there a simple fix to this, or do I need to apply my own custom alpha channel and move that as well as the texture? Thanks, George |
|
|