def _RenderFramebuffer(samplesToRender: int, attachmentToRender: int) -> None: global _acumVertexCount, _acumDrawsCount _postProcessVao.Bind() _postProcessShader.Use() _postProcessShader.SetUniform1i("uSamples", samplesToRender) GL.glBindTextureUnit( MULTISAMPLE_TEXTURE_SAMPLER if samplesToRender > 1 else NORMAL_TEXTURE_SAMPLER, attachmentToRender) GL.glDrawElementsInstanced(GL.GL_TRIANGLES, INDICES_PER_QUAD, _ibo.Type, None, 1) renderStats.drawsCount += 1 renderStats.vertexCount += VERTICES_PER_QUAD _ResetCounters()
def bind(self, slot=0): # same as: # gl.glActiveTexture(gl.GL_TEXTURE0) # gl.glBindTexture(gl.GL_TEXTURE_2D, self.tex_handle) gl.glBindTextureUnit(slot, self.handle)
def BindToUnit(self, slot) -> None: GL.glBindTextureUnit(slot, self._id)