52 : ASC_RENDER_GROUP_SPRITE_BLEND; |
52 : ASC_RENDER_GROUP_SPRITE_BLEND; |
53 node->free_func = asc_sprite_free; |
53 node->free_func = asc_sprite_free; |
54 |
54 |
55 node->position.x = (float) args.x; |
55 node->position.x = (float) args.x; |
56 node->position.y = (float) args.y; |
56 node->position.y = (float) args.y; |
57 node->scale.x = (float) (args.width == 0 ? args.texture->width : args.width); |
57 node->position.z = ASC_SCENE_2D_DEPTH_OFFSET; |
58 node->scale.y = (float) (args.height == 0 ? args.texture->height : args.height); |
58 node->scale.width = (float) (args.width == 0 ? args.texture->width : args.width); |
|
59 node->scale.height = (float) (args.height == 0 ? args.texture->height : args.height); |
|
60 node->scale.depth = 1.f; |
59 asc_node_update_transform(node); |
61 asc_node_update_transform(node); |
60 |
62 |
61 return node; |
63 return node; |
62 } |
64 } |
63 |
65 |
76 } else { |
78 } else { |
77 asc_texture_bind(ASC_TEXTURE_RECT_EMPTY_1X1, shader->rect_tex, 0); |
79 asc_texture_bind(ASC_TEXTURE_RECT_EMPTY_1X1, shader->rect_tex, 0); |
78 asc_texture_bind(node->texture, shader->uv_tex, 1); |
80 asc_texture_bind(node->texture, shader->uv_tex, 1); |
79 } |
81 } |
80 |
82 |
81 // Apply depth |
|
82 glUniform1f(shader->depth, (float)(node->data.depth)); |
|
83 |
|
84 // Draw mesh |
83 // Draw mesh |
85 asc_mesh_draw_triangle_strip(ASC_PRIMITIVE_PLANE); |
84 asc_mesh_draw_triangle_strip(ASC_PRIMITIVE_PLANE); |
86 } |
85 } |