Cleanup: remove slot from texture.
This commit is contained in:
		@ -145,7 +145,6 @@ rk_param_t rk_resolve_param(
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
rk_texture_t rk_create_texture(
 | 
			
		||||
    rk_uint slot,
 | 
			
		||||
    rk_texture_format format,
 | 
			
		||||
    rk_uint width,
 | 
			
		||||
    rk_uint height,
 | 
			
		||||
@ -184,7 +183,6 @@ rk_texture_t rk_create_texture(
 | 
			
		||||
            break;
 | 
			
		||||
    }
 | 
			
		||||
    rk_texture * const texture = new rk_texture;
 | 
			
		||||
    glActiveTexture(GL_TEXTURE0 + slot);
 | 
			
		||||
    glGenTextures(1, &texture->texture);
 | 
			
		||||
    GLenum target;
 | 
			
		||||
    if (nlevels) {
 | 
			
		||||
@ -226,7 +224,6 @@ rk_texture_t rk_create_texture(
 | 
			
		||||
    if (flags & RK_TEXTURE_FLAG_MIPMAPS) {
 | 
			
		||||
        glGenerateMipmap(target);
 | 
			
		||||
    }
 | 
			
		||||
    texture->slot = slot;
 | 
			
		||||
    texture->nlevels = nlevels;
 | 
			
		||||
    glBindTexture(target, 0);
 | 
			
		||||
    return texture;
 | 
			
		||||
@ -499,18 +496,19 @@ void rk_set_param_vec3(
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void rk_select_texture(
 | 
			
		||||
    rk_uint slot,
 | 
			
		||||
    rk_texture_t _texture,
 | 
			
		||||
    rk_input_t _sampler) {
 | 
			
		||||
    rk_texture const * const texture = reinterpret_cast<rk_texture const *>(_texture);
 | 
			
		||||
    GLint const sampler = reinterpret_cast<intptr_t>(_sampler) - 1;
 | 
			
		||||
    if (texture && sampler > -1 && rk_current_shader) {
 | 
			
		||||
        glActiveTexture(GL_TEXTURE0 + texture->slot);
 | 
			
		||||
        glActiveTexture(GL_TEXTURE0 + slot);
 | 
			
		||||
        if (texture->nlevels) {
 | 
			
		||||
            glBindTexture(GL_TEXTURE_2D_ARRAY, texture->texture);
 | 
			
		||||
        } else {
 | 
			
		||||
            glBindTexture(GL_TEXTURE_2D, texture->texture);
 | 
			
		||||
        }
 | 
			
		||||
        glUniform1i(sampler, texture->slot);
 | 
			
		||||
        glUniform1i(sampler, slot);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -651,10 +649,11 @@ void rk_unselect_vertices(
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void rk_unselect_texture(
 | 
			
		||||
    rk_uint slot,
 | 
			
		||||
    rk_texture_t _texture) {
 | 
			
		||||
    rk_texture const * const texture = reinterpret_cast<rk_texture const *>(_texture);
 | 
			
		||||
    if (texture) {
 | 
			
		||||
        glActiveTexture(GL_TEXTURE0 + texture->slot);
 | 
			
		||||
        glActiveTexture(GL_TEXTURE0 + slot);
 | 
			
		||||
        if (texture->nlevels) {
 | 
			
		||||
            glBindTexture(GL_TEXTURE_2D, 0);
 | 
			
		||||
        } else {
 | 
			
		||||
 | 
			
		||||
@ -34,7 +34,6 @@ struct rk_shader {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct rk_texture {
 | 
			
		||||
    rk_uint slot;
 | 
			
		||||
    rk_uint nlevels;
 | 
			
		||||
    GLuint texture;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user