コード例 #1
0
ファイル: drawicon.py プロジェクト: Italic-/blenderpython
def unregister():
    if textures:
        tex_set = set()
        for tex, buf, sx, sy, _x, _y, _w, _h in textures.values():
            tex_set.add(tex)
        buf = bgl.Buffer(bgl.GL_INT, len(tex_set), list(tex_set))
        bgl.glDeleteTextures(len(buf), buf)
コード例 #2
0
    def refresh_font_texture(self):
        # save texture state
        buf = gl.Buffer(gl.GL_INT, 1)
        gl.glGetIntegerv(gl.GL_TEXTURE_BINDING_2D, buf)
        last_texture = buf[0]

        width, height, pixels = self.io.fonts.get_tex_data_as_rgba32()

        if self._font_texture is not None:
            gl.glDeleteTextures([self._font_texture])

        gl.glGenTextures(1, buf)
        self._font_texture = buf[0]

        gl.glBindTexture(gl.GL_TEXTURE_2D, self._font_texture)
        gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MIN_FILTER,
                           gl.GL_LINEAR)
        gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MAG_FILTER,
                           gl.GL_LINEAR)

        pixel_buffer = gl.Buffer(gl.GL_BYTE, [4 * width * height])
        pixel_buffer[:] = pixels
        gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, gl.GL_RGBA, width, height, 0,
                        gl.GL_RGBA, gl.GL_UNSIGNED_BYTE, pixel_buffer)

        self.io.fonts.texture_id = self._font_texture
        gl.glBindTexture(gl.GL_TEXTURE_2D, last_texture)
        self.io.fonts.clear_tex_data()
コード例 #3
0
 def __del__(self):
     self.log.info('[%s] CustomDrawData.__del__() [%s]' %
                   (time.asctime(), self))
     bgl.glDeleteBuffers(2, self.vertex_buffer)
     bgl.glDeleteVertexArrays(1, self.vertex_array)
     bgl.glBindTexture(bgl.GL_TEXTURE_2D, 0)
     bgl.glDeleteTextures(1, self.texture)
コード例 #4
0
 def __del__(self):
     textures = bgl.Buffer(bgl.GL_INT, [
         1,
     ], [
         self.texture_id,
     ])
     bgl.glDeleteTextures(1, textures)
コード例 #5
0
 def __dell__(self):
     if self.id:
         texture = bgl.Buffer(bgl.GL_INT, 1)
         texture[0] = self.id
         bgl.glBindTexture(bgl.GL_TEXTURE_2D, self.id)
         bgl.glDeleteTextures(1, texture)
         self.id = None
コード例 #6
0
def unregister():
    if textures:
        tex_set = set()
        for tex, buf, sx, sy, _x, _y, _w, _h in textures.values():
            tex_set.add(tex)
        buf = bgl.Buffer(bgl.GL_INT, len(tex_set), list(tex_set))
        bgl.glDeleteTextures(len(buf), buf)
コード例 #7
0
    def __del__(self):
        log('CustomDrawData.__del__()')

        bgl.glDeleteBuffers(2, self.vertex_buffer)
        bgl.glDeleteVertexArrays(1, self.vertex_array)
        bgl.glBindTexture(bgl.GL_TEXTURE_2D, 0)
        bgl.glDeleteTextures(1, self.texture)
コード例 #8
0
ファイル: icon_util.py プロジェクト: Mitsu1/creaturas-magicas
def clean_icon_texture():
    print('cleaning the texture')
    settings = context.user_prefernces.addons['piemenus'].preferences
    tex_name = settings.pieIconBindcode
    residencies = None
    bgl.glAreTexturesResident(1, tex_name, residencies)
    if residencies:
        bgl.glDeleteTextures(1, tex_name)
コード例 #9
0
ファイル: icon_util.py プロジェクト: BlenderCN-Org/Vismaya
def clean_icon_texture():
    print('cleaning the texture')
    scene = bpy.context.scene
    tex_name = scene.pieIconBindcode
    residencies = None
    bgl.glAreTexturesResident(1, tex_name, residencies)
    if residencies:
        bgl.glDeleteTextures(1, tex_name)
コード例 #10
0
    def close(self):
        if not self.initialized:
            return

        bgl.glDeleteBuffers(2, self.vertex_buffer)
        bgl.glDeleteVertexArrays(1, self.vertex_array)
        bgl.glBindTexture(bgl.GL_TEXTURE_2D, 0)
        bgl.glDeleteTextures(1, self.texture)
コード例 #11
0
 def delete(self):
     super().delete()
     textures = bgl.Buffer(bgl.GL_INT, [
         1,
     ], [
         self.texture_id,
     ])
     bgl.glDeleteTextures(1, textures)
コード例 #12
0
ファイル: icon_util.py プロジェクト: ruesp83/blender
def clean_icon_texture():
    print("cleaning the texture")
    settings = context.user_prefernces.addons["piemenus"].preferences
    tex_name = settings.pieIconBindcode
    residencies = None
    bgl.glAreTexturesResident(1, tex_name, residencies)
    if residencies:
        bgl.glDeleteTextures(1, tex_name)
コード例 #13
0
 def _delete(self):
     textures = bgl.Buffer(bgl.GL_INT, [
         1,
     ], [
         self.texture_id,
     ])
     bgl.glDeleteTextures(1, textures)
     self.texture_id = 0
     self.image = None
コード例 #14
0
 def unload(self):
     if self.scene != None:
         try:
             self.scene.filterManager.removeFilter(self.slot)
         except SystemError:
             pass
         Filter2D.uslot.remove(self.slot)
     for x in self.textures:
         if str(type(x)) == "<class 'bgl.Buffer'>":
             bgl.glDeleteTextures(1, x)
コード例 #15
0
ファイル: __init__.py プロジェクト: sambler/myblenderaddons
    def __del__(self):
        if not self.freed:
            bgl.glDeleteFramebuffers(1, self.fbo)
            bgl.glDeleteRenderbuffers(1, self.buf_depth)
            bgl.glDeleteTextures(1, self.buf_color)
            del self.fbo
            del self.buf_color
            del self.buf_depth

            del self.cur_fbo
            del self.cur_viewport
コード例 #16
0
ファイル: __init__.py プロジェクト: pllpll2003/BlenderSource
    def __del__(self):
        if not self.freed:
            bgl.glDeleteFramebuffers(1, self.fbo)
            bgl.glDeleteRenderbuffers(1, self.buf_depth)
            bgl.glDeleteTextures(1, self.buf_color)
            del self.fbo
            del self.buf_color
            del self.buf_depth

            del self.cur_fbo
            del self.cur_viewport
コード例 #17
0
ファイル: blender.py プロジェクト: mysticfall/alleycat-ui
    def dispose(self) -> None:
        if self._draw_handler:
            # noinspection PyArgumentList
            SpaceView3D.draw_handler_remove(self._draw_handler, "WINDOW")
        else:
            bge.logic.getCurrentScene().post_draw.remove(self.process)

        bgl.glDeleteTextures(1, self.texture)

        # noinspection PyTypeChecker
        bgl.glDeleteBuffers(1, self.texture)

        super().dispose()
コード例 #18
0
ファイル: zu.py プロジェクト: vktec/zu
    def delfb(self):
        buf = bgl.Buffer(bgl.GL_INT, 1)

        if self.vtx_buf is not None:
            bgl.glDeleteBuffers(2, self.vtx_buf)
            self.vtx_buf = None
        if self.vao is not None:
            buf[0] = self.vao
            bgl.glDeleteVertexArrays(1, buf)
            self.vao = None

        if self.tex is not None:
            buf[0] = self.tex
            bgl.glDeleteTextures(1, buf)
            self.tex = None
        if self.depth is not None:
            buf[0] = self.depth
            bgl.glDeleteRenderbuffers(1, buf)
            self.depth = None
        if self.fb is not None:
            buf[0] = self.fb
            bgl.glDeleteFramebuffers(1, buf)
            self.fb = None
コード例 #19
0
ファイル: node_base.py プロジェクト: brendanaaa/Learnbgame
 def delete_texture(self):
     if self.node_id in self.texture:
         bgl.glDeleteTextures(1, bgl.Buffer(bgl.GL_INT, 1, self.texture[self.node_id]["name"]))
コード例 #20
0
 def __del__(self):
     bgl.glDeleteBuffers(2, self.vertex_buffer)
     bgl.glDeleteVertexArrays(1, self.vertex_array)
     bgl.glBindTexture(bgl.GL_TEXTURE_2D, 0)
     bgl.glDeleteTextures(1, self.texture)
コード例 #21
0
 def delete_texture(self):
     n_id = node_id(self)
     if n_id in self.texture:
         names = bgl.Buffer(bgl.GL_INT, 1, [self.texture[n_id]])
         bgl.glDeleteTextures(1, names)
コード例 #22
0
 def free(self):
     bgl.glDeleteTextures(1, self.__buffer)
コード例 #23
0
ファイル: __init__.py プロジェクト: JuhaW/blender_ctools
 def delete_textures(self):
     if self.use_texture:
         buf = bgl.Buffer(bgl.GL_INT, 1, [self.texture_back])
         bgl.glDeleteTextures(1, buf)
コード例 #24
0
 def __del__(self):
     bgl.glDeleteBuffers(2, self.vertex_buffer)
     bgl.glDeleteVertexArrays(1, self.vertex_array)
     bgl.glBindTexture(bgl.GL_TEXTURE_2D, 0)
     bgl.glDeleteTextures(1, self.texture)
コード例 #25
0
def h_del_texture(tex):
    id = bgl.Buffer(bgl.GL_INT, 1, [tex])
    bgl.glDeleteTextures(1, id)
コード例 #26
0
ファイル: texture_viewer.py プロジェクト: elfnor/sverchok
 def delete_texture(self):
     n_id = node_id(self)
     if n_id in self.texture:
         names = bgl.Buffer(bgl.GL_INT, 1, [self.texture[n_id]])
         bgl.glDeleteTextures(1, names)
コード例 #27
0
 def _invalidate_device_objects(self):
     if self._font_texture > -1:
         gl.glDeleteTextures([self._font_texture])
     self.io.fonts.texture_id = 0
     self._font_texture = 0
コード例 #28
0
 def delete_textures(self):
     if self.use_texture:
         buf = bgl.Buffer(bgl.GL_INT, 1, [self.texture_back])
         bgl.glDeleteTextures(1, buf)