src/shader.c

changeset 88
6234b7ea48f3
parent 86
943bf9d7c6d6
equal deleted inserted replaced
87:874a02a683c5 88:6234b7ea48f3
133 if (asc_has_error()) { 133 if (asc_has_error()) {
134 asc_shader_free_codes(codes); 134 asc_shader_free_codes(codes);
135 return 1; 135 return 1;
136 } 136 }
137 sprite->depth = glGetUniformLocation(sprite->program.id, "depth"); 137 sprite->depth = glGetUniformLocation(sprite->program.id, "depth");
138 sprite->tex = glGetUniformLocation(sprite->program.id, "texture"); 138 sprite->rect_tex = glGetUniformLocation(sprite->program.id, "rect_tex");
139 sprite->uv_tex = glGetUniformLocation(sprite->program.id, "uv_tex");
139 asc_shader_free_codes(codes); 140 asc_shader_free_codes(codes);
140 return 0; 141 return 0;
141 } 142 }
142 143
143 AscShaderProgram asc_shader_program_create(AscShaderCodes codes) { 144 AscShaderProgram asc_shader_program_create(AscShaderCodes codes) {
160 if (filename == NULL) { 161 if (filename == NULL) {
161 *code = NULL; 162 *code = NULL;
162 return 0; 163 return 0;
163 } 164 }
164 cxmutstr fpath = asc_filesystem_combine_paths(cx_strcast(asc_context.shader_path), cx_str(filename)); 165 cxmutstr fpath = asc_filesystem_combine_paths(cx_strcast(asc_context.shader_path), cx_str(filename));
166 asc_dprintf("Load shader code from %" CX_PRIstr, CX_SFMT(fpath));
165 FILE *f = fopen(fpath.ptr, "r"); 167 FILE *f = fopen(fpath.ptr, "r");
166 cx_strfree(&fpath); 168 cx_strfree(&fpath);
167 if (f == NULL) return -1; 169 if (f == NULL) return -1;
168 CxBuffer buffer; 170 CxBuffer buffer;
169 cxBufferInit(&buffer, NULL, 1024, NULL, CX_BUFFER_AUTO_EXTEND); 171 cxBufferInit(&buffer, NULL, 1024, NULL, CX_BUFFER_AUTO_EXTEND);

mercurial