42 static void asc_text_shader_init(AscShaderProgram *p, cx_attr_unused int flags) { |
42 static void asc_text_shader_init(AscShaderProgram *p, cx_attr_unused int flags) { |
43 asc_shader_init_uniform_loc_nice(p, AscTextShader, tex); |
43 asc_shader_init_uniform_loc_nice(p, AscTextShader, tex); |
44 } |
44 } |
45 |
45 |
46 static AscShaderProgram *asc_text_shader_create(int flags) { |
46 static AscShaderProgram *asc_text_shader_create(int flags) { |
47 return asc_shader_create((AscShaderCodeInfo){ |
47 return asc_shader_create((AscShaderCodes){ |
48 .files.vtx = "sprite_vtx.glsl", |
48 .vtx = {.source_file = "sprite_vtx.glsl"}, |
49 .files.frag = "sprite_frag.glsl", |
49 .frag = { |
50 .defines.frag = "#define USE_RECT", |
50 .source_file = "sprite_frag.glsl", |
|
51 .preamble_code = (const char*[]){"#define USE_RECT"}, |
|
52 .preamble_code_flags = 1 |
|
53 }, |
51 }, sizeof(AscTextShader), asc_text_shader_init, flags); |
54 }, sizeof(AscTextShader), asc_text_shader_init, flags); |
52 } |
55 } |
53 |
56 |
54 static void asc_text_update(AscSceneNode *node) { |
57 static void asc_text_update(AscSceneNode *node) { |
55 asc_ptr_cast(AscText, text, node); |
58 asc_ptr_cast(AscText, text, node); |