Created
April 26, 2012 04:23
-
-
Save adamlwgriffiths/2495796 to your computer and use it in GitHub Desktop.
Fix Pyglet textures loading as greyscale in OS-X due to issues in the Quartz loader
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
import pyglet | |
# on OS-X 10.7 (lion) | |
# the Quartz codec is buggered in Pyglet | |
if sys.platform == 'darwin': | |
# clear the existing codecs | |
pyglet.image.codecs._decoders = [] | |
pyglet.image.codecs._decoder_extensions = {} | |
pyglet.image.codecs._decoder_animation_extensions = {} | |
pyglet.image.codecs._encoders = [] | |
pyglet.image.codecs._encoder_extensions = {} | |
# just fallback to PIL | |
try: | |
import pyglet.image.codecs.pil | |
pyglet.image.codecs.add_encoders(pyglet.image.codecs.pil) | |
pyglet.image.codecs.add_decoders(pyglet.image.codecs.pil) | |
except ImportError: | |
pass | |
# Compressed texture in DDS format | |
try: | |
from pyglet.image.codecs import dds | |
pyglet.image.codecs.add_encoders(dds) | |
pyglet.image.codecs.add_decoders(dds) | |
except ImportError: | |
pass | |
# Fallback: PNG loader (slow) | |
try: | |
import pyglet.image.codecs.png | |
pyglet.image.codecs.add_encoders(pyglet.image.codecs.png) | |
pyglet.image.codecs.add_decoders(pyglet.image.codecs.png) | |
except ImportError: | |
pass | |
# Fallback: BMP loader (slow) | |
try: | |
import pyglet.image.codecs.bmp | |
pyglet.image.codecs.add_encoders(pyglet.image.codecs.bmp) | |
pyglet.image.codecs.add_decoders(pyglet.image.codecs.bmp) | |
except ImportError: | |
pass |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment