void render_glider_model( vg_camera *cam, world_instance *world,
m4x3f mmdl, enum board_shader shader )
{
- u32 current_tex = 0xffffffff;
+ u32 current_mat = 0xffffffff;
glActiveTexture( GL_TEXTURE0 );
mdl_context *mdl = &player_glide.glider;
continue;
}
- mdl_material *mat = mdl_arritm( &mdl->materials, sm->material_id-1 );
- if( mat->tex_diffuse != current_tex )
+ if( sm->material_id != current_mat )
{
+ mdl_material *mat = mdl_arritm( &mdl->materials,sm->material_id-1 );
GLuint tex = vg.tex_missing;
- if( mat->tex_diffuse )
+ if( mat->shader == k_shader_standard )
{
- u32 index = mat->tex_diffuse-1;
+ struct shader_props_standard *props = mat->props.compiled;
+
+ u32 index = props->tex_diffuse-1;
mdl_texture *ptex = mdl_arritm( &mdl->textures, index );
tex = ptex->glname;
}
glBindTexture( GL_TEXTURE_2D, tex );
- current_tex = mat->tex_diffuse;
+ current_mat = sm->material_id;
}
mdl_draw_submesh( sm );