#ifndef DEMO_SHADERS_H
#define DEMO_SHADERS_H

#include <SDL/SDL_OpenGL.h>
#include <GL/gl.h>
#include <GL/glu.h>

enum {PR_PLASMA, PR_POLAR, PR_BUMP, PR_BLUR, PR_FIRE, PR_EMBOSS, PR_VORONOI, PR_WATER, PR_WATER_DISPLACEMENT, PR_IMPLICIT_PLASMA, PR_IMPLICIT_SPHERES, PR_LANDSCAPE, PR_SHADING, PR_ENVMAP, PR_IMPLICIT_POLAR, PR_EFFEDARES_ZOOM, PR_EFFEDARES_ROTOZOOM, NPROGRAMS};

GLint MyGetUniformLocation(int program_id, GLchar *sh_var_name);

void MyUniformnfv(GLint var_name, int elements_num, float *values);
void MyUniform1f(GLint var_name, float value);

void MyUniform1i(GLint var_name, int value);

void MyUseProgram(int program_id);
void NotUseProgram();

void LoadShaders();
void InitPrograms();

#endif
