from direct.directbase.DirectStart import *
from pandac.PandaModules import *
smiley = loader.loadModel('smiley.egg')
smiley.reparentTo(render)
smiley.setPos(0, 4.2, 0)
dl = DirectionalLight('dl')
dlnp = base.camera.attachNewNode(dl)
smiley.setLight(dlnp)
cm = CardMaker('background')
cm.setFrame(-5, 5, -5, 5)
background = render.attachNewNode(cm.generate())
background.setPos(0, 12, 0)
background.setTexture(loader.loadTexture('maps/noise.rgb'))
base.graphicsEngine.renderFrame()
base.screenshot('smiley_multitex_none.png', defaultFilename = 0)
ts = TextureStage('ts')
pattern = loader.loadTexture('color_pattern.png')
pattern.setWrapU(Texture.WMBorderColor)
pattern.setWrapV(Texture.WMBorderColor)
pattern.setBorderColor(VBase4(1, 1, 1, 1))
smiley.setTexture(ts, pattern)
smiley.setTexScale(ts, 8, 4)
smiley.setTexOffset(ts, -4, -2)
smiley.setTransparency(TransparencyAttrib.MAlpha)
base.graphicsEngine.renderFrame()
base.screenshot('smiley_multitex_modulate.png', defaultFilename = 0)
ts.setMode(TextureStage.MReplace)
base.graphicsEngine.renderFrame()
base.screenshot('smiley_multitex_replace.png', defaultFilename = 0)
pattern.setBorderColor(VBase4(1, 1, 1, 0))
ts.setMode(TextureStage.MDecal)
base.graphicsEngine.renderFrame()
base.screenshot('smiley_multitex_decal.png', defaultFilename = 0)
pattern.setBorderColor(VBase4(0, 0, 0, 1))
ts.setMode(TextureStage.MAdd)
base.graphicsEngine.renderFrame()
base.screenshot('smiley_multitex_add.png', defaultFilename = 0)
a = loader.loadTexture('white_a.png')
a.setWrapU(Texture.WMBorderColor)
a.setWrapV(Texture.WMBorderColor)
a.setBorderColor(VBase4(0, 0, 0, 0))
smiley.setTexture(ts, a)
ts.setMode(TextureStage.MBlend)
ts.setColor(VBase4(1, 0, 0, 1))
base.graphicsEngine.renderFrame()
base.screenshot('smiley_multitex_blend_red.png', defaultFilename = 0)
ts.setColor(VBase4(0, 0, 1, 1))
base.graphicsEngine.renderFrame()
base.screenshot('smiley_multitex_blend_blue.png', defaultFilename = 0)
|