Python OpenGL.GL.glBindTexture() Examples
The following are 30
code examples of OpenGL.GL.glBindTexture().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
OpenGL.GL
, or try the search function
.
Example #1
Source File: opengl.py From pyimgui with BSD 3-Clause "New" or "Revised" License | 7 votes |
def refresh_font_texture(self): # save texture state last_texture = gl.glGetIntegerv(gl.GL_TEXTURE_BINDING_2D) width, height, pixels = self.io.fonts.get_tex_data_as_rgba32() if self._font_texture is not None: gl.glDeleteTextures([self._font_texture]) self._font_texture = gl.glGenTextures(1) 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) gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, gl.GL_RGBA, width, height, 0, gl.GL_RGBA, gl.GL_UNSIGNED_BYTE, pixels) self.io.fonts.texture_id = self._font_texture gl.glBindTexture(gl.GL_TEXTURE_2D, last_texture) self.io.fonts.clear_tex_data()
Example #2
Source File: hellovr_glfw.py From pyopenvr with BSD 3-Clause "New" or "Revised" License | 6 votes |
def set_up_texture_maps(self): ts = pkg_resources.resource_stream('samples', 'cube_texture.png') image = Image.open(ts).convert('RGBA') width, height = image.size image_data = numpy.array(list(image.getdata()), numpy.uint8) self.i_texture = GL.glGenTextures(1) GL.glBindTexture(GL.GL_TEXTURE_2D, self.i_texture) GL.glTexImage2D( GL.GL_TEXTURE_2D, 0, GL.GL_RGBA, width, height, 0, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, image_data, ) GL.glGenerateMipmap(GL.GL_TEXTURE_2D) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S, GL.GL_CLAMP_TO_EDGE) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_T, GL.GL_CLAMP_TO_EDGE) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR_MIPMAP_LINEAR) f_largest = GL.glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT) GL.glTexParameterf(GL.GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, f_largest) GL.glBindTexture(GL.GL_TEXTURE_2D, 0)
Example #3
Source File: hellovr_glfw.py From pyopenvr with BSD 3-Clause "New" or "Revised" License | 6 votes |
def render_companion_window(self): GL.glDisable(GL.GL_DEPTH_TEST) GL.glViewport(0, 0, self.companion_width, self.companion_height) GL.glBindVertexArray(self.companion_window_vao) GL.glUseProgram(self.companion_window_program) # render left eye (first half of index array) i_size = sizeof(c_uint16) count = int(self.companion_window_index_size / 2) GL.glBindTexture(GL.GL_TEXTURE_2D, self.left_eye_desc.resolve_texture_id) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S, GL.GL_CLAMP_TO_EDGE) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_T, GL.GL_CLAMP_TO_EDGE) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR) GL.glDrawElements(GL.GL_TRIANGLES, count, GL.GL_UNSIGNED_SHORT, cast(0 * i_size, c_void_p)) # render right eye (second half of index array) GL.glBindTexture(GL.GL_TEXTURE_2D, self.right_eye_desc.resolve_texture_id) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S, GL.GL_CLAMP_TO_EDGE) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_T, GL.GL_CLAMP_TO_EDGE) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR) GL.glDrawElements(GL.GL_TRIANGLES, count, GL.GL_UNSIGNED_SHORT, cast(count * i_size, c_void_p)) GL.glBindVertexArray(0) GL.glUseProgram(0)
Example #4
Source File: glhelpers.py From bluesky with GNU General Public License v3.0 | 6 votes |
def create_font_array(self): # Load the first image to get font size img = QImage(os.path.join(settings.gfx_path, 'font/32.png')) imgsize = (img.width(), img.height()) self.char_ar = float(imgsize[1]) / imgsize[0] # Set-up the texture array self.tex_id = gl.glGenTextures(1) gl.glBindTexture(gl.GL_TEXTURE_2D_ARRAY, self.tex_id) gl.glTexImage3D(gl.GL_TEXTURE_2D_ARRAY, 0, gl.GL_RGBA8, imgsize[0], imgsize[1], 127 - 30, 0, gl.GL_BGRA, gl.GL_UNSIGNED_BYTE, None) gl.glTexParameteri(gl.GL_TEXTURE_2D_ARRAY, gl.GL_TEXTURE_MIN_FILTER, gl.GL_LINEAR) gl.glTexParameteri(gl.GL_TEXTURE_2D_ARRAY, gl.GL_TEXTURE_MAG_FILTER, gl.GL_LINEAR) gl.glTexParameterf(gl.GL_TEXTURE_2D_ARRAY, gl.GL_TEXTURE_WRAP_S, gl.GL_CLAMP_TO_BORDER) gl.glTexParameterf(gl.GL_TEXTURE_2D_ARRAY, gl.GL_TEXTURE_WRAP_T, gl.GL_CLAMP_TO_BORDER) # We're using the ASCII range 32-126; space, uppercase, lower case, numbers, brackets, punctuation marks for i in range(30, 127): img = QImage(os.path.join(settings.gfx_path, 'font/%d.png' % i)).convertToFormat(QImage.Format_ARGB32) ptr = c_void_p(int(img.constBits())) gl.glTexSubImage3D(gl.GL_TEXTURE_2D_ARRAY, 0, 0, 0, i - 30, imgsize[0], imgsize[1], 1, gl.GL_BGRA, gl.GL_UNSIGNED_BYTE, ptr)
Example #5
Source File: tracked_devices_actor.py From pyopenvr with BSD 3-Clause "New" or "Revised" License | 6 votes |
def display_gl(self, modelview, projection, pose): if not self.model_is_loaded: self._try_load_model() return if not self.texture_is_loaded: self._try_load_texture() return controller_X_room = pose.mDeviceToAbsoluteTracking controller_X_room = matrixForOpenVrMatrix(controller_X_room) modelview0 = controller_X_room * modelview # Repack before use, just in case modelview0 = numpy.asarray(numpy.matrix(modelview0, dtype=numpy.float32)) GL.glUniformMatrix4fv(4, 1, False, modelview0) normal_matrix = numpy.asarray(controller_X_room) GL.glUniformMatrix4fv(8, 1, False, normal_matrix) GL.glActiveTexture(GL.GL_TEXTURE0) GL.glBindTexture(GL.GL_TEXTURE_2D, self.diffuse_texture) GL.glBindVertexArray(self.vao) GL.glDrawElements(GL.GL_TRIANGLES, len(self.indexPositions), GL.GL_UNSIGNED_INT, None) GL.glBindVertexArray(0)
Example #6
Source File: tracked_devices_actor.py From pyopenvr with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _try_load_texture(self): # Surface texture try: texture_map = openvr.VRRenderModels().loadTexture_Async(self.model.diffuseTextureId) except openvr.error_code.RenderModelError_Loading: return self.texture_map = texture_map self.diffuse_texture = GL.glGenTextures(1) GL.glBindTexture(GL.GL_TEXTURE_2D, self.diffuse_texture) GL.glTexImage2D(GL.GL_TEXTURE_2D, 0, GL.GL_RGBA, self.texture_map.unWidth, self.texture_map.unHeight, 0, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, self.texture_map.rubTextureMapData) GL.glGenerateMipmap(GL.GL_TEXTURE_2D) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S, GL.GL_CLAMP_TO_EDGE) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_T, GL.GL_CLAMP_TO_EDGE) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR_MIPMAP_LINEAR) fLargest = GL.glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT) GL.glTexParameterf(GL.GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, fLargest) GL.glBindTexture(GL.GL_TEXTURE_2D, 0) self.texture_is_loaded = True
Example #7
Source File: blipdriver.py From bluesky with GNU General Public License v3.0 | 6 votes |
def load_lcd_font(): files = sorted(glob('mcp_font/*.png')) img = QImage(files[0]) imgsize = (img.width(), img.height()) # Set-up the texture array tex_id = gl.glGenTextures(1) gl.glBindTexture(gl.GL_TEXTURE_2D_ARRAY, tex_id) gl.glTexImage3D(gl.GL_TEXTURE_2D_ARRAY, 0, gl.GL_RGBA8, imgsize[0], imgsize[1], len(files), 0, gl.GL_BGRA, gl.GL_UNSIGNED_BYTE, None) gl.glTexParameteri(gl.GL_TEXTURE_2D_ARRAY, gl.GL_TEXTURE_MIN_FILTER, gl.GL_LINEAR) gl.glTexParameteri(gl.GL_TEXTURE_2D_ARRAY, gl.GL_TEXTURE_MAG_FILTER, gl.GL_LINEAR) gl.glTexParameterf(gl.GL_TEXTURE_2D_ARRAY, gl.GL_TEXTURE_WRAP_S, gl.GL_CLAMP_TO_BORDER) gl.glTexParameterf(gl.GL_TEXTURE_2D_ARRAY, gl.GL_TEXTURE_WRAP_T, gl.GL_CLAMP_TO_BORDER) for i, fname in enumerate(files): img = QImage(fname).convertToFormat(QImage.Format_ARGB32) ptr = c_void_p(int(img.constBits())) gl.glTexSubImage3D(gl.GL_TEXTURE_2D_ARRAY, 0, 0, 0, i, imgsize[0], imgsize[1], 1, gl.GL_BGRA, gl.GL_UNSIGNED_BYTE, ptr) return tex_id
Example #8
Source File: glhelpers.py From bluesky with GNU General Public License v3.0 | 5 votes |
def load_texture(fname): img = QImage(fname) ptr = c_void_p(int(img.constBits())) tex_id = gl.glGenTextures(1) gl.glBindTexture(gl.GL_TEXTURE_2D, tex_id) gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, gl.GL_RGBA8, img.width(), img.height(), 0, gl.GL_BGRA, gl.GL_UNSIGNED_BYTE, ptr) gl.glGenerateMipmap(gl.GL_TEXTURE_2D) gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MIN_FILTER, gl.GL_LINEAR_MIPMAP_LINEAR) gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MAG_FILTER, gl.GL_LINEAR) return tex_id
Example #9
Source File: rendering.py From renpy-shader with MIT License | 5 votes |
def unbindTextures(self): for i in range(len(self.textures)): gl.glActiveTexture(gl.GL_TEXTURE0 + i) gl.glBindTexture(gl.GL_TEXTURE_2D, 0) gl.glActiveTexture(gl.GL_TEXTURE0)
Example #10
Source File: glhelpers.py From bluesky with GNU General Public License v3.0 | 5 votes |
def use(self): gl.glActiveTexture(gl.GL_TEXTURE0 + 0) gl.glBindTexture(gl.GL_TEXTURE_2D_ARRAY, self.tex_id)
Example #11
Source File: glhelpers.py From bluesky with GNU General Public License v3.0 | 5 votes |
def load_texture(fname): img = QImage(fname) ptr = c_void_p(int(img.constBits())) tex_id = gl.glGenTextures(1) gl.glBindTexture(gl.GL_TEXTURE_2D, tex_id) gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, gl.GL_RGBA8, img.width(), img.height(), 0, gl.GL_BGRA, gl.GL_UNSIGNED_BYTE, ptr) gl.glGenerateMipmap(gl.GL_TEXTURE_2D) gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MIN_FILTER, gl.GL_LINEAR_MIPMAP_LINEAR) gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MAG_FILTER, gl.GL_LINEAR) return tex_id
Example #12
Source File: glhelpers.py From bluesky with GNU General Public License v3.0 | 5 votes |
def use(self): gl.glActiveTexture(gl.GL_TEXTURE0 + 0) gl.glBindTexture(gl.GL_TEXTURE_2D_ARRAY, self.tex_id)
Example #13
Source File: fullscreen_quad.py From dm_control with Apache License 2.0 | 5 votes |
def _init_texture(self): """Initializes the texture storage.""" self._texture = GL.glGenTextures(1) GL.glBindTexture(GL.GL_TEXTURE_2D, self._texture) GL.glTexParameteri( GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_NEAREST) GL.glTexParameteri( GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_NEAREST)
Example #14
Source File: fullscreen_quad.py From dm_control with Apache License 2.0 | 5 votes |
def render(self, pixmap, viewport_shape): """Renders the pixmap on a fullscreen quad. Args: pixmap: A 3D numpy array of bytes (np.uint8), with dimensions (width, height, 3). viewport_shape: A tuple of two elements, (width, height). """ GL.glClear(GL.GL_COLOR_BUFFER_BIT) GL.glViewport(0, 0, *viewport_shape) GL.glUseProgram(self._shader) GL.glActiveTexture(GL.GL_TEXTURE0) GL.glBindTexture(GL.GL_TEXTURE_2D, self._texture) GL.glPixelStorei(GL.GL_UNPACK_ALIGNMENT, 1) GL.glTexImage2D(GL.GL_TEXTURE_2D, 0, GL.GL_RGB, pixmap.shape[1], pixmap.shape[0], 0, GL.GL_RGB, GL.GL_UNSIGNED_BYTE, pixmap) GL.glUniform1i(self._var_texture_sampler, 0) GL.glDrawArrays(GL.GL_TRIANGLE_STRIP, 0, 4)
Example #15
Source File: hellovr_glfw.py From pyopenvr with BSD 3-Clause "New" or "Revised" License | 5 votes |
def draw(self): GL.glBindVertexArray(self.vertex_array) GL.glActiveTexture(GL.GL_TEXTURE0) GL.glBindTexture(GL.GL_TEXTURE_2D, self.texture) GL.glDrawElements(GL.GL_TRIANGLES, self.vertex_count, GL.GL_UNSIGNED_SHORT, None) GL.glBindVertexArray(0)
Example #16
Source File: hellovr_glfw.py From pyopenvr with BSD 3-Clause "New" or "Revised" License | 5 votes |
def __init__(self, width, height): self.render_framebuffer_id = GL.glGenFramebuffers(1) GL.glBindFramebuffer(GL.GL_FRAMEBUFFER, self.render_framebuffer_id) # self.depth_buffer_id = GL.glGenRenderbuffers(1) GL.glBindRenderbuffer(GL.GL_RENDERBUFFER, self.depth_buffer_id) GL.glRenderbufferStorageMultisample(GL.GL_RENDERBUFFER, 4, GL.GL_DEPTH_COMPONENT, width, height) GL.glFramebufferRenderbuffer(GL.GL_FRAMEBUFFER, GL.GL_DEPTH_ATTACHMENT, GL.GL_RENDERBUFFER, self.depth_buffer_id) # self.render_texture_id = GL.glGenTextures(1) GL.glBindTexture(GL.GL_TEXTURE_2D_MULTISAMPLE, self.render_texture_id) GL.glTexImage2DMultisample(GL.GL_TEXTURE_2D_MULTISAMPLE, 4, GL.GL_RGBA8, width, height, True) GL.glFramebufferTexture2D(GL.GL_FRAMEBUFFER, GL.GL_COLOR_ATTACHMENT0, GL.GL_TEXTURE_2D_MULTISAMPLE, self.render_texture_id, 0) # self.resolve_framebuffer_id = GL.glGenFramebuffers(1) GL.glBindFramebuffer(GL.GL_FRAMEBUFFER, self.resolve_framebuffer_id) # self.resolve_texture_id = GL.glGenTextures(1) GL.glBindTexture(GL.GL_TEXTURE_2D, self.resolve_texture_id) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR) GL.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAX_LEVEL, 0) GL.glTexImage2D(GL.GL_TEXTURE_2D, 0, GL.GL_RGBA8, width, height, 0, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, None) GL.glFramebufferTexture2D(GL.GL_FRAMEBUFFER, GL.GL_COLOR_ATTACHMENT0, GL.GL_TEXTURE_2D, self.resolve_texture_id, 0) status = GL.glCheckFramebufferStatus(GL.GL_FRAMEBUFFER) assert status == GL.GL_FRAMEBUFFER_COMPLETE
Example #17
Source File: glutils.py From MCEdit-Unified with ISC License | 5 votes |
def bind(self): GL.glBindTexture(GL.GL_TEXTURE_2D, self._texID)
Example #18
Source File: test_opengl.py From spimagine with BSD 3-Clause "New" or "Revised" License | 5 votes |
def paintGL(self): #GL.glClear(GL.GL_COLOR_BUFFER_BIT) self.program.bind() self.program.enableAttributeArray("position") self.program.enableAttributeArray("texcoord") self.program.setAttributeArray("position", self.quadCoord) self.program.setAttributeArray("texcoord", self.quadCoordTex) GL.glActiveTexture(GL.GL_TEXTURE0) GL.glBindTexture(GL.GL_TEXTURE_2D, self.texture) self.program.setUniformValue("texture", 0) GL.glDrawArrays(GL.GL_TRIANGLES, 0, len(self.quadCoord))
Example #19
Source File: glow.py From semantic-kitti-api with MIT License | 5 votes |
def assign(self, array): gl.glBindTexture(gl.GL_TEXTURE_RECTANGLE, self.id_) if array.dtype == np.uint8: gl.glTexImage2D(gl.GL_TEXTURE_RECTANGLE, 0, self.internalFormat_, self.width_, self.height_, 0, self.format, gl.GL_UNSIGNED_BYTE, array) elif array.dtype == np.float32: gl.glTexImage2D(gl.GL_TEXTURE_RECTANGLE, 0, self.internalFormat_, self.width_, self.height_, 0, self.format, gl.GL_FLOAT, array) else: raise NotImplementedError("pixel type not implemented.") gl.glBindTexture(gl.GL_TEXTURE_RECTANGLE, 0)
Example #20
Source File: glow.py From semantic-kitti-api with MIT License | 5 votes |
def release(self, textureUnitId): gl.glActiveTexture(gl.GL_TEXTURE0 + int(textureUnitId)) gl.glBindTexture(gl.GL_TEXTURE_RECTANGLE, 0)
Example #21
Source File: glow.py From semantic-kitti-api with MIT License | 5 votes |
def bind(self, textureUnitId): gl.glActiveTexture(gl.GL_TEXTURE0 + int(textureUnitId)) gl.glBindTexture(gl.GL_TEXTURE_RECTANGLE, self.id_)
Example #22
Source File: glow.py From semantic-kitti-api with MIT License | 5 votes |
def __init__(self, width, height, internalFormat=gl.GL_RGBA, format=gl.GL_RGBA): self.id_ = gl.glGenTextures(1) self.internalFormat_ = internalFormat # gl.GL_RGB_FLOAT, gl.GL_RGB_UNSIGNED, ... self.format = format # GL_RG. GL_RG_INTEGER, ... self.width_ = width self.height_ = height gl.glBindTexture(gl.GL_TEXTURE_RECTANGLE, self.id_) gl.glTexParameteri(gl.GL_TEXTURE_RECTANGLE, gl.GL_TEXTURE_MIN_FILTER, gl.GL_NEAREST) gl.glTexParameteri(gl.GL_TEXTURE_RECTANGLE, gl.GL_TEXTURE_MAG_FILTER, gl.GL_NEAREST) gl.glTexParameteri(gl.GL_TEXTURE_RECTANGLE, gl.GL_TEXTURE_WRAP_S, gl.GL_CLAMP_TO_BORDER) gl.glTexParameteri(gl.GL_TEXTURE_RECTANGLE, gl.GL_TEXTURE_WRAP_T, gl.GL_CLAMP_TO_BORDER) gl.glBindTexture(gl.GL_TEXTURE_RECTANGLE, 0)
Example #23
Source File: rendering.py From renpy-shader with MIT License | 5 votes |
def bindTextures(self, shader): index = 0 for sampler, entry in self.textures.items(): shader.uniformi(sampler, index) gl.glActiveTexture(gl.GL_TEXTURE0 + index) gl.glBindTexture(gl.GL_TEXTURE_2D, entry.texture.textureId) index += 1
Example #24
Source File: rendering.py From renpy-shader with MIT License | 5 votes |
def render(self, context): self.shader.bind() self.setUniforms(self.shader, context.uniforms) self.shader.uniformf("screenSize", *self.getSize()) gl.glClearColor(*self.clearColor) gl.glClear(gl.GL_COLOR_BUFFER_BIT) gl.glDisable(gl.GL_DEPTH_TEST) transforms = self.computeBoneTransforms() boneMatrixArray = [] for i, transform in enumerate(transforms): boneMatrix = transform.matrix boneMatrix.p = transform.transparency #Abuse unused matrix location overwrite = transform.damping > 0.0 if overwrite and self.oldFrameData.get(transform.bone.name): overwrite = self.dampenBoneTransform(context, transform) if overwrite: self.oldFrameData[transform.bone.name] = SkinnedFrameData(context.shownTime, transform) boneMatrixArray.extend(utils.matrixToList(boneMatrix)) self.shader.uniformMatrix4fArray("boneMatrices", boneMatrixArray) for transform in transforms: self.renderBoneTransform(transform, context) for i in range(2): gl.glActiveTexture(gl.GL_TEXTURE0 + i) gl.glBindTexture(gl.GL_TEXTURE_2D, 0) gl.glActiveTexture(gl.GL_TEXTURE0) self.shader.unbind()
Example #25
Source File: glutils.py From GDMC with ISC License | 5 votes |
def bind(self): GL.glBindTexture(GL.GL_TEXTURE_2D, self._texID)
Example #26
Source File: opengl.py From pyimgui with BSD 3-Clause "New" or "Revised" License | 5 votes |
def refresh_font_texture(self): # save texture state # last_texture = gl.glGetIntegerv(gl.GL_TEXTURE_BINDING_2D) width, height, pixels = self.io.fonts.get_tex_data_as_alpha8() if self._font_texture is not None: gl.glDeleteTextures([self._font_texture]) self._font_texture = gl.glGenTextures(1) 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) gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, gl.GL_ALPHA, width, height, 0, gl.GL_ALPHA, gl.GL_UNSIGNED_BYTE, pixels) self.io.fonts.texture_id = self._font_texture # gl.glBindTexture(gl.GL_TEXTURE_2D, last_texture) self.io.fonts.clear_tex_data()
Example #27
Source File: texture.py From renpy-shader with MIT License | 5 votes |
def _load(self, surface): self.free() self.width = surface.get_width() self.height = surface.get_height() self.textureId = 0 textureId = (gl.GLuint * 1)() surface.lock() BYTEP = ctypes.POINTER(ctypes.c_ubyte) ptr = ctypes.cast(surface._pixels_address, BYTEP) gl.glGenTextures(1, textureId) gl.glEnable(gl.GL_TEXTURE_2D) gl.glActiveTexture(gl.GL_TEXTURE0) gl.glPixelStorei(gl.GL_UNPACK_ROW_LENGTH, surface.get_pitch() // surface.get_bytesize()) gl.glBindTexture(gl.GL_TEXTURE_2D, textureId[0]) gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_WRAP_S, gl.GL_CLAMP_TO_EDGE) gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_WRAP_T, gl.GL_CLAMP_TO_EDGE) gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MAG_FILTER, gl.GL_LINEAR) gl.glTexParameteri(gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MIN_FILTER, gl.GL_LINEAR) gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, gl.GL_RGBA, self.width, self.height, 0, gl.GL_RGBA, gl.GL_UNSIGNED_BYTE, ptr) gl.glBindTexture(gl.GL_TEXTURE_2D, 0); gl.glPixelStorei(gl.GL_UNPACK_ROW_LENGTH, 0) surface.unlock() self.textureId = textureId[0]
Example #28
Source File: texture.py From renpy-shader with MIT License | 5 votes |
def bind(self, index): gl.glActiveTexture(gl.GL_TEXTURE0 + index) gl.glBindTexture(gl.GL_TEXTURE_2D, self.textureId)
Example #29
Source File: controller.py From renpy-shader with MIT License | 5 votes |
def copyRenderBufferToSurface(self, surface): surface.lock() gl.glPixelStorei(gl.GL_PACK_ROW_LENGTH, surface.get_pitch() // surface.get_bytesize()) gl.glBindTexture(gl.GL_TEXTURE_2D, self.frameBuffer.texture) gl.glGetTexImage(gl.GL_TEXTURE_2D, 0, gl.GL_RGBA, gl.GL_UNSIGNED_BYTE, surface._pixels_address) gl.glBindTexture(gl.GL_TEXTURE_2D, 0) gl.glPixelStorei(gl.GL_PACK_ROW_LENGTH, 0) surface.unlock()
Example #30
Source File: glutils.py From MCEdit-Unified with ISC License | 4 votes |
def __init__(self, width, height, drawFunc): tex = GL.glGenTextures(1) GL.glBindTexture(GL.GL_TEXTURE_2D, tex) GL.glTexParameter(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_NEAREST) GL.glTexParameter(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_NEAREST) GL.glTexImage2D(GL.GL_TEXTURE_2D, 0, GL.GL_RGBA8, width, height, 0, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, None) self.enabled = False self._texID = tex if bool(FBO.glGenFramebuffers) and "Intel" not in GL.glGetString(GL.GL_VENDOR): buf = FBO.glGenFramebuffers(1) depthbuffer = FBO.glGenRenderbuffers(1) FBO.glBindFramebuffer(FBO.GL_FRAMEBUFFER, buf) FBO.glBindRenderbuffer(FBO.GL_RENDERBUFFER, depthbuffer) FBO.glRenderbufferStorage(FBO.GL_RENDERBUFFER, GL.GL_DEPTH_COMPONENT, width, height) FBO.glFramebufferRenderbuffer(FBO.GL_FRAMEBUFFER, FBO.GL_DEPTH_ATTACHMENT, FBO.GL_RENDERBUFFER, depthbuffer) FBO.glFramebufferTexture2D(FBO.GL_FRAMEBUFFER, FBO.GL_COLOR_ATTACHMENT0, GL.GL_TEXTURE_2D, tex, 0) status = FBO.glCheckFramebufferStatus(FBO.GL_FRAMEBUFFER) if status != FBO.GL_FRAMEBUFFER_COMPLETE: print "glCheckFramebufferStatus", status self.enabled = False return FBO.glBindFramebuffer(FBO.GL_FRAMEBUFFER, buf) with gl.glPushAttrib(GL.GL_VIEWPORT_BIT): GL.glViewport(0, 0, width, height) drawFunc() FBO.glBindFramebuffer(FBO.GL_FRAMEBUFFER, 0) FBO.glDeleteFramebuffers(1, [buf]) FBO.glDeleteRenderbuffers(1, [depthbuffer]) self.enabled = True else: GL.glReadBuffer(GL.GL_BACK) GL.glPushAttrib( GL.GL_VIEWPORT_BIT | GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT | GL.GL_STENCIL_TEST | GL.GL_STENCIL_BUFFER_BIT) GL.glDisable(GL.GL_STENCIL_TEST) GL.glViewport(0, 0, width, height) GL.glScissor(0, 0, width, height) with gl.glEnable(GL.GL_SCISSOR_TEST): drawFunc() GL.glBindTexture(GL.GL_TEXTURE_2D, tex) GL.glReadBuffer(GL.GL_BACK) GL.glCopyTexSubImage2D(GL.GL_TEXTURE_2D, 0, 0, 0, 0, 0, width, height) GL.glPopAttrib()