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)
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()
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)
def __del__(self): textures = bgl.Buffer(bgl.GL_INT, [ 1, ], [ self.texture_id, ]) bgl.glDeleteTextures(1, textures)
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
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)
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)
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)
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)
def delete(self): super().delete() textures = bgl.Buffer(bgl.GL_INT, [ 1, ], [ self.texture_id, ]) bgl.glDeleteTextures(1, textures)
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)
def _delete(self): textures = bgl.Buffer(bgl.GL_INT, [ 1, ], [ self.texture_id, ]) bgl.glDeleteTextures(1, textures) self.texture_id = 0 self.image = None
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)
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
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()
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
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"]))
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)
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)
def free(self): bgl.glDeleteTextures(1, self.__buffer)
def delete_textures(self): if self.use_texture: buf = bgl.Buffer(bgl.GL_INT, 1, [self.texture_back]) bgl.glDeleteTextures(1, buf)
def h_del_texture(tex): id = bgl.Buffer(bgl.GL_INT, 1, [tex]) bgl.glDeleteTextures(1, id)
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