mirror of https://github.com/bjornbytes/lovr.git
Default shader;
This commit is contained in:
parent
dba017c8df
commit
64361660b9
|
@ -27,6 +27,23 @@ void lovrGraphicsInit() {
|
|||
|
||||
// TODO customize via lovr.conf
|
||||
lovrGraphicsSetProjection(.1f, 100.f, 67 * M_PI / 180);
|
||||
|
||||
char vertexShaderSource[128];
|
||||
snprintf(vertexShaderSource, sizeof(vertexShaderSource), "%s",
|
||||
"void main() { \n"
|
||||
" gl_Position = lovrProjection * lovrTransform * vec4(position.xyz, 1.0); \n"
|
||||
"}"
|
||||
);
|
||||
|
||||
char fragmentShaderSource[64];
|
||||
snprintf(fragmentShaderSource, sizeof(fragmentShaderSource), "%s",
|
||||
"void main() { \n"
|
||||
" color = vec4(1.0); \n"
|
||||
"}"
|
||||
);
|
||||
|
||||
state.defaultShader = lovrGraphicsNewShader(vertexShaderSource, fragmentShaderSource);
|
||||
lovrGraphicsSetShader(state.defaultShader);
|
||||
}
|
||||
|
||||
void lovrGraphicsClear(int color, int depth) {
|
||||
|
@ -92,6 +109,10 @@ Shader* lovrGraphicsGetShader() {
|
|||
|
||||
// TODO default shader
|
||||
void lovrGraphicsSetShader(Shader* shader) {
|
||||
if (!shader) {
|
||||
shader = state.defaultShader;
|
||||
}
|
||||
|
||||
state.activeShader = shader;
|
||||
glUseProgram(shader->id);
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ typedef vec_t(mat4) vec_mat4_t;
|
|||
|
||||
typedef struct {
|
||||
Shader* activeShader;
|
||||
Shader* defaultShader;
|
||||
vec_mat4_t transforms;
|
||||
mat4 lastTransform;
|
||||
mat4 projection;
|
||||
|
|
Loading…
Reference in New Issue