On 3/27/08, Thomas Woelz <[EMAIL PROTECTED]> wrote: > > Responding Nathan, > pyglet 1.1 uses 0-255 colors for instance in the new text module (like > text.Label) > I also prefer reading 0-1 colors so I am still using 0-1 and using a > conversion function: > def to_rgb(a_gl_color): > return tuple([int(x * 255) for x in a_gl_color]) > Maybe thats not a good idea, since it involves 2 conversions, since > pyglet will probably have to convert it back to float for OpenGL to > draw it right? >
The graphics module, like OpenGL, allows colors to be set with any data type (0-1, 0-255, 0-65536, etc, ..). Internally, all current video drivers use the 0-255 range. To convert to this from a Python 0-1 float requires first a double->float conversion (by ctypes, as Python uses doubles internally), followed by a float->int scale+conversion (by the video driver). Seeing as the choice to use 0-1 seemed fairly arbitrary to me (only glClearColor enforces it in OpenGL, from memory), the text and sprite modules (which use pyglet.graphics for rendering) were designed to use the most efficient format. My benchmarks showed that there was a small but measurable difference. Alex. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "pyglet-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pyglet-users?hl=en -~----------~----~----~----~------~----~------~--~---
