Hi Alex, I just tested this demo and it runs fine with and without the mask enabled on my linux machine using an ATI card and ATI fglrx drivers. I have no idea what the problem might be with Mac OS X, but as a start, what video card and drivers are you using? Also, is there a PyOpenGL version 2.x you could test? I've had trouble with version 3 on Windows, perhaps there are still issues on Mac. The mask uses multitexturing, which has been part of the OpenGL standard for a long time, so I'm at a loss to figure out what is going on here. -Andrew Alex Holcombe wrote: > We have installed visionegg on a MacBook (OSX 10.5.2) using Python 2.5 > and the appropriate libraries for it. > The visionegg demos all seem to work, including the alpha demos and > the drum demo and other texture demos, but what does not work is those > demos which use Mask2D. For instance, in the program at end of this > message I have modified gabor.py by commenting out the circular mask. > This makes the grating visible on our machine. However, if I uncomment > out the mask, no stimulus is evident in the visionegg window! > > Any ideas what could selectively affect Mask2D? We actually had > everything working with an earlier install on this machine, using > Python 2.4, but then we started getting bus errors with nearly every > VisionEgg program we ran. We haven't managed to resurrect the > original working Python 2.4 configuration, so we've moved on to Python > 2.5. > > Below I'm pasting the latter part of the output of check-config.py : > > SYNCLYNC_PRESENT = 0 > VISIONEGG_ALWAYS_START_LOGGING = 0 > VISIONEGG_CONFIG_FILE = > /Users/shihyulo/Desktop/visionegg-1.1.1/VisionEgg/VisionEgg.cfg > VISIONEGG_DARWIN_CONVENTIONAL_PRIORITY = -20 > VISIONEGG_DARWIN_MAXPRIORITY_CONVENTIONAL_NOT_REALTIME = 1 > VISIONEGG_DARWIN_PTHREAD_PRIORITY = max > VISIONEGG_DARWIN_REALTIME_COMPUTATION_DENOM = 2400 > VISIONEGG_DARWIN_REALTIME_CONSTRAINT_DENOM = 1200 > VISIONEGG_DARWIN_REALTIME_PERIOD_DENOM = 120 > VISIONEGG_DARWIN_REALTIME_PREEMPTIBLE = 0 > VISIONEGG_DOUBLE_BUFFER = 1 > VISIONEGG_FRAMELESS_WINDOW = 0 > VISIONEGG_FULLSCREEN = 0 > VISIONEGG_GAMMA_FILE = custom.ve_gamma > VISIONEGG_GAMMA_INVERT_BLUE = 2.1 > VISIONEGG_GAMMA_INVERT_GREEN = 2.1 > VISIONEGG_GAMMA_INVERT_RED = 2.1 > VISIONEGG_GAMMA_SOURCE = none > VISIONEGG_GUI_INIT = 1 > VISIONEGG_GUI_ON_ERROR = 1 > VISIONEGG_HIDE_MOUSE = 1 > VISIONEGG_LOG_FILE = VisionEgg.log > VISIONEGG_LOG_TO_STDERR = 1 > VISIONEGG_MAXPRIORITY = 0 > VISIONEGG_MONITOR_REFRESH_HZ = 60.0 > VISIONEGG_MULTISAMPLE_SAMPLES = 0 > VISIONEGG_PREFERRED_BPP = 32 > VISIONEGG_REQUEST_ALPHA_BITS = 0 > VISIONEGG_REQUEST_BLUE_BITS = 8 > VISIONEGG_REQUEST_GREEN_BITS = 8 > VISIONEGG_REQUEST_RED_BITS = 8 > VISIONEGG_REQUEST_STEREO = 0 > VISIONEGG_SCREEN_H = 480 > VISIONEGG_SCREEN_W = 640 > VISIONEGG_SYNC_SWAP = 1 > VISIONEGG_SYSTEM_DIR = /Users/shihyulo/Desktop/visionegg-1.1.1/VisionEgg > VISIONEGG_TKINTER_OK = 1 > VISIONEGG_USER_DIR = /Users/shihyulo/VisionEgg > > Version checklist: > > Python version 2.5 (OK) > extra Python info: (r25:51918, Sep 19 2006, 08:49:13) [GCC 4.0.1 (Apple > Computer, Inc. build 5341)] > numpy version 1.0.4 (OK) > PyOpenGL (package "OpenGL") version 3.0.0b6 (OK) > pygame version 1.8.1release-svn1537 (OK) > Python Imaging Library (package "Image") version 1.1.6 (OK) > > Optional module(s): > > Pyro failed > > -------------modified gabor.py below----------------- > ############################ > # Import various modules # > ############################ > > import VisionEgg > VisionEgg.start_default_logging(); VisionEgg.watch_exceptions() > > from VisionEgg.Core import * > from VisionEgg.FlowControl import Presentation > from VisionEgg.Gratings import SinGrating2D > from VisionEgg.Textures import Mask2D > > ##################################### > # Initialize OpenGL window/screen # > ##################################### > > screen = get_default_screen() > > ########################################################## > # Create sinusoidal grating object and gaussian window # > ########################################################## > > mask = Mask2D(function='gaussian', # also supports 'circle' > radius_parameter=25, # sigma for gaussian, radius for > circle (units: num_samples) > num_samples=(256,256)) # this many texture elements in > mask (covers whole size specified below) > > stimulus = SinGrating2D(#mask = mask, > position = ( screen.size[0]/2.0, > screen.size[1]/2.0 ), > size = ( 300.0 , 300.0 ), > spatial_freq = 10.0 / screen.size[0], # > units of cycles/pixel > temporal_freq_hz = 1.0, > orientation = 45.0 ) > > ############################################################### > # Create viewport - intermediary between stimuli and screen # > ############################################################### > > viewport = Viewport( screen=screen, stimuli=[stimulus] ) > > ######################################## > # Create presentation object and go! # > ######################################## > > p = Presentation(go_duration=(5.0,'seconds'),viewports=[viewport]) > p.go() > > > > ====================================== > The Vision Egg mailing list > Archives: //www.freelists.org/archives/visionegg > Website: http://www.visionegg.org/mailinglist.html -- Dr. Andrew D. Straw California Institute of Technology http://www.its.caltech.edu/~astraw/ ====================================== The Vision Egg mailing list Archives: //www.freelists.org/archives/visionegg Website: http://www.visionegg.org/mailinglist.html