package shadersmod.client;

import static org.lwjgl.opengl.ARBShaderObjects.glGetUniformLocationARB;

public class ShaderProgramData {
	public int programIDGL;
	public int uniform_texture;
	public int uniform_lightmap;
	public int uniform_normals;
	public int uniform_specular;
	public int uniform_shadow;
	public int uniform_watershadow;
	public int uniform_shadowtex0;
	public int uniform_shadowtex1;
	public int uniform_depthtex0;
	public int uniform_depthtex1;
	public int uniform_shadowcolor;
	public int uniform_shadowcolor0;
	public int uniform_shadowcolor1;
	public int uniform_noisetex;
	public int uniform_gcolor;
	public int uniform_gdepth;
	public int uniform_gnormal;
	public int uniform_composite;
	public int uniform_gaux1;
	public int uniform_gaux2;
	public int uniform_gaux3;
	public int uniform_gaux4;
	public int uniform_colortex0;
	public int uniform_colortex1;
	public int uniform_colortex2;
	public int uniform_colortex3;
	public int uniform_colortex4;
	public int uniform_colortex5;
	public int uniform_colortex6;
	public int uniform_colortex7;
	public int uniform_gdepthtex;
	public int uniform_depthtex2;
	public int uniform_tex;
	public int uniform_heldItemId;
	public int uniform_heldBlockLightValue;
	public int uniform_fogMode;
	public int uniform_fogColor;
	public int uniform_skyColor;
	public int uniform_worldTime;
	public int uniform_moonPhase;
	public int uniform_frameTimeCounter;
	public int uniform_sunAngle;
	public int uniform_shadowAngle;
	public int uniform_rainStrength;
	public int uniform_aspectRatio;
	public int uniform_viewWidth;
	public int uniform_viewHeight;
	public int uniform_near;
	public int uniform_far;
	public int uniform_sunPosition;
	public int uniform_moonPosition;
	public int uniform_upPosition;
	public int uniform_previousCameraPosition;
	public int uniform_cameraPosition;
	public int uniform_gbufferModelView;
	public int uniform_gbufferModelViewInverse;
	public int uniform_gbufferPreviousProjection;
	public int uniform_gbufferProjection;
	public int uniform_gbufferProjectionInverse;
	public int uniform_gbufferPreviousModelView;
	public int uniform_shadowProjection;
	public int uniform_shadowProjectionInverse;
	public int uniform_shadowModelView;
	public int uniform_shadowModelViewInverse;
	public int uniform_wetness;
	public int uniform_eyeAltitude;
	public int uniform_eyeBrightness;
	public int uniform_eyeBrightnessSmooth;
	public int uniform_terrainTextureSize;
	public int uniform_terrainIconSize;
	public int uniform_isEyeInWater;
	public int uniform_hideGUI;
	public int uniform_centerDepthSmooth;
	public int uniform_atlasSize;

	public ShaderProgramData(int programID) {
		this.programIDGL = programID;
		uniform_texture = glGetUniformLocationARB(programID, "texture");
		uniform_lightmap = glGetUniformLocationARB(programID, "lightmap");
		uniform_normals = glGetUniformLocationARB(programID, "normals");
		uniform_specular = glGetUniformLocationARB(programID, "specular");
		uniform_shadow = glGetUniformLocationARB(programID, "shadow");
		uniform_watershadow = glGetUniformLocationARB(programID, "watershadow");
		uniform_shadowtex0 = glGetUniformLocationARB(programID, "shadowtex0");
		uniform_shadowtex1 = glGetUniformLocationARB(programID, "shadowtex1");
		uniform_depthtex0 = glGetUniformLocationARB(programID, "depthtex0");
		uniform_depthtex1 = glGetUniformLocationARB(programID, "depthtex1");
		uniform_shadowcolor = glGetUniformLocationARB(programID, "shadowcolor");
		uniform_shadowcolor0 = glGetUniformLocationARB(programID, "shadowcolor0");
		uniform_shadowcolor1 = glGetUniformLocationARB(programID, "shadowcolor1");
		uniform_noisetex = glGetUniformLocationARB(programID, "noisetex");
		uniform_gcolor = glGetUniformLocationARB(programID, "gcolor");
		uniform_gdepth = glGetUniformLocationARB(programID, "gdepth");
		uniform_gnormal = glGetUniformLocationARB(programID, "gnormal");
		uniform_composite = glGetUniformLocationARB(programID, "composite");
		uniform_gaux1 = glGetUniformLocationARB(programID, "gaux1");
		uniform_gaux2 = glGetUniformLocationARB(programID, "gaux2");
		uniform_gaux3 = glGetUniformLocationARB(programID, "gaux3");
		uniform_gaux4 = glGetUniformLocationARB(programID, "gaux4");
		uniform_colortex0 = glGetUniformLocationARB(programID, "colortex0");
		uniform_colortex1 = glGetUniformLocationARB(programID, "colortex1");
		uniform_colortex2 = glGetUniformLocationARB(programID, "colortex2");
		uniform_colortex3 = glGetUniformLocationARB(programID, "colortex3");
		uniform_colortex4 = glGetUniformLocationARB(programID, "colortex4");
		uniform_colortex5 = glGetUniformLocationARB(programID, "colortex5");
		uniform_colortex6 = glGetUniformLocationARB(programID, "colortex6");
		uniform_colortex7 = glGetUniformLocationARB(programID, "colortex7");
		uniform_gdepthtex = glGetUniformLocationARB(programID, "gdepthtex");
		uniform_depthtex2 = glGetUniformLocationARB(programID, "depthtex2");
		uniform_tex = glGetUniformLocationARB(programID, "tex");
		uniform_heldItemId = glGetUniformLocationARB(programID, "heldItemId");
		uniform_heldBlockLightValue = glGetUniformLocationARB(programID, "heldBlockLightValue");
		uniform_fogMode = glGetUniformLocationARB(programID, "fogMode");
		uniform_fogColor = glGetUniformLocationARB(programID, "fogColor");
		uniform_skyColor = glGetUniformLocationARB(programID, "skyColor");
		uniform_worldTime = glGetUniformLocationARB(programID, "worldTime");
		uniform_moonPhase = glGetUniformLocationARB(programID, "moonPhase");
		uniform_frameTimeCounter = glGetUniformLocationARB(programID, "frameTimeCounter");
		uniform_sunAngle = glGetUniformLocationARB(programID, "sunAngle");
		uniform_shadowAngle = glGetUniformLocationARB(programID, "shadowAngle");
		uniform_rainStrength = glGetUniformLocationARB(programID, "rainStrength");
		uniform_aspectRatio = glGetUniformLocationARB(programID, "aspectRatio");
		uniform_viewWidth = glGetUniformLocationARB(programID, "viewWidth");
		uniform_viewHeight = glGetUniformLocationARB(programID, "viewHeight");
		uniform_near = glGetUniformLocationARB(programID, "near");
		uniform_far = glGetUniformLocationARB(programID, "far");
		uniform_sunPosition = glGetUniformLocationARB(programID, "sunPosition");
		uniform_moonPosition = glGetUniformLocationARB(programID, "moonPosition");
		uniform_upPosition = glGetUniformLocationARB(programID, "upPosition");
		uniform_previousCameraPosition = glGetUniformLocationARB(programID, "previousCameraPosition");
		uniform_cameraPosition = glGetUniformLocationARB(programID, "cameraPosition");
		uniform_gbufferModelView = glGetUniformLocationARB(programID, "gbufferModelView");
		uniform_gbufferModelViewInverse = glGetUniformLocationARB(programID, "gbufferModelViewInverse");
		uniform_gbufferPreviousProjection = glGetUniformLocationARB(programID, "gbufferPreviousProjection");
		uniform_gbufferProjection = glGetUniformLocationARB(programID, "gbufferProjection");
		uniform_gbufferProjectionInverse = glGetUniformLocationARB(programID, "gbufferProjectionInverse");
		uniform_gbufferPreviousModelView = glGetUniformLocationARB(programID, "gbufferPreviousModelView");
		uniform_shadowProjection = glGetUniformLocationARB(programID, "shadowProjection");
		uniform_shadowProjectionInverse = glGetUniformLocationARB(programID, "shadowProjectionInverse");
		uniform_shadowModelView = glGetUniformLocationARB(programID, "shadowModelView");
		uniform_shadowModelViewInverse = glGetUniformLocationARB(programID, "shadowModelViewInverse");
		uniform_wetness = glGetUniformLocationARB(programID, "wetness");
		uniform_eyeAltitude = glGetUniformLocationARB(programID, "eyeAltitude");
		uniform_eyeBrightness = glGetUniformLocationARB(programID, "eyeBrightness");
		uniform_eyeBrightnessSmooth = glGetUniformLocationARB(programID, "eyeBrightnessSmooth");
		uniform_terrainTextureSize = glGetUniformLocationARB(programID, "terrainTextureSize");
		uniform_terrainIconSize = glGetUniformLocationARB(programID, "terrainIconSize");
		uniform_isEyeInWater = glGetUniformLocationARB(programID, "isEyeInWater");
		uniform_hideGUI = glGetUniformLocationARB(programID, "hideGUI");
		uniform_centerDepthSmooth = glGetUniformLocationARB(programID, "centerDepthSmooth");
		uniform_atlasSize = glGetUniformLocationARB(programID, "atlasSize");
	}
}
