- Timestamp:
- 09/24/08 06:28:06 (4 years ago)
- Children:
- 1b0cdd33d70957213349cfa0cae373c7350c73a5
- Parents:
- 206d95c9b3331ad20b32a8ff1c5e9666a2029a28
- git-committer:
- flupke <flupke@…> (09/24/08 06:28:06)
- File:
-
- 1 edited
-
palette/trunk/palette/gl/texture.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
palette/trunk/palette/gl/texture.py
r206d95c rbfad342 1 1 from OpenGL.GL import * 2 from OpenGL import GL 3 4 5 texture_types = {} 6 for i in range(1, 4): 7 texture_types[i] = getattr(GL, "GL_TEXTURE_%iD" % i) 8 2 import Image 9 3 10 4 11 5 class Texture(object): 12 def __init__(self, size, type): 13 self.texture_id = glGenTextures(1) 14 glBindTexture(type, self.texture_id) 15 glTexImage2D(type, 0, GL_RGB, size[0], size[1], 0, GL_RGB, 16 GL_UNSIGNED_BYTE, 0) 17 glTexParameteri(type, GL_TEXTURE_MAG_FILTER, GL_LINEAR) 18 glTexParameteri(type, GL_TEXTURE_MIN_FILTER, GL_LINEAR) 19 6 teximage_func = None 7 target = None 8 9 def __init__(self, size, min_filter=GL_LINEAR, mag_filter=GL_LINEAR): 10 self.texture_id = glGenTextures(1) 11 glBindTexture(self.target, self.texture_id) 12 glTexParameteri(self.target, GL_TEXTURE_MAG_FILTER, mag_filter) 13 glTexParameteri(self.target, GL_TEXTURE_MIN_FILTER, min_filter) 14 teximage_args = [self.target, 0, GL_RGB] + list(size) + [0, GL_RGB, 15 GL_UNSIGNED_BYTE, None] 16 self.teximage_func(*teximage_args) 17 18 def bind(self): 19 glBindTexture(self.target, self.texture_id) 20 20 21 def __del__(self): 21 super(Texture, self).__del__() 22 glDeleteTextures(1, self.texture_id) 22 glDeleteTextures([self.texture_id]) 23 23 24 24 25 25 class Texture3D(Texture): 26 def __init__(self, size, min_filter=GL_LINEAR, mag_filter=GL_LINEAR):27 super(Texture3D, self).__init__(size, GL_TEXTURE_3D, min_filter,28 mag_filter) 26 teximage_func = glTexImage3D 27 target = GL_TEXTURE_3D 28 29 29 30 30 class Texture2D(Texture): 31 def __init__(self, size, min_filter=GL_LINEAR, mag_filter=GL_LINEAR):32 super(Texture2D, self).__init__(size, GL_TEXTURE_2D, min_filter,33 mag_filter) 34 31 teximage_func = glTexImage2D 32 target = GL_TEXTURE_2D 33 34 35 35 class Texture1D(Texture): 36 def __init__(self, size, min_filter=GL_LINEAR, mag_filter=GL_LINEAR): 37 super(Texture1D, self).__init__(size, GL_TEXTURE_1D, min_filter, 38 mag_filter) 36 teximage_func = glTexImage1D 37 target = GL_TEXTURE_1D
Note: See TracChangeset
for help on using the changeset viewer.
