Move samplers bindings to shaders.
This commit is contained in:
		@ -433,8 +433,7 @@ select_texture = _engine.rk_select_texture
 | 
				
			|||||||
select_texture.restype = None
 | 
					select_texture.restype = None
 | 
				
			||||||
select_texture.argtypes = (
 | 
					select_texture.argtypes = (
 | 
				
			||||||
    ctypes.c_uint, # slot
 | 
					    ctypes.c_uint, # slot
 | 
				
			||||||
    ctypes.c_void_p, # texture
 | 
					    ctypes.c_void_p) # texture
 | 
				
			||||||
    ctypes.c_void_p) # sampler
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
draw_triangles = _engine.rk_draw_triangles
 | 
					draw_triangles = _engine.rk_draw_triangles
 | 
				
			||||||
draw_triangles.restype = None
 | 
					draw_triangles.restype = None
 | 
				
			||||||
 | 
				
			|||||||
@ -155,8 +155,7 @@ RK_EXPORT void rk_set_param_mat3(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
RK_EXPORT void rk_select_texture(
 | 
					RK_EXPORT void rk_select_texture(
 | 
				
			||||||
    rk_uint slot,
 | 
					    rk_uint slot,
 | 
				
			||||||
    rk_texture_t texture,
 | 
					    rk_texture_t texture);
 | 
				
			||||||
    rk_input_t sampler);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
RK_EXPORT void rk_draw_triangles(
 | 
					RK_EXPORT void rk_draw_triangles(
 | 
				
			||||||
    rk_triangles_t triangles);
 | 
					    rk_triangles_t triangles);
 | 
				
			||||||
 | 
				
			|||||||
@ -746,18 +746,15 @@ void rk_set_param_mat3(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void rk_select_texture(
 | 
					void rk_select_texture(
 | 
				
			||||||
    rk_uint slot,
 | 
					    rk_uint slot,
 | 
				
			||||||
    rk_texture_t _texture,
 | 
					    rk_texture_t _texture) {
 | 
				
			||||||
    rk_input_t _sampler) {
 | 
					 | 
				
			||||||
    rk_texture const * const texture = reinterpret_cast<rk_texture const *>(_texture);
 | 
					    rk_texture const * const texture = reinterpret_cast<rk_texture const *>(_texture);
 | 
				
			||||||
    GLint const sampler = reinterpret_cast<intptr_t>(_sampler) - 1;
 | 
					    if (texture) {
 | 
				
			||||||
    if (texture && sampler > -1) {
 | 
					 | 
				
			||||||
        glActiveTexture(GL_TEXTURE0 + slot);
 | 
					        glActiveTexture(GL_TEXTURE0 + slot);
 | 
				
			||||||
        if (texture->nlevels) {
 | 
					        if (texture->nlevels) {
 | 
				
			||||||
            glBindTexture(GL_TEXTURE_2D_ARRAY, texture->texture);
 | 
					            glBindTexture(GL_TEXTURE_2D_ARRAY, texture->texture);
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            glBindTexture(GL_TEXTURE_2D, texture->texture);
 | 
					            glBindTexture(GL_TEXTURE_2D, texture->texture);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        glUniform1i(sampler, slot);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user