Shader enhancements, disable when Optifine is installed
This commit is contained in:
parent
e5e948ef4f
commit
cdc9d85b53
5 changed files with 103 additions and 74 deletions
|
@ -24,19 +24,24 @@ vec3 rgbToHSV(vec3 color) {
|
|||
}
|
||||
|
||||
vec3 hsvToRGB(vec3 color) {
|
||||
vec4 k = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
||||
vec3 p = abs(fract(color.xxx + k.xyz) * 6.0 - k.www);
|
||||
return color.z * mix(k.xxx, clamp(p - k.xxx, 0.0, 1.0), color.y);
|
||||
vec4 k = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
||||
vec3 p = abs(fract(color.xxx + k.xyz) * 6.0 - k.www);
|
||||
return color.z * mix(k.xxx, clamp(p - k.xxx, 0.0, 1.0), color.y);
|
||||
}
|
||||
|
||||
// Value between 252 and 254
|
||||
bool isEmissive(float alpha) {
|
||||
return 0.9883 < alpha && alpha < 0.9961;
|
||||
}
|
||||
|
||||
void main() {
|
||||
vec4 tex = texture(Sampler0, texCoord0);
|
||||
if (tex.a < 0.1) {
|
||||
discard;
|
||||
}
|
||||
discard;
|
||||
}
|
||||
vec4 color = tex * ColorModulator;
|
||||
vec4 vertex = vertexColor;
|
||||
if (tex.a < 0.99) {
|
||||
if (isEmissive(tex.a)) {
|
||||
vec3 hsv = rgbToHSV(vertex.rgb);
|
||||
hsv.z = 1.0;
|
||||
vertex.rgb = hsvToRGB(hsv);
|
||||
|
|
|
@ -26,20 +26,25 @@ vec3 rgbToHSV(vec3 color) {
|
|||
}
|
||||
|
||||
vec3 hsvToRGB(vec3 color) {
|
||||
vec4 k = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
||||
vec3 p = abs(fract(color.xxx + k.xyz) * 6.0 - k.www);
|
||||
return color.z * mix(k.xxx, clamp(p - k.xxx, 0.0, 1.0), color.y);
|
||||
vec4 k = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
||||
vec3 p = abs(fract(color.xxx + k.xyz) * 6.0 - k.www);
|
||||
return color.z * mix(k.xxx, clamp(p - k.xxx, 0.0, 1.0), color.y);
|
||||
}
|
||||
|
||||
// Value between 252 and 254
|
||||
bool isEmissive(float alpha) {
|
||||
return 0.9883 < alpha && alpha < 0.9961;
|
||||
}
|
||||
|
||||
void main() {
|
||||
vec4 tex = texture(Sampler0, texCoord0);
|
||||
if (tex.a < 0.1) {
|
||||
discard;
|
||||
}
|
||||
discard;
|
||||
}
|
||||
vec4 color = tex * ColorModulator;
|
||||
color.rgb = mix(overlayColor.rgb, color.rgb, overlayColor.a);
|
||||
vec4 vertex = vertexColor * lightMapColor;
|
||||
if (tex.a < 0.99) {
|
||||
if (isEmissive(tex.a)) {
|
||||
vec3 hsv = rgbToHSV(vertex.rgb);
|
||||
hsv.z = 1.0;
|
||||
vertex.rgb = hsvToRGB(hsv);
|
||||
|
|
|
@ -25,20 +25,25 @@ vec3 rgbToHSV(vec3 color) {
|
|||
}
|
||||
|
||||
vec3 hsvToRGB(vec3 color) {
|
||||
vec4 k = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
||||
vec3 p = abs(fract(color.xxx + k.xyz) * 6.0 - k.www);
|
||||
return color.z * mix(k.xxx, clamp(p - k.xxx, 0.0, 1.0), color.y);
|
||||
vec4 k = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
||||
vec3 p = abs(fract(color.xxx + k.xyz) * 6.0 - k.www);
|
||||
return color.z * mix(k.xxx, clamp(p - k.xxx, 0.0, 1.0), color.y);
|
||||
}
|
||||
|
||||
// Value between 252 and 254
|
||||
bool isEmissive(float alpha) {
|
||||
return 0.9883 < alpha && alpha < 0.9961;
|
||||
}
|
||||
|
||||
void main() {
|
||||
vec4 tex = texture(Sampler0, texCoord0);
|
||||
if (tex.a < 0.1) {
|
||||
discard;
|
||||
}
|
||||
discard;
|
||||
}
|
||||
vec4 color = tex * ColorModulator;
|
||||
color.rgb = mix(overlayColor.rgb, color.rgb, overlayColor.a);
|
||||
vec4 vertex = vertexColor;
|
||||
if (tex.a < 0.99) {
|
||||
if (isEmissive(tex.a)) {
|
||||
vec3 hsv = rgbToHSV(vertex.rgb);
|
||||
hsv.z = 1.0;
|
||||
vertex.rgb = hsvToRGB(hsv);
|
||||
|
|
|
@ -24,16 +24,21 @@ vec3 rgbToHSV(vec3 color) {
|
|||
}
|
||||
|
||||
vec3 hsvToRGB(vec3 color) {
|
||||
vec4 k = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
||||
vec3 p = abs(fract(color.xxx + k.xyz) * 6.0 - k.www);
|
||||
return color.z * mix(k.xxx, clamp(p - k.xxx, 0.0, 1.0), color.y);
|
||||
vec4 k = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
||||
vec3 p = abs(fract(color.xxx + k.xyz) * 6.0 - k.www);
|
||||
return color.z * mix(k.xxx, clamp(p - k.xxx, 0.0, 1.0), color.y);
|
||||
}
|
||||
|
||||
// Value between 252 and 254
|
||||
bool isEmissive(float alpha) {
|
||||
return 0.9883 < alpha && alpha < 0.9961;
|
||||
}
|
||||
|
||||
void main() {
|
||||
vec4 tex = texture(Sampler0, texCoord0);
|
||||
vec4 color = tex * ColorModulator;
|
||||
vec4 vertex = vertexColor;
|
||||
if (tex.a < 0.99) {
|
||||
if (isEmissive(tex.a)) {
|
||||
vec3 hsv = rgbToHSV(vertex.rgb);
|
||||
hsv.z = 1.0;
|
||||
vertex.rgb = hsvToRGB(hsv);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue