Ignore:
Timestamp:
09/24/08 06:28:06 (4 years ago)
Author:
flupke <flupke@…>
Children:
1b0cdd33d70957213349cfa0cae373c7350c73a5
Parents:
206d95c9b3331ad20b32a8ff1c5e9666a2029a28
git-committer:
flupke <flupke@…> (09/24/08 06:28:06)
Message:

palette:

  • corrigé l'init de GLUT pour que la fenêtre soit créée avec la taille spécifiée dans le plugin
  • les classes pour utilisers les FBO fonctionnent
  • fait un test d'encodage d'animation en moiré


git-svn-id:  http://kawa.selfip.org/svn/projects@503 532e76a9-45ae-c241-9c6d-8309ac6440cd

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palette/trunk/palette/gl/texture.py

    r206d95c rbfad342  
    11from 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      
     2import Image 
    93 
    104 
    115class 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         
    2021    def __del__(self): 
    21         super(Texture, self).__del__() 
    22         glDeleteTextures(1, self.texture_id) 
     22        glDeleteTextures([self.texture_id]) 
    2323         
    2424         
    2525class 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 
    2929                     
    3030class 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 
    3535class 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.