src/sprite.c

changeset 223
4f32c7755138
parent 222
2cb9a71df7a6
child 226
18327d2df79d
equal deleted inserted replaced
222:2cb9a71df7a6 223:4f32c7755138
43 static void asc_sprite_shader_init(AscShaderProgram *p, cx_attr_unused int flags) { 43 static void asc_sprite_shader_init(AscShaderProgram *p, cx_attr_unused int flags) {
44 asc_shader_init_uniform_loc_nice(p, AscSpriteShader, tex); 44 asc_shader_init_uniform_loc_nice(p, AscSpriteShader, tex);
45 } 45 }
46 46
47 static AscShaderProgram *asc_sprite_shader_create(int rect) { 47 static AscShaderProgram *asc_sprite_shader_create(int rect) {
48 return asc_shader_create((AscShaderCodeInfo){ 48 return asc_shader_create((AscShaderCodes) {
49 .files.vtx = "sprite_vtx.glsl", 49 .vtx = {.source_file = "sprite_vtx.glsl"},
50 .files.frag = "sprite_frag.glsl", 50 .frag = {
51 .defines.frag = rect ? "#define USE_RECT" : NULL, 51 .source_file = "sprite_frag.glsl",
52 .preamble_code = (const char*[]){"#define USE_RECT"},
53 .preamble_code_flags = (uint64_t) rect
54 },
52 }, sizeof(AscSpriteShader), asc_sprite_shader_init, 0); 55 }, sizeof(AscSpriteShader), asc_sprite_shader_init, 0);
53 } 56 }
54 57
55 static void asc_sprite_destroy(AscSceneNode *node) { 58 static void asc_sprite_destroy(AscSceneNode *node) {
56 asc_ptr_cast(AscSprite, sprite, node); 59 asc_ptr_cast(AscSprite, sprite, node);

mercurial