iFrame
This commit is contained in:
parent
c3c39a77cd
commit
e84950178f
3 changed files with 14 additions and 1 deletions
12
renderer.c
12
renderer.c
|
|
@ -45,6 +45,7 @@ const char *fragment_header_src =
|
|||
"layout(location = 0) out vec4 color;\n"
|
||||
"uniform vec2 iResolution;\n"
|
||||
"uniform float iTime;\n"
|
||||
"uniform int iFrame;\n"
|
||||
"void mainImage(out vec4 fragColor, in vec2 fragCoord);\n"
|
||||
"void main() {\n"
|
||||
" mainImage(color, gl_FragCoord.xy);\n"
|
||||
|
|
@ -155,7 +156,11 @@ Renderer new_renderer() {
|
|||
(void *)0
|
||||
);
|
||||
|
||||
Renderer renderer = { "", 0, vao };
|
||||
Renderer renderer;
|
||||
renderer.shader_path = "";
|
||||
renderer.shader = 0;
|
||||
renderer.vao = vao;
|
||||
renderer.frame_nr = 0;
|
||||
return renderer;
|
||||
}
|
||||
|
||||
|
|
@ -177,6 +182,8 @@ void render(Renderer *state, int w, int h, double time, char *shader_path, int r
|
|||
state->shader_path = shader_path;
|
||||
}
|
||||
|
||||
state->frame_nr++;
|
||||
|
||||
// Rendorrrr
|
||||
glViewport(0, 0, w, h);
|
||||
|
||||
|
|
@ -192,6 +199,9 @@ void render(Renderer *state, int w, int h, double time, char *shader_path, int r
|
|||
int uniform_iTime = glGetUniformLocation(state->shader, "iTime");
|
||||
glUniform1f(uniform_iTime, (float)time);
|
||||
|
||||
int uniform_iFrame = glGetUniformLocation(state->shader, "iFrame");
|
||||
glUniform1i(uniform_iFrame, state->frame_nr);
|
||||
|
||||
glBindVertexArray(state->vao);
|
||||
glDrawArrays(GL_TRIANGLES, 0, 6);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue