src/scene.c

changeset 72
84472fb3adbd
parent 71
baa73a0be3ce
equal deleted inserted replaced
71:baa73a0be3ce 72:84472fb3adbd
58 ); 58 );
59 } 59 }
60 60
61 static void asc_sprite_draw(AscSprite const *node) { 61 static void asc_sprite_draw(AscSprite const *node) {
62 // Obtain shader 62 // Obtain shader
63 AscShaderSprite *shader = &asc_active_window->glctx.shader.sprite; 63 AscShaderSprite *shader = ASC_SHADER_SPRITE;
64 64
65 // Upload model matrix 65 // Upload model matrix
66 glUniformMatrix4fv(shader->base.model, 1, 66 glUniformMatrix4fv(shader->program.model, 1,
67 GL_FALSE, node->data.world_transform); 67 GL_FALSE, node->data.world_transform);
68 68
69 // Bind texture 69 // Bind texture
70 asc_texture_bind(&node->tex, shader->tex, 0); 70 asc_texture_bind(&node->tex, shader->tex, 0);
71 71
156 glClear(GL_DEPTH_BUFFER_BIT); 156 glClear(GL_DEPTH_BUFFER_BIT);
157 157
158 // Sprites 158 // Sprites
159 // ------- 159 // -------
160 // TODO: implement view matrix for 2D worlds 160 // TODO: implement view matrix for 2D worlds
161 shader = &asc_active_window->glctx.shader.sprite.base; 161 shader = &asc_active_window->glctx.shader.sprite.program;
162 glUseProgram(shader->id); 162 glUseProgram(shader->id);
163 glUniformMatrix4fv(shader->projection, 1, 163 glUniformMatrix4fv(shader->projection, 1,
164 GL_FALSE, camera->projection); 164 GL_FALSE, camera->projection);
165 165
166 // render opaque sprites from front to back 166 // render opaque sprites from front to back

mercurial