Page MenuHome

Blenderplayer can not change video resolution in Mac OSX
Closed, ResolvedPublic

Description

Category: UI/Interface

The standalone Blender game player can not change video modes on OSX. If a file is configured to run full-screen, it will do so - but the resolution will not change, so the game plays in the native resolution.

To reproduce, run:

/Applications/blenderplayer.app/Contents/MacOS/blenderplayer ~/Downloads/fullscreen_test.blend

(file attached) The screen should change to 800x600, in which case the individual pixels should be clearly visible. However this bug causes that not to happen.

Tested by Cheeseness with:
Blender: 2.66, 2.68a
Mac OSX: 10.8.4
Video: Intel HD 4000 (512MB)

Tested by Caley Finn with:
Blender: 2.68a
Mac OSX: 10.6.8
Video: nVidia GeForce 9400M

Related Objects

Event Timeline

Actually it wasn't an ATI card; it's an nVidia GeForce 9400M. OSX 10.6.8, Intel 64-bit CPU.

Apparently on OSX the resolution should never be changed; instead, a backbuffer of the appropriate size should be created:

http://stackoverflow.com/questions/10596489/programmatically-change-resolution-os-x

https://developer.apple.com/library/mac/documentation/graphicsimaging/Conceptual/OpenGL-MacProgGuide/opengl_contexts/opengl_contexts.html#//apple_ref/doc/uid/TP40001987-CH216-SW28

"fixed" on r.60165, in fact I changed the interface in Mac to make clear to the user that you either pick fullscreen or you set the resolution (and I hid the 'desktop' option).
Attached is the test patch I used to see if the backbuffer downsampling would work but I'm not confident it would. Blender relies on glViewport everywhere.

If you want to pursuit the native support I recommend looking at the code where we handle 'framing' settings (letterbox, scaling, ...). If the solution can limit itself to ghost and that part of the code than it may be a go. Remember that Blender uses the ghost library as well.

Dalai Felinto (dfelinto) changed the task status from Unknown Status to Resolved.Sep 16 2013, 3:27 PM