first commit
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
//////////////////////////////////////////
|
||||
// Complementary Shaders by EminGT //
|
||||
// With Euphoria Patches by SpacEagle17 //
|
||||
//////////////////////////////////////////
|
||||
|
||||
//Common//
|
||||
#include "/lib/common.glsl"
|
||||
//#define INTENSE_DEEP_DARK
|
||||
|
||||
#if defined MIRROR_DIMENSION || defined WORLD_CURVATURE
|
||||
#include "/lib/misc/distortWorld.glsl"
|
||||
#endif
|
||||
|
||||
//////////Fragment Shader//////////Fragment Shader//////////Fragment Shader//////////
|
||||
#ifdef FRAGMENT_SHADER
|
||||
|
||||
in vec2 texCoord;
|
||||
|
||||
in vec4 glColor;
|
||||
|
||||
//Pipeline Constants//
|
||||
|
||||
//Common Variables//
|
||||
|
||||
//Common Functions//
|
||||
|
||||
//Includes//
|
||||
#ifdef COLOR_CODED_PROGRAMS
|
||||
#include "/lib/misc/colorCodedPrograms.glsl"
|
||||
#endif
|
||||
|
||||
//Program//
|
||||
void main() {
|
||||
vec4 color = texture2D(tex, texCoord) * glColor;
|
||||
|
||||
#ifdef INTENSE_DEEP_DARK
|
||||
if (color.b > 0.1 && color.r < 0.5) { // Warden
|
||||
color.rgb = mix(color.rgb, color.rgb + 0.3, darknessFactor);
|
||||
}
|
||||
#endif
|
||||
color.rgb = pow1_5(color.rgb) * (
|
||||
1.5
|
||||
+ vec3(4.1, 3.0, 4.1) * max0(color.r * color.b - color.g) // Tweak for Enderman
|
||||
+ 5.0 * max0(color.g * color.b - color.r) // Tweak for Warden
|
||||
- 0.5 * sqrt(color.r * color.g * color.b) // Tweak for Breeze
|
||||
- vec3(0.0, 0.7, 0.7) * max0(color.r * color.g - color.b) // Tweak for Copper Golem
|
||||
);
|
||||
|
||||
#ifdef COLOR_CODED_PROGRAMS
|
||||
ColorCodeProgram(color, -1);
|
||||
#endif
|
||||
|
||||
/* DRAWBUFFERS:06 */
|
||||
gl_FragData[0] = color;
|
||||
gl_FragData[1] = vec4(0, 0, 0, 1);
|
||||
|
||||
#ifdef ENTITIES_ARE_LIGHT
|
||||
/* DRAWBUFFERS:069 */
|
||||
gl_FragData[2] = vec4(1);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
//////////Vertex Shader//////////Vertex Shader//////////Vertex Shader//////////
|
||||
#ifdef VERTEX_SHADER
|
||||
|
||||
out vec2 texCoord;
|
||||
|
||||
out vec4 glColor;
|
||||
|
||||
//Attributes//
|
||||
|
||||
#if defined ATLAS_ROTATION || defined WAVE_EVERYTHING
|
||||
attribute vec4 mc_midTexCoord;
|
||||
vec2 lmCoord = GetLightMapCoordinates();
|
||||
#endif
|
||||
|
||||
//Common Variables//
|
||||
|
||||
//Common Functions//
|
||||
|
||||
//Includes//
|
||||
|
||||
#ifdef WAVE_EVERYTHING
|
||||
#include "/lib/materials/materialMethods/wavingBlocks.glsl"
|
||||
#endif
|
||||
|
||||
//Program//
|
||||
void main() {
|
||||
gl_Position = ftransform();
|
||||
|
||||
texCoord = (gl_TextureMatrix[0] * gl_MultiTexCoord0).xy;
|
||||
#ifdef ATLAS_ROTATION
|
||||
texCoord += texCoord * float(hash33(mod(cameraPosition * 0.5, vec3(100.0))));
|
||||
#endif
|
||||
|
||||
glColor = gl_Color;
|
||||
|
||||
#if defined MIRROR_DIMENSION || defined WORLD_CURVATURE || defined WAVE_EVERYTHING
|
||||
vec4 position = gbufferModelViewInverse * gl_ModelViewMatrix * gl_Vertex;
|
||||
#ifdef MIRROR_DIMENSION
|
||||
doMirrorDimension(position);
|
||||
#endif
|
||||
#ifdef WORLD_CURVATURE
|
||||
position.y += doWorldCurvature(position.xz);
|
||||
#endif
|
||||
#ifdef WAVE_EVERYTHING
|
||||
DoWaveEverything(position.xyz);
|
||||
#endif
|
||||
gl_Position = gl_ProjectionMatrix * gbufferModelView * position;
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user