#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 |
Thread Tools | |
Display Modes | Rate This Thread |
|
|
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 |