void GPU_shader_uniform_texture(GPUShader *shader, char *name, GPUTexture *tex) { GLint location = glGetUniformLocationARB(shader->object, name); GLenum arbnumber = (GLenum)((GLuint)GL_TEXTURE0_ARB + tex->number); if (tex->number != 0) glActiveTextureARB(arbnumber); glBindTexture(tex->target, tex->bindcode); glUniform1iARB(location, tex->number); glEnable(tex->target); if (tex->number != 0) glActiveTextureARB(GL_TEXTURE0_ARB); }