-1

The error is on line 5: glBindTexture(texture.target, texture.id)

1. import pyglet
2. from pyglet.gl import *
3. class CustomGroup(pyglet.graphics.Group):
4.    def set_state(self):
5.        glEnable(texture.target)
6.        glBindTexture(texture.target, texture.id)
7.    def unset_state(self):
8.        glDisable(texture.target)

NameError: global name 'texture' not defined but i imported it on line 2. the full code is here

Any help? I am using python 2.7.3 with pyglet and ubuntu 12.04

genpfault
  • 51,148
  • 11
  • 85
  • 139
itai12345
  • 25
  • 1
  • 4
  • -1, pastebins die, SO is forever. Edit the code into the question. – genpfault Oct 15 '13 at 15:26
  • i always set my pastebins to never expire, but thanks for the tip. however, sometimes you want to link to the full code, and only show the portion that is relavent @genpfault – itai12345 Jan 17 '14 at 13:33

1 Answers1

0

The pyglet.gl module does not define any variable texture, so your import statement in line 2 does not provide anything like that. And what do you even expect it to contain? You'll need to create your Texture object yourself.

To do so, you could use the methods pyglet.resource.image or pyglet.resource.texture or you could load an AbstractImage by calling pyglet.image.load and retrieve a corresponding Texture object by accessing the image's texture member or, say, adding it to a TextureAtlas.

Why don't you add to your code:

img = pyglet.image.load('imagefile.png')
texture = img.texture

and don't forget to alter your vertex_list accordingly to make use of the texture.

J. Katzwinkel
  • 1,923
  • 16
  • 22