![]() |
|
#1
|
|||
|
|||
|
Using a texquad to cover a window
Hello,
I was using texquads to blank out a window I made with viz.add(viz.Window) in Vizard 3, but it looks to me like the way texquads work with windows has changed in Vizard 4 (it appears the texquad is in effect behind instead of in front of the window). So, is there a way to either attach a texquad to a window or is there a better way to fade to black? Thanks, Christian |
|
#2
|
|||
|
|||
|
Can you post some sample code? The following script shows one way to use a quad to fade the scene in/out:
Code:
import viz
import vizact
viz.go()
viz.addChild('gallery.osgb')
fadeQuad = viz.addTexQuad(parent=viz.ORTHO)
fadeQuad.setScale([5000,5000,1])
fadeQuad.color(viz.BLACK)
fadeQuad.alpha(0)
fadeQuad.alignment(viz.ALIGN_LEFT_BOTTOM)
fadeQuad.visible(0)
fadeOut = vizact.sequence( vizact.method.visible(1), vizact.fadeTo(1.0,speed=1.0) )
fadeIn = vizact.sequence( vizact.fadeTo(0.0,speed=1.0), vizact.method.visible(0) )
vizact.onkeydown(' ', fadeQuad.runAction, vizact.choice([fadeOut,fadeIn]) )
|
|
#3
|
|||
|
|||
|
Sure! I should have done that in the first place. My problem is not covering the whole screen - that still works. It is when I try to cover a sub-window I have a problem, as shown in the following code:
Code:
import viz
viz.go()
env = viz.add('tankmaze.wrl')
UpperRightWindow = viz.add(viz.WINDOW)
# NEED TO TEST REPLACING THESE COMMANDS FOR VIZARD 4
UpperRightWindow.setPosition(0.5, 1.0)
UpperRightWindow.setSize(0.5, 0.5)
UpperRightWindow.visible(0,viz.SCREEN)
'''
quad = viz.addTexQuad(parent=viz.ORTHO, scale=[12.0, 10.0, 10.0],color=viz.BLACK)
quad.alpha(.5)
'''
vq = ViewQuad()
#quad = viz.add(viz.TEXQUAD)
lake = viz.add('lake3.jpg')
#quad.billboard(viz.BILLBOARD_YAXIS)
#blackScreen = viz.addTexQuad(parent=viz.SCREEN,scale=[100.0]*3,color=viz.BLACK)
blackScreen = viz.addTexQuad(parent=viz.SCREEN,scale=[12.0, 10.0, 10.0],color=viz.BLACK)
blackScreen.setPosition([.5, .5, 0])
blackScreen.texture(lake)
blackScreen.alpha(0.0)
vizact.onkeydown(' ',blackScreen.runAction,vizact.fadeTo(1.0,time=2.0))
Thanks, Christian |
|
#4
|
|||
|
|||
|
When the parent of the quad is viz.ORTHO you can specify the subwindow to add the quad to with the scene argument:
Code:
import viz
viz.go()
viz.addChild('gallery.osgb')
subWindow = viz.addWindow()
blackScreen = viz.addTexQuad(parent=viz.ORTHO,scene=subWindow,scale=[500]*3,color=viz.BLACK)
blackScreen.alpha(0.0)
vizact.onkeydown(' ',blackScreen.runAction,vizact.fadeTo(1.0,time=2.0))
|
|
#5
|
|||
|
|||
|
Thanks, that was just what I needed.
Christian |
![]() |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Videos apearing in active movie window | TarkaDahl | Vizard | 9 | 02-12-2016 03:43 PM |
| Limit vizinfo message to only one window? | hotspur1 | Vizard | 1 | 05-07-2010 03:13 PM |
| tkinter window focus | John P | Vizard | 4 | 08-31-2009 06:51 AM |
| texquad | shai | Vizard | 1 | 02-23-2005 02:09 PM |
| The error window that couldn't | FlyingWren | Vizard | 2 | 12-02-2003 09:23 AM |