Get rid of extra_load(), rename parameters
This commit is contained in:
parent
22e600bde8
commit
d5375d5308
5 changed files with 33 additions and 36 deletions
17
common.c
17
common.c
|
@ -36,9 +36,18 @@
|
||||||
char *filename;
|
char *filename;
|
||||||
float current_time = 0;
|
float current_time = 0;
|
||||||
|
|
||||||
|
GLint param0 = 0;
|
||||||
|
GLint param1 = 0;
|
||||||
|
GLint param2 = 0;
|
||||||
|
|
||||||
|
|
||||||
static GLint time_loc;
|
static GLint time_loc;
|
||||||
static GLint res_loc;
|
static GLint res_loc;
|
||||||
|
|
||||||
|
static GLint param0_loc;
|
||||||
|
static GLint param1_loc;
|
||||||
|
static GLint param2_loc;
|
||||||
|
|
||||||
|
|
||||||
static char * readfile(const char *name) {
|
static char * readfile(const char *name) {
|
||||||
FILE *f = fopen(name, "r");
|
FILE *f = fopen(name, "r");
|
||||||
|
@ -114,7 +123,9 @@ void load(void) {
|
||||||
time_loc = glGetUniformLocation(program, "time");
|
time_loc = glGetUniformLocation(program, "time");
|
||||||
res_loc = glGetUniformLocation(program, "res");
|
res_loc = glGetUniformLocation(program, "res");
|
||||||
|
|
||||||
extra_load(program);
|
param0_loc = glGetUniformLocation(program, "param0");
|
||||||
|
param1_loc = glGetUniformLocation(program, "param1");
|
||||||
|
param2_loc = glGetUniformLocation(program, "param2");
|
||||||
|
|
||||||
glUseProgram(program);
|
glUseProgram(program);
|
||||||
|
|
||||||
|
@ -135,6 +146,10 @@ void render(int width, int height) {
|
||||||
glUniform1f(time_loc, current_time);
|
glUniform1f(time_loc, current_time);
|
||||||
glUniform2f(res_loc, width, height);
|
glUniform2f(res_loc, width, height);
|
||||||
|
|
||||||
|
glUniform1i(param0_loc, param0);
|
||||||
|
glUniform1i(param1_loc, param1);
|
||||||
|
glUniform1i(param2_loc, param2);
|
||||||
|
|
||||||
glBegin(GL_QUADS);
|
glBegin(GL_QUADS);
|
||||||
glVertex2f(-1, -1);
|
glVertex2f(-1, -1);
|
||||||
glVertex2f(1, -1);
|
glVertex2f(1, -1);
|
||||||
|
|
6
common.h
6
common.h
|
@ -34,9 +34,11 @@
|
||||||
extern char *filename;
|
extern char *filename;
|
||||||
extern float current_time;
|
extern float current_time;
|
||||||
|
|
||||||
|
extern GLint param0;
|
||||||
|
extern GLint param1;
|
||||||
|
extern GLint param2;
|
||||||
|
|
||||||
|
|
||||||
void load(void);
|
void load(void);
|
||||||
void init(void);
|
void init(void);
|
||||||
void render(int width, int height);
|
void render(int width, int height);
|
||||||
|
|
||||||
void extra_load(GLuint program);
|
|
||||||
|
|
|
@ -5,9 +5,9 @@ out vec4 fragColor;
|
||||||
uniform vec2 res;
|
uniform vec2 res;
|
||||||
uniform float time;
|
uniform float time;
|
||||||
|
|
||||||
uniform int param_k;
|
uniform int param0;
|
||||||
uniform int param_l;
|
uniform int param1;
|
||||||
uniform int param_m;
|
uniform int param2;
|
||||||
|
|
||||||
const float sharpness = 300;
|
const float sharpness = 300;
|
||||||
|
|
||||||
|
@ -35,10 +35,10 @@ void main(void) {
|
||||||
|
|
||||||
float scene = 0;
|
float scene = 0;
|
||||||
|
|
||||||
int n = param_k + 32;
|
int n = param0 + 32;
|
||||||
float k = param_l;
|
float k = param1;
|
||||||
for (int i = 0; i < n; i++) {
|
for (int i = 0; i < n; i++) {
|
||||||
float c = square(vec2(0.5, 0) * rot(PI/2*(4.0*i/n)) * vec2(1, 1), 0.3 + 0.02 * param_m, -PI/2*(k*i/n + time/1500), p * (1 + 0.03*param_m));
|
float c = square(vec2(0.5, 0) * rot(PI/2*(4.0*i/n)) * vec2(1, 1), 0.3 + 0.02 * param2, -PI/2*(k*i/n + time/1500), p * (1 + 0.03*param2));
|
||||||
scene = abs(scene - c);
|
scene = abs(scene - c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
31
glslview.c
31
glslview.c
|
@ -43,14 +43,6 @@
|
||||||
static float speed = 1.0;
|
static float speed = 1.0;
|
||||||
static unsigned previous_ticks = 0;
|
static unsigned previous_ticks = 0;
|
||||||
|
|
||||||
static GLint param_k = 0;
|
|
||||||
static GLint param_l = 0;
|
|
||||||
static GLint param_m = 0;
|
|
||||||
|
|
||||||
static GLint param_k_loc;
|
|
||||||
static GLint param_l_loc;
|
|
||||||
static GLint param_m_loc;
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef USE_INOTIFY
|
#ifdef USE_INOTIFY
|
||||||
|
|
||||||
|
@ -100,20 +92,11 @@ static void check_reload(void) {}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
void extra_load(GLuint program) {
|
|
||||||
param_k_loc = glGetUniformLocation(program, "param_k");
|
|
||||||
param_l_loc = glGetUniformLocation(program, "param_l");
|
|
||||||
param_m_loc = glGetUniformLocation(program, "param_m");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void update(void) {
|
static void update(void) {
|
||||||
unsigned ticks = SDL_GetTicks();
|
unsigned ticks = SDL_GetTicks();
|
||||||
current_time += speed * (ticks - previous_ticks);
|
current_time += speed * (ticks - previous_ticks);
|
||||||
previous_ticks = ticks;
|
previous_ticks = ticks;
|
||||||
|
|
||||||
glUniform1i(param_k_loc, param_k);
|
|
||||||
glUniform1i(param_l_loc, param_l);
|
|
||||||
glUniform1i(param_m_loc, param_m);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void handle_input(const char *input) {
|
static void handle_input(const char *input) {
|
||||||
|
@ -129,7 +112,7 @@ static void handle_input(const char *input) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'R':
|
case 'R':
|
||||||
param_k = param_l = param_m = 0;
|
param0 = param1 = param2 = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '+':
|
case '+':
|
||||||
|
@ -191,27 +174,27 @@ int main(int argc, char *argv[]) {
|
||||||
case SDL_KEYDOWN:
|
case SDL_KEYDOWN:
|
||||||
switch (e.key.keysym.sym) {
|
switch (e.key.keysym.sym) {
|
||||||
case SDLK_PAGEDOWN:
|
case SDLK_PAGEDOWN:
|
||||||
param_k++;
|
param0++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDLK_PAGEUP:
|
case SDLK_PAGEUP:
|
||||||
param_k--;
|
param0--;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDLK_RIGHT:
|
case SDLK_RIGHT:
|
||||||
param_l++;
|
param1++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDLK_LEFT:
|
case SDLK_LEFT:
|
||||||
param_l--;
|
param1--;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDLK_DOWN:
|
case SDLK_DOWN:
|
||||||
param_m++;
|
param2++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDLK_UP:
|
case SDLK_UP:
|
||||||
param_m--;
|
param2--;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDLK_ESCAPE:
|
case SDLK_ESCAPE:
|
||||||
|
|
|
@ -36,9 +36,6 @@
|
||||||
#include <SDL2/SDL_opengl.h>
|
#include <SDL2/SDL_opengl.h>
|
||||||
|
|
||||||
|
|
||||||
void extra_load(GLuint program) {
|
|
||||||
}
|
|
||||||
|
|
||||||
static void savePNG(int width, int height, const char *output_dir) {
|
static void savePNG(int width, int height, const char *output_dir) {
|
||||||
uint8_t pixels[width*height*4];
|
uint8_t pixels[width*height*4];
|
||||||
glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, pixels);
|
glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, pixels);
|
||||||
|
|
Reference in a new issue