src/sprite.c

changeset 175
e5544920377e
parent 169
6e6717d9c776
equal deleted inserted replaced
174:0009b982bc7d 175:e5544920377e
75 75
76 // calculate texture parameters 76 // calculate texture parameters
77 asc_vec2f uv_scale; 77 asc_vec2f uv_scale;
78 if (sprite->texture_scale_mode == ASC_TEXTURE_SCALE_REPEAT) { 78 if (sprite->texture_scale_mode == ASC_TEXTURE_SCALE_REPEAT) {
79 uv_scale = asc_texture_calculate_uv_scale(sprite->texture, 79 uv_scale = asc_texture_calculate_uv_scale(sprite->texture,
80 asc_vec2u_new(sprite->width, sprite->height), sprite->texture_scale); 80 ASC_VEC2U(sprite->width, sprite->height), sprite->texture_scale);
81 } else { 81 } else {
82 uv_scale = sprite->texture_scale; 82 uv_scale = sprite->texture_scale;
83 } 83 }
84 84
85 // update mesh 85 // update mesh
86 asc_mesh_plane_2d(&sprite->mesh, 86 asc_mesh_plane_2d(&sprite->mesh,
87 .size = asc_vec2f_new(sprite->width, sprite->height), 87 .size = ASC_VEC2F(sprite->width, sprite->height),
88 .uv_scale = uv_scale 88 .uv_scale = uv_scale
89 ); 89 );
90 } 90 }
91 91
92 void asc_sprite_draw(const AscCamera *camera, const AscSceneNode *node) { 92 void asc_sprite_draw(const AscCamera *camera, const AscSceneNode *node) {
131 : ASC_RENDER_GROUP_2D_BLEND; 131 : ASC_RENDER_GROUP_2D_BLEND;
132 node->update_func = asc_sprite_update; 132 node->update_func = asc_sprite_update;
133 node->destroy_func = asc_sprite_destroy; 133 node->destroy_func = asc_sprite_destroy;
134 node->draw_func = asc_sprite_draw; 134 node->draw_func = asc_sprite_draw;
135 135
136 node->position = asc_vec3f_new(args.x, args.y, ASC_SCENE_2D_DEPTH_OFFSET); 136 node->position = ASC_VEC3F(args.x, args.y, ASC_SCENE_2D_DEPTH_OFFSET);
137 node->scale = asc_vec3f_one; 137 node->scale = ASC_VEC3F_1;
138 138
139 asc_node_update(node); 139 asc_node_update(node);
140 return node; 140 return node;
141 } 141 }
142 142

mercurial