![]() |
|
#1
|
|||
|
|||
|
Panning Textures across a plane.
Helllo,
I'm attempting to create an old school environment by creating a clouds plane to put up in my sky. I'm perfectly capable of getting the clouds to just sit there on my plane through a texture file, however what I want to know is if I can move the texture over the plane in a direction so that it seems like they are moving. Thanks, George P.S. Is there a way to define a set color on a texure to be transparent? So that I can have multiple cloud cover layers to give things some depth? |
|
#2
|
|||
|
|||
|
Hi,
I've attached a sample script that shows how to move a texture across a surface: Code:
import viz
viz.go()
viz.clearcolor(viz.SKYBLUE)
#Create a quad to display texture
quad = viz.add(viz.TEXQUAD)
quad.translate(0,1.8,3)
CLOUD_SPEED = 0.1
#Create texture with repeating wrap mode
tex = viz.add('ball.jpg')
tex.wrap(viz.WRAP_S,viz.REPEAT)
tex.wrap(viz.WRAP_T,viz.REPEAT)
tex.pos = 0
#Apply texture to quad
quad.texture(tex)
def ontimer(num):
#Increment texture position
tex.pos += CLOUD_SPEED * viz.elapsed()
#Create transform for texture
mat = viz.Transform()
mat.setTrans(tex.pos,0,0)
#Apply transform to texture
quad.texmat(mat)
viz.callback(viz.TIMER_EVENT,ontimer)
viz.starttimer(0,0,viz.FOREVER)
Also, I've attached a sample script that uses shaders to creating a moving sky with two cloud layers. I think it might be usefull for you. |
|
#3
|
|||
|
|||
|
farshizzo,
Thanks for the specific shader example (I don't think there's an example of this in the manuals). I will also put it to work in a couple outdoor scenarios I have. Am I understanding it right that the .vp is a "vertex program" OpenGL shader, and the .fp is a "face program" or "fragment program"? You grab the timestamp of the frame, and give it to the .vp code as a parameter. The .vp chooses the appropriate coordinates in the texture to correspond to the frame time, for each vertex. The .fp chooses the appropriate pseudocoloring for a pixel inside a textured triangle face (or fragment) from the given monochrome texture. Does Vizard parse and compile the .vp/.fp content, or does the underlying OpenGL graphics system? [I noted you had some Unix line endings in your scripts when I viewed them in Notepad. If anyone else sees that, just replace the little box characters into line breaks. The Vizard editor itself doesn't mind the difference.] |
|
#4
|
|||
|
|||
|
Quote:
Quote:
|
![]() |
|
|