#version 120 #extension GL_EXT_gpu_shader4 : enable #define TAA #define WAVY_PLANTS #define WAVY_STRENGTH 1.0 //[0.1 0.25 0.5 0.75 1.0 1.25 1.5 1.75 2.0] #define WAVY_SPEED 1.0 //[0.001 0.01 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1.0 1.25 1.5 2.0 3.0 4.0] #define SEPARATE_AO //#define POM //#define USE_LUMINANCE_AS_HEIGHTMAP //Can generate POM on any texturepack (may look weird in some cases) #ifndef USE_LUMINANCE_AS_HEIGHTMAP #ifndef MC_NORMAL_MAP #undef POM #endif #endif #ifdef POM #define MC_NORMAL_MAP #endif /* !! DO NOT REMOVE !! This code is from Chocapic13' shaders Read the terms of modification and sharing before changing something below please ! !! DO NOT REMOVE !! */ varying vec4 lmtexcoord; varying vec4 color; varying vec4 normalMat; uniform vec2 texelSize; uniform int framemod8; const vec2[8] offsets = vec2[8](vec2(1./8.,-3./8.), vec2(-1.,3.)/8., vec2(5.0,1.)/8., vec2(-3,-5.)/8., vec2(-5.,5.)/8., vec2(-7.,-1.)/8., vec2(3,7.)/8., vec2(7.,-7.)/8.); #define diagonal3(m) vec3((m)[0].x, (m)[1].y, m[2].z) #define projMAD(m, v) (diagonal3(m) * (v) + (m)[3].xyz) vec4 toClipSpace3(vec3 viewSpacePosition) { return vec4(projMAD(gl_ProjectionMatrix, viewSpacePosition),-viewSpacePosition.z); } //////////////////////////////VOID MAIN////////////////////////////// //////////////////////////////VOID MAIN////////////////////////////// //////////////////////////////VOID MAIN////////////////////////////// //////////////////////////////VOID MAIN////////////////////////////// //////////////////////////////VOID MAIN////////////////////////////// void main() { lmtexcoord.xy = (gl_MultiTexCoord0).xy; vec2 lmcoord = gl_MultiTexCoord1.xy/255.; lmtexcoord.zw = lmcoord; vec3 position = mat3(gl_ModelViewMatrix) * vec3(gl_Vertex) + gl_ModelViewMatrix[3].xyz; color = gl_Color; normalMat = vec4(normalize(gl_NormalMatrix *gl_Normal),0.0); gl_Position = toClipSpace3(position); #ifdef TAA gl_Position.xy += offsets[framemod8] * gl_Position.w*texelSize; #endif }