93 } |
93 } |
94 if (success) { |
94 if (success) { |
95 asc_dprintf("Shader Program %u linked.", id); |
95 asc_dprintf("Shader Program %u linked.", id); |
96 AscShaderProgram prog; |
96 AscShaderProgram prog; |
97 prog.id = id; |
97 prog.id = id; |
98 // TODO: maybe not every program has the same uniforms |
98 // by convention every shader shall have MVP matrices |
99 prog.model = glGetUniformLocation(id, "model"); |
99 prog.model = glGetUniformLocation(id, "model"); |
100 prog.view = glGetUniformLocation(id, "view"); |
100 prog.view = glGetUniformLocation(id, "view"); |
101 prog.projection = glGetUniformLocation(id, "projection"); |
101 prog.projection = glGetUniformLocation(id, "projection"); |
102 return prog; |
102 return prog; |
103 } else { |
103 } else { |