You've already forked minecraft-assets
Create/Update assets for version 1.21.2-pre1
This commit is contained in:
1
assets/minecraft/shaders/_list.json
Normal file
1
assets/minecraft/shaders/_list.json
Normal file
@@ -0,0 +1 @@
|
||||
{"directories":["core","include","post"],"files":[]}
|
||||
1
assets/minecraft/shaders/core/_all.json
Normal file
1
assets/minecraft/shaders/core/_all.json
Normal file
File diff suppressed because one or more lines are too long
1
assets/minecraft/shaders/core/_list.json
Normal file
1
assets/minecraft/shaders/core/_list.json
Normal file
@@ -0,0 +1 @@
|
||||
{"directories":[],"files":["blit_screen.fsh","blit_screen.json","blit_screen.vsh","entity.fsh","entity.vsh","glint.fsh","glint.vsh","gui.fsh","gui.vsh","lightmap.fsh","lightmap.json","particle.fsh","particle.json","particle.vsh","position.fsh","position.json","position.vsh","position_color.fsh","position_color.json","position_color.vsh","position_color_lightmap.fsh","position_color_lightmap.json","position_color_lightmap.vsh","position_color_tex_lightmap.fsh","position_color_tex_lightmap.json","position_color_tex_lightmap.vsh","position_tex.fsh","position_tex.json","position_tex.vsh","position_tex_color.fsh","position_tex_color.json","position_tex_color.vsh","rendertype_armor_cutout_no_cull.json","rendertype_armor_entity_glint.json","rendertype_beacon_beam.fsh","rendertype_beacon_beam.json","rendertype_beacon_beam.vsh","rendertype_breeze_wind.json","rendertype_clouds.fsh","rendertype_clouds.json","rendertype_clouds.vsh","rendertype_crumbling.fsh","rendertype_crumbling.json","rendertype_crumbling.vsh","rendertype_cutout.json","rendertype_cutout_mipped.json","rendertype_end_gateway.json","rendertype_end_portal.fsh","rendertype_end_portal.json","rendertype_end_portal.vsh","rendertype_energy_swirl.json","rendertype_entity_alpha.fsh","rendertype_entity_alpha.json","rendertype_entity_alpha.vsh","rendertype_entity_cutout.json","rendertype_entity_cutout_no_cull.json","rendertype_entity_cutout_no_cull_z_offset.json","rendertype_entity_decal.fsh","rendertype_entity_decal.json","rendertype_entity_decal.vsh","rendertype_entity_glint.json","rendertype_entity_no_outline.json","rendertype_entity_shadow.fsh","rendertype_entity_shadow.json","rendertype_entity_shadow.vsh","rendertype_entity_smooth_cutout.json","rendertype_entity_solid.json","rendertype_entity_translucent.json","rendertype_entity_translucent_emissive.json","rendertype_eyes.json","rendertype_glint.json","rendertype_glint_translucent.json","rendertype_gui.json","rendertype_gui_ghost_recipe_overlay.json","rendertype_gui_overlay.json","rendertype_gui_text_highlight.json","rendertype_item_entity_translucent_cull.fsh","rendertype_item_entity_translucent_cull.json","rendertype_item_entity_translucent_cull.vsh","rendertype_leash.fsh","rendertype_leash.json","rendertype_leash.vsh","rendertype_lightning.fsh","rendertype_lightning.json","rendertype_lightning.vsh","rendertype_lines.fsh","rendertype_lines.json","rendertype_lines.vsh","rendertype_outline.fsh","rendertype_outline.json","rendertype_outline.vsh","rendertype_solid.json","rendertype_text.fsh","rendertype_text.json","rendertype_text.vsh","rendertype_text_background.fsh","rendertype_text_background.json","rendertype_text_background.vsh","rendertype_text_background_see_through.fsh","rendertype_text_background_see_through.json","rendertype_text_background_see_through.vsh","rendertype_text_intensity.fsh","rendertype_text_intensity.json","rendertype_text_intensity.vsh","rendertype_text_intensity_see_through.fsh","rendertype_text_intensity_see_through.json","rendertype_text_intensity_see_through.vsh","rendertype_text_see_through.fsh","rendertype_text_see_through.json","rendertype_text_see_through.vsh","rendertype_translucent.json","rendertype_translucent_moving_block.fsh","rendertype_translucent_moving_block.json","rendertype_translucent_moving_block.vsh","rendertype_tripwire.json","rendertype_water_mask.fsh","rendertype_water_mask.json","rendertype_water_mask.vsh","terrain.fsh","terrain.vsh"]}
|
||||
11
assets/minecraft/shaders/core/blit_screen.fsh
Normal file
11
assets/minecraft/shaders/core/blit_screen.fsh
Normal file
@@ -0,0 +1,11 @@
|
||||
#version 150
|
||||
|
||||
uniform sampler2D InSampler;
|
||||
|
||||
in vec2 texCoord;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
fragColor = texture(InSampler, texCoord);
|
||||
}
|
||||
9
assets/minecraft/shaders/core/blit_screen.json
Normal file
9
assets/minecraft/shaders/core/blit_screen.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"vertex": "minecraft:core/blit_screen",
|
||||
"fragment": "minecraft:core/blit_screen",
|
||||
"samplers": [
|
||||
{ "name": "InSampler" }
|
||||
],
|
||||
"uniforms": [
|
||||
]
|
||||
}
|
||||
11
assets/minecraft/shaders/core/blit_screen.vsh
Normal file
11
assets/minecraft/shaders/core/blit_screen.vsh
Normal file
@@ -0,0 +1,11 @@
|
||||
#version 150
|
||||
|
||||
in vec3 Position;
|
||||
|
||||
out vec2 texCoord;
|
||||
|
||||
void main() {
|
||||
vec2 screenPos = Position.xy * 2.0 - 1.0;
|
||||
gl_Position = vec4(screenPos.x, screenPos.y, 1.0, 1.0);
|
||||
texCoord = Position.xy;
|
||||
}
|
||||
35
assets/minecraft/shaders/core/entity.fsh
Normal file
35
assets/minecraft/shaders/core/entity.fsh
Normal file
@@ -0,0 +1,35 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
uniform float FogStart;
|
||||
uniform float FogEnd;
|
||||
uniform vec4 FogColor;
|
||||
|
||||
in float vertexDistance;
|
||||
in vec4 vertexColor;
|
||||
in vec4 lightMapColor;
|
||||
in vec4 overlayColor;
|
||||
in vec2 texCoord0;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler0, texCoord0);
|
||||
#ifdef ALPHA_CUTOUT
|
||||
if (color.a < ALPHA_CUTOUT) {
|
||||
discard;
|
||||
}
|
||||
#endif
|
||||
color *= vertexColor * ColorModulator;
|
||||
#ifndef NO_OVERLAY
|
||||
color.rgb = mix(overlayColor.rgb, color.rgb, overlayColor.a);
|
||||
#endif
|
||||
#ifndef EMISSIVE
|
||||
color *= lightMapColor;
|
||||
#endif
|
||||
fragColor = linear_fog(color, vertexDistance, FogStart, FogEnd, FogColor);
|
||||
}
|
||||
46
assets/minecraft/shaders/core/entity.vsh
Normal file
46
assets/minecraft/shaders/core/entity.vsh
Normal file
@@ -0,0 +1,46 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:light.glsl>
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
in vec2 UV0;
|
||||
in ivec2 UV1;
|
||||
in ivec2 UV2;
|
||||
in vec3 Normal;
|
||||
|
||||
uniform sampler2D Sampler1;
|
||||
uniform sampler2D Sampler2;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
uniform mat4 TextureMat;
|
||||
uniform int FogShape;
|
||||
|
||||
uniform vec3 Light0_Direction;
|
||||
uniform vec3 Light1_Direction;
|
||||
|
||||
out float vertexDistance;
|
||||
out vec4 vertexColor;
|
||||
out vec4 lightMapColor;
|
||||
out vec4 overlayColor;
|
||||
out vec2 texCoord0;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexDistance = fog_distance(Position, FogShape);
|
||||
#ifdef NO_CARDINAL_LIGHTING
|
||||
vertexColor = Color;
|
||||
#else
|
||||
vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color);
|
||||
#endif
|
||||
lightMapColor = texelFetch(Sampler2, UV2 / 16, 0);
|
||||
overlayColor = texelFetch(Sampler1, UV1, 0);
|
||||
|
||||
texCoord0 = UV0;
|
||||
#ifdef APPLY_TEXTURE_MATRIX
|
||||
texCoord0 = (TextureMat * vec4(UV0, 0.0, 1.0)).xy;
|
||||
#endif
|
||||
}
|
||||
24
assets/minecraft/shaders/core/glint.fsh
Normal file
24
assets/minecraft/shaders/core/glint.fsh
Normal file
@@ -0,0 +1,24 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
uniform float FogStart;
|
||||
uniform float FogEnd;
|
||||
uniform float GlintAlpha;
|
||||
|
||||
in float vertexDistance;
|
||||
in vec2 texCoord0;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler0, texCoord0) * ColorModulator;
|
||||
if (color.a < 0.1) {
|
||||
discard;
|
||||
}
|
||||
float fade = linear_fog_fade(vertexDistance, FogStart, FogEnd) * GlintAlpha;
|
||||
fragColor = vec4(color.rgb * fade, color.a);
|
||||
}
|
||||
21
assets/minecraft/shaders/core/glint.vsh
Normal file
21
assets/minecraft/shaders/core/glint.vsh
Normal file
@@ -0,0 +1,21 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
in vec3 Position;
|
||||
in vec2 UV0;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
uniform mat4 TextureMat;
|
||||
uniform int FogShape;
|
||||
|
||||
out float vertexDistance;
|
||||
out vec2 texCoord0;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexDistance = fog_distance(Position, FogShape);
|
||||
texCoord0 = (TextureMat * vec4(UV0, 0.0, 1.0)).xy;
|
||||
}
|
||||
15
assets/minecraft/shaders/core/gui.fsh
Normal file
15
assets/minecraft/shaders/core/gui.fsh
Normal file
@@ -0,0 +1,15 @@
|
||||
#version 150
|
||||
|
||||
in vec4 vertexColor;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = vertexColor;
|
||||
if (color.a == 0.0) {
|
||||
discard;
|
||||
}
|
||||
fragColor = color * ColorModulator;
|
||||
}
|
||||
15
assets/minecraft/shaders/core/gui.vsh
Normal file
15
assets/minecraft/shaders/core/gui.vsh
Normal file
@@ -0,0 +1,15 @@
|
||||
#version 150
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
|
||||
out vec4 vertexColor;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexColor = Color;
|
||||
}
|
||||
68
assets/minecraft/shaders/core/lightmap.fsh
Normal file
68
assets/minecraft/shaders/core/lightmap.fsh
Normal file
@@ -0,0 +1,68 @@
|
||||
#version 150
|
||||
|
||||
uniform float AmbientLightFactor;
|
||||
uniform float SkyFactor;
|
||||
uniform float BlockFactor;
|
||||
uniform int UseBrightLightmap;
|
||||
uniform vec3 SkyLightColor;
|
||||
uniform float NightVisionFactor;
|
||||
uniform float DarknessScale;
|
||||
uniform float DarkenWorldFactor;
|
||||
uniform float BrightnessFactor;
|
||||
|
||||
in vec2 texCoord;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
float get_brightness(float level) {
|
||||
float curved_level = level / (4.0 - 3.0 * level);
|
||||
return mix(curved_level, 1.0, AmbientLightFactor);
|
||||
}
|
||||
|
||||
vec3 notGamma(vec3 x) {
|
||||
vec3 nx = 1.0 - x;
|
||||
return 1.0 - nx * nx * nx * nx;
|
||||
}
|
||||
|
||||
void main() {
|
||||
float block_brightness = get_brightness(floor(texCoord.x * 16) / 15) * BlockFactor;
|
||||
float sky_brightness = get_brightness(floor(texCoord.y * 16) / 15) * SkyFactor;
|
||||
|
||||
// cubic nonsense, dips to yellowish in the middle, white when fully saturated
|
||||
vec3 color = vec3(
|
||||
block_brightness,
|
||||
block_brightness * ((block_brightness * 0.6 + 0.4) * 0.6 + 0.4),
|
||||
block_brightness * (block_brightness * block_brightness * 0.6 + 0.4)
|
||||
);
|
||||
|
||||
if (UseBrightLightmap != 0) {
|
||||
color = mix(color, vec3(0.99, 1.12, 1.0), 0.25);
|
||||
color = clamp(color, 0.0, 1.0);
|
||||
} else {
|
||||
color += SkyLightColor * sky_brightness;
|
||||
color = mix(color, vec3(0.75), 0.04);
|
||||
|
||||
vec3 darkened_color = color * vec3(0.7, 0.6, 0.6);
|
||||
color = mix(color, darkened_color, DarkenWorldFactor);
|
||||
}
|
||||
|
||||
if (NightVisionFactor > 0.0) {
|
||||
// scale up uniformly until 1.0 is hit by one of the colors
|
||||
float max_component = max(color.r, max(color.g, color.b));
|
||||
if (max_component < 1.0) {
|
||||
vec3 bright_color = color / max_component;
|
||||
color = mix(color, bright_color, NightVisionFactor);
|
||||
}
|
||||
}
|
||||
|
||||
if (UseBrightLightmap == 0) {
|
||||
color = clamp(color - vec3(DarknessScale), 0.0, 1.0);
|
||||
}
|
||||
|
||||
vec3 notGamma = notGamma(color);
|
||||
color = mix(color, notGamma, BrightnessFactor);
|
||||
color = mix(color, vec3(0.75), 0.04);
|
||||
color = clamp(color, 0.0, 1.0);
|
||||
|
||||
fragColor = vec4(color, 1.0);
|
||||
}
|
||||
17
assets/minecraft/shaders/core/lightmap.json
Normal file
17
assets/minecraft/shaders/core/lightmap.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"vertex": "minecraft:core/blit_screen",
|
||||
"fragment": "minecraft:core/lightmap",
|
||||
"samplers": [
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "AmbientLightFactor", "type": "float", "count": 1, "values": [1.0] },
|
||||
{ "name": "SkyFactor", "type": "float", "count": 1, "values": [1.0] },
|
||||
{ "name": "BlockFactor", "type": "float", "count": 1, "values": [1.0] },
|
||||
{ "name": "UseBrightLightmap", "type": "int", "count": 1, "values": [0] },
|
||||
{ "name": "SkyLightColor", "type": "float", "count": 3, "values": [1.0] },
|
||||
{ "name": "NightVisionFactor", "type": "float", "count": 1, "values": [0.0] },
|
||||
{ "name": "DarknessScale", "type": "float", "count": 1, "values": [0.0] },
|
||||
{ "name": "DarkenWorldFactor", "type": "float", "count": 1, "values": [0.0] },
|
||||
{ "name": "BrightnessFactor", "type": "float", "count": 1, "values": [1.0] }
|
||||
]
|
||||
}
|
||||
24
assets/minecraft/shaders/core/particle.fsh
Normal file
24
assets/minecraft/shaders/core/particle.fsh
Normal file
@@ -0,0 +1,24 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
uniform float FogStart;
|
||||
uniform float FogEnd;
|
||||
uniform vec4 FogColor;
|
||||
|
||||
in float vertexDistance;
|
||||
in vec2 texCoord0;
|
||||
in vec4 vertexColor;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
|
||||
if (color.a < 0.1) {
|
||||
discard;
|
||||
}
|
||||
fragColor = linear_fog(color, vertexDistance, FogStart, FogEnd, FogColor);
|
||||
}
|
||||
17
assets/minecraft/shaders/core/particle.json
Normal file
17
assets/minecraft/shaders/core/particle.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"vertex": "minecraft:core/particle",
|
||||
"fragment": "minecraft:core/particle",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
26
assets/minecraft/shaders/core/particle.vsh
Normal file
26
assets/minecraft/shaders/core/particle.vsh
Normal file
@@ -0,0 +1,26 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
in vec3 Position;
|
||||
in vec2 UV0;
|
||||
in vec4 Color;
|
||||
in ivec2 UV2;
|
||||
|
||||
uniform sampler2D Sampler2;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
uniform int FogShape;
|
||||
|
||||
out float vertexDistance;
|
||||
out vec2 texCoord0;
|
||||
out vec4 vertexColor;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexDistance = fog_distance(Position, FogShape);
|
||||
texCoord0 = UV0;
|
||||
vertexColor = Color * texelFetch(Sampler2, UV2 / 16, 0);
|
||||
}
|
||||
16
assets/minecraft/shaders/core/position.fsh
Normal file
16
assets/minecraft/shaders/core/position.fsh
Normal file
@@ -0,0 +1,16 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
uniform float FogStart;
|
||||
uniform float FogEnd;
|
||||
uniform vec4 FogColor;
|
||||
|
||||
in float vertexDistance;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
fragColor = linear_fog(ColorModulator, vertexDistance, FogStart, FogEnd, FogColor);
|
||||
}
|
||||
15
assets/minecraft/shaders/core/position.json
Normal file
15
assets/minecraft/shaders/core/position.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"vertex": "minecraft:core/position",
|
||||
"fragment": "minecraft:core/position",
|
||||
"samplers": [
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
17
assets/minecraft/shaders/core/position.vsh
Normal file
17
assets/minecraft/shaders/core/position.vsh
Normal file
@@ -0,0 +1,17 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
in vec3 Position;
|
||||
|
||||
uniform mat4 ProjMat;
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform int FogShape;
|
||||
|
||||
out float vertexDistance;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexDistance = fog_distance(Position, FogShape);
|
||||
}
|
||||
15
assets/minecraft/shaders/core/position_color.fsh
Normal file
15
assets/minecraft/shaders/core/position_color.fsh
Normal file
@@ -0,0 +1,15 @@
|
||||
#version 150
|
||||
|
||||
in vec4 vertexColor;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = vertexColor;
|
||||
if (color.a == 0.0) {
|
||||
discard;
|
||||
}
|
||||
fragColor = color * ColorModulator;
|
||||
}
|
||||
11
assets/minecraft/shaders/core/position_color.json
Normal file
11
assets/minecraft/shaders/core/position_color.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"vertex": "minecraft:core/position_color",
|
||||
"fragment": "minecraft:core/position_color",
|
||||
"samplers": [
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
15
assets/minecraft/shaders/core/position_color.vsh
Normal file
15
assets/minecraft/shaders/core/position_color.vsh
Normal file
@@ -0,0 +1,15 @@
|
||||
#version 150
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
|
||||
out vec4 vertexColor;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexColor = Color;
|
||||
}
|
||||
15
assets/minecraft/shaders/core/position_color_lightmap.fsh
Normal file
15
assets/minecraft/shaders/core/position_color_lightmap.fsh
Normal file
@@ -0,0 +1,15 @@
|
||||
#version 150
|
||||
|
||||
uniform sampler2D Sampler2;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
|
||||
in vec4 vertexColor;
|
||||
in vec2 texCoord2;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler2, texCoord2) * vertexColor;
|
||||
fragColor = color * ColorModulator;
|
||||
}
|
||||
12
assets/minecraft/shaders/core/position_color_lightmap.json
Normal file
12
assets/minecraft/shaders/core/position_color_lightmap.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"vertex": "minecraft:core/position_color_lightmap",
|
||||
"fragment": "minecraft:core/position_color_lightmap",
|
||||
"samplers": [
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
18
assets/minecraft/shaders/core/position_color_lightmap.vsh
Normal file
18
assets/minecraft/shaders/core/position_color_lightmap.vsh
Normal file
@@ -0,0 +1,18 @@
|
||||
#version 150
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
in vec2 UV2;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
|
||||
out vec4 vertexColor;
|
||||
out vec2 texCoord2;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexColor = Color;
|
||||
texCoord2 = UV2;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
#version 150
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
|
||||
in vec4 vertexColor;
|
||||
in vec2 texCoord0;
|
||||
in vec2 texCoord2;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler0, texCoord0) * vertexColor;
|
||||
if (color.a < 0.1) {
|
||||
discard;
|
||||
}
|
||||
fragColor = color * ColorModulator;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"vertex": "minecraft:core/position_color_tex_lightmap",
|
||||
"fragment": "minecraft:core/position_color_tex_lightmap",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
#version 150
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
in vec2 UV0;
|
||||
in vec2 UV2;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
|
||||
out vec4 vertexColor;
|
||||
out vec2 texCoord0;
|
||||
out vec2 texCoord2;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexColor = Color;
|
||||
texCoord0 = UV0;
|
||||
texCoord2 = UV2;
|
||||
}
|
||||
17
assets/minecraft/shaders/core/position_tex.fsh
Normal file
17
assets/minecraft/shaders/core/position_tex.fsh
Normal file
@@ -0,0 +1,17 @@
|
||||
#version 150
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
|
||||
in vec2 texCoord0;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler0, texCoord0);
|
||||
if (color.a == 0.0) {
|
||||
discard;
|
||||
}
|
||||
fragColor = color * ColorModulator;
|
||||
}
|
||||
12
assets/minecraft/shaders/core/position_tex.json
Normal file
12
assets/minecraft/shaders/core/position_tex.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"vertex": "minecraft:core/position_tex",
|
||||
"fragment": "minecraft:core/position_tex",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
15
assets/minecraft/shaders/core/position_tex.vsh
Normal file
15
assets/minecraft/shaders/core/position_tex.vsh
Normal file
@@ -0,0 +1,15 @@
|
||||
#version 150
|
||||
|
||||
in vec3 Position;
|
||||
in vec2 UV0;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
|
||||
out vec2 texCoord0;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
texCoord0 = UV0;
|
||||
}
|
||||
18
assets/minecraft/shaders/core/position_tex_color.fsh
Normal file
18
assets/minecraft/shaders/core/position_tex_color.fsh
Normal file
@@ -0,0 +1,18 @@
|
||||
#version 150
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
|
||||
in vec2 texCoord0;
|
||||
in vec4 vertexColor;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler0, texCoord0) * vertexColor;
|
||||
if (color.a == 0.0) {
|
||||
discard;
|
||||
}
|
||||
fragColor = color * ColorModulator;
|
||||
}
|
||||
12
assets/minecraft/shaders/core/position_tex_color.json
Normal file
12
assets/minecraft/shaders/core/position_tex_color.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"vertex": "minecraft:core/position_tex_color",
|
||||
"fragment": "minecraft:core/position_tex_color",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
18
assets/minecraft/shaders/core/position_tex_color.vsh
Normal file
18
assets/minecraft/shaders/core/position_tex_color.vsh
Normal file
@@ -0,0 +1,18 @@
|
||||
#version 150
|
||||
|
||||
in vec3 Position;
|
||||
in vec2 UV0;
|
||||
in vec4 Color;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
|
||||
out vec2 texCoord0;
|
||||
out vec4 vertexColor;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
texCoord0 = UV0;
|
||||
vertexColor = Color;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"vertex": "minecraft:core/entity",
|
||||
"fragment": "minecraft:core/entity",
|
||||
"defines": {
|
||||
"values": {
|
||||
"ALPHA_CUTOUT": "0.1"
|
||||
},
|
||||
"flags": [
|
||||
"NO_OVERLAY"
|
||||
]
|
||||
},
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "Light0_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "Light1_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"vertex": "minecraft:core/glint",
|
||||
"fragment": "minecraft:core/glint",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "GlintAlpha", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] },
|
||||
{ "name": "TextureMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
23
assets/minecraft/shaders/core/rendertype_beacon_beam.fsh
Normal file
23
assets/minecraft/shaders/core/rendertype_beacon_beam.fsh
Normal file
@@ -0,0 +1,23 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
uniform mat4 ProjMat;
|
||||
uniform vec4 ColorModulator;
|
||||
uniform float FogStart;
|
||||
uniform float FogEnd;
|
||||
uniform vec4 FogColor;
|
||||
|
||||
in vec4 vertexColor;
|
||||
in vec2 texCoord0;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler0, texCoord0);
|
||||
color *= vertexColor * ColorModulator;
|
||||
float fragmentDistance = -ProjMat[3].z / ((gl_FragCoord.z) * -2.0 + 1.0 - ProjMat[2].z);
|
||||
fragColor = linear_fog(color, fragmentDistance, FogStart, FogEnd, FogColor);
|
||||
}
|
||||
16
assets/minecraft/shaders/core/rendertype_beacon_beam.json
Normal file
16
assets/minecraft/shaders/core/rendertype_beacon_beam.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_beacon_beam",
|
||||
"fragment": "minecraft:core/rendertype_beacon_beam",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] }
|
||||
]
|
||||
}
|
||||
18
assets/minecraft/shaders/core/rendertype_beacon_beam.vsh
Normal file
18
assets/minecraft/shaders/core/rendertype_beacon_beam.vsh
Normal file
@@ -0,0 +1,18 @@
|
||||
#version 150
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
in vec2 UV0;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
|
||||
out vec4 vertexColor;
|
||||
out vec2 texCoord0;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexColor = Color;
|
||||
texCoord0 = UV0;
|
||||
}
|
||||
28
assets/minecraft/shaders/core/rendertype_breeze_wind.json
Normal file
28
assets/minecraft/shaders/core/rendertype_breeze_wind.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"vertex": "minecraft:core/entity",
|
||||
"fragment": "minecraft:core/entity",
|
||||
"defines": {
|
||||
"values": {
|
||||
"ALPHA_CUTOUT": "0.1"
|
||||
},
|
||||
"flags": [
|
||||
"APPLY_TEXTURE_MATRIX",
|
||||
"NO_CARDINAL_LIGHTING",
|
||||
"NO_OVERLAY"
|
||||
]
|
||||
},
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "TextureMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
16
assets/minecraft/shaders/core/rendertype_clouds.fsh
Normal file
16
assets/minecraft/shaders/core/rendertype_clouds.fsh
Normal file
@@ -0,0 +1,16 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
uniform float FogStart;
|
||||
uniform float FogEnd;
|
||||
uniform vec4 FogColor;
|
||||
|
||||
in float vertexDistance;
|
||||
in vec4 vertexColor;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
fragColor = linear_fog(vertexColor, vertexDistance, FogStart, FogEnd, FogColor);
|
||||
}
|
||||
16
assets/minecraft/shaders/core/rendertype_clouds.json
Normal file
16
assets/minecraft/shaders/core/rendertype_clouds.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_clouds",
|
||||
"fragment": "minecraft:core/rendertype_clouds",
|
||||
"samplers": [
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ModelOffset", "type": "float", "count": 3, "values": [ 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
23
assets/minecraft/shaders/core/rendertype_clouds.vsh
Normal file
23
assets/minecraft/shaders/core/rendertype_clouds.vsh
Normal file
@@ -0,0 +1,23 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
uniform vec3 ModelOffset;
|
||||
uniform int FogShape;
|
||||
uniform vec4 ColorModulator;
|
||||
|
||||
out float vertexDistance;
|
||||
out vec4 vertexColor;
|
||||
|
||||
void main() {
|
||||
vec3 pos = Position + ModelOffset;
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(pos, 1.0);
|
||||
|
||||
vertexDistance = fog_distance(pos, FogShape);
|
||||
vertexColor = Color * ColorModulator;
|
||||
}
|
||||
19
assets/minecraft/shaders/core/rendertype_crumbling.fsh
Normal file
19
assets/minecraft/shaders/core/rendertype_crumbling.fsh
Normal file
@@ -0,0 +1,19 @@
|
||||
#version 150
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
|
||||
in vec4 vertexColor;
|
||||
in vec2 texCoord0;
|
||||
in vec2 texCoord2;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler0, texCoord0) * vertexColor;
|
||||
if (color.a < 0.1) {
|
||||
discard;
|
||||
}
|
||||
fragColor = color * ColorModulator;
|
||||
}
|
||||
12
assets/minecraft/shaders/core/rendertype_crumbling.json
Normal file
12
assets/minecraft/shaders/core/rendertype_crumbling.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_crumbling",
|
||||
"fragment": "minecraft:core/rendertype_crumbling",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
22
assets/minecraft/shaders/core/rendertype_crumbling.vsh
Normal file
22
assets/minecraft/shaders/core/rendertype_crumbling.vsh
Normal file
@@ -0,0 +1,22 @@
|
||||
#version 150
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
in vec2 UV0;
|
||||
in vec2 UV2;
|
||||
in vec3 Normal;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
|
||||
out vec4 vertexColor;
|
||||
out vec2 texCoord0;
|
||||
out vec2 texCoord2;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexColor = Color;
|
||||
texCoord0 = UV0;
|
||||
texCoord2 = UV2;
|
||||
}
|
||||
23
assets/minecraft/shaders/core/rendertype_cutout.json
Normal file
23
assets/minecraft/shaders/core/rendertype_cutout.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"vertex": "minecraft:core/terrain",
|
||||
"fragment": "minecraft:core/terrain",
|
||||
"defines": {
|
||||
"values": {
|
||||
"ALPHA_CUTOUT": "0.1"
|
||||
}
|
||||
},
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ModelOffset", "type": "float", "count": 3, "values": [ 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
23
assets/minecraft/shaders/core/rendertype_cutout_mipped.json
Normal file
23
assets/minecraft/shaders/core/rendertype_cutout_mipped.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"vertex": "minecraft:core/terrain",
|
||||
"fragment": "minecraft:core/terrain",
|
||||
"defines": {
|
||||
"values": {
|
||||
"ALPHA_CUTOUT": "0.5"
|
||||
}
|
||||
},
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ModelOffset", "type": "float", "count": 3, "values": [ 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
14
assets/minecraft/shaders/core/rendertype_end_gateway.json
Normal file
14
assets/minecraft/shaders/core/rendertype_end_gateway.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_end_portal",
|
||||
"fragment": "minecraft:core/rendertype_end_portal",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler1" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "GameTime", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "EndPortalLayers", "type": "int", "count": 1, "values": [ 16 ] }
|
||||
]
|
||||
}
|
||||
62
assets/minecraft/shaders/core/rendertype_end_portal.fsh
Normal file
62
assets/minecraft/shaders/core/rendertype_end_portal.fsh
Normal file
@@ -0,0 +1,62 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:matrix.glsl>
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
uniform sampler2D Sampler1;
|
||||
|
||||
uniform float GameTime;
|
||||
uniform int EndPortalLayers;
|
||||
|
||||
in vec4 texProj0;
|
||||
|
||||
const vec3[] COLORS = vec3[](
|
||||
vec3(0.022087, 0.098399, 0.110818),
|
||||
vec3(0.011892, 0.095924, 0.089485),
|
||||
vec3(0.027636, 0.101689, 0.100326),
|
||||
vec3(0.046564, 0.109883, 0.114838),
|
||||
vec3(0.064901, 0.117696, 0.097189),
|
||||
vec3(0.063761, 0.086895, 0.123646),
|
||||
vec3(0.084817, 0.111994, 0.166380),
|
||||
vec3(0.097489, 0.154120, 0.091064),
|
||||
vec3(0.106152, 0.131144, 0.195191),
|
||||
vec3(0.097721, 0.110188, 0.187229),
|
||||
vec3(0.133516, 0.138278, 0.148582),
|
||||
vec3(0.070006, 0.243332, 0.235792),
|
||||
vec3(0.196766, 0.142899, 0.214696),
|
||||
vec3(0.047281, 0.315338, 0.321970),
|
||||
vec3(0.204675, 0.390010, 0.302066),
|
||||
vec3(0.080955, 0.314821, 0.661491)
|
||||
);
|
||||
|
||||
const mat4 SCALE_TRANSLATE = mat4(
|
||||
0.5, 0.0, 0.0, 0.25,
|
||||
0.0, 0.5, 0.0, 0.25,
|
||||
0.0, 0.0, 1.0, 0.0,
|
||||
0.0, 0.0, 0.0, 1.0
|
||||
);
|
||||
|
||||
mat4 end_portal_layer(float layer) {
|
||||
mat4 translate = mat4(
|
||||
1.0, 0.0, 0.0, 17.0 / layer,
|
||||
0.0, 1.0, 0.0, (2.0 + layer / 1.5) * (GameTime * 1.5),
|
||||
0.0, 0.0, 1.0, 0.0,
|
||||
0.0, 0.0, 0.0, 1.0
|
||||
);
|
||||
|
||||
mat2 rotate = mat2_rotate_z(radians((layer * layer * 4321.0 + layer * 9.0) * 2.0));
|
||||
|
||||
mat2 scale = mat2((4.5 - layer / 4.0) * 2.0);
|
||||
|
||||
return mat4(scale * rotate) * translate * SCALE_TRANSLATE;
|
||||
}
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec3 color = textureProj(Sampler0, texProj0).rgb * COLORS[0];
|
||||
for (int i = 0; i < EndPortalLayers; i++) {
|
||||
color += textureProj(Sampler1, texProj0 * end_portal_layer(float(i + 1))).rgb * COLORS[i];
|
||||
}
|
||||
fragColor = vec4(color, 1.0);
|
||||
}
|
||||
14
assets/minecraft/shaders/core/rendertype_end_portal.json
Normal file
14
assets/minecraft/shaders/core/rendertype_end_portal.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_end_portal",
|
||||
"fragment": "minecraft:core/rendertype_end_portal",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler1" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "GameTime", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "EndPortalLayers", "type": "int", "count": 1, "values": [ 15 ] }
|
||||
]
|
||||
}
|
||||
16
assets/minecraft/shaders/core/rendertype_end_portal.vsh
Normal file
16
assets/minecraft/shaders/core/rendertype_end_portal.vsh
Normal file
@@ -0,0 +1,16 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:projection.glsl>
|
||||
|
||||
in vec3 Position;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
|
||||
out vec4 texProj0;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
texProj0 = projection_from_position(gl_Position);
|
||||
}
|
||||
28
assets/minecraft/shaders/core/rendertype_energy_swirl.json
Normal file
28
assets/minecraft/shaders/core/rendertype_energy_swirl.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"vertex": "minecraft:core/entity",
|
||||
"fragment": "minecraft:core/entity",
|
||||
"defines": {
|
||||
"values": {
|
||||
"ALPHA_CUTOUT": "0.1"
|
||||
},
|
||||
"flags": [
|
||||
"APPLY_TEXTURE_MATRIX",
|
||||
"NO_CARDINAL_LIGHTING",
|
||||
"NO_OVERLAY",
|
||||
"EMISSIVE"
|
||||
]
|
||||
},
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "TextureMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
18
assets/minecraft/shaders/core/rendertype_entity_alpha.fsh
Normal file
18
assets/minecraft/shaders/core/rendertype_entity_alpha.fsh
Normal file
@@ -0,0 +1,18 @@
|
||||
#version 150
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
in vec4 vertexColor;
|
||||
in vec2 texCoord0;
|
||||
in vec2 texCoord1;
|
||||
in vec2 texCoord2;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler0, texCoord0);
|
||||
if (color.a < vertexColor.a) {
|
||||
discard;
|
||||
}
|
||||
fragColor = color;
|
||||
}
|
||||
11
assets/minecraft/shaders/core/rendertype_entity_alpha.json
Normal file
11
assets/minecraft/shaders/core/rendertype_entity_alpha.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_entity_alpha",
|
||||
"fragment": "minecraft:core/rendertype_entity_alpha",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
25
assets/minecraft/shaders/core/rendertype_entity_alpha.vsh
Normal file
25
assets/minecraft/shaders/core/rendertype_entity_alpha.vsh
Normal file
@@ -0,0 +1,25 @@
|
||||
#version 150
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
in vec2 UV0;
|
||||
in vec2 UV1;
|
||||
in vec2 UV2;
|
||||
in vec3 Normal;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
|
||||
out vec4 vertexColor;
|
||||
out vec2 texCoord0;
|
||||
out vec2 texCoord1;
|
||||
out vec2 texCoord2;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexColor = Color;
|
||||
texCoord0 = UV0;
|
||||
texCoord1 = UV1;
|
||||
texCoord2 = UV2;
|
||||
}
|
||||
25
assets/minecraft/shaders/core/rendertype_entity_cutout.json
Normal file
25
assets/minecraft/shaders/core/rendertype_entity_cutout.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"vertex": "minecraft:core/entity",
|
||||
"fragment": "minecraft:core/entity",
|
||||
"defines": {
|
||||
"values": {
|
||||
"ALPHA_CUTOUT": "0.1"
|
||||
}
|
||||
},
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler1" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "Light0_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "Light1_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"vertex": "minecraft:core/entity",
|
||||
"fragment": "minecraft:core/entity",
|
||||
"defines": {
|
||||
"values": {
|
||||
"ALPHA_CUTOUT": "0.1"
|
||||
}
|
||||
},
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler1" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "Light0_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "Light1_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"vertex": "minecraft:core/entity",
|
||||
"fragment": "minecraft:core/entity",
|
||||
"defines": {
|
||||
"values": {
|
||||
"ALPHA_CUTOUT": "0.1"
|
||||
}
|
||||
},
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler1" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "Light0_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "Light1_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
27
assets/minecraft/shaders/core/rendertype_entity_decal.fsh
Normal file
27
assets/minecraft/shaders/core/rendertype_entity_decal.fsh
Normal file
@@ -0,0 +1,27 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
uniform float FogStart;
|
||||
uniform float FogEnd;
|
||||
uniform vec4 FogColor;
|
||||
|
||||
in float vertexDistance;
|
||||
in vec4 vertexColor;
|
||||
in vec4 overlayColor;
|
||||
in vec2 texCoord0;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler0, texCoord0);
|
||||
if (color.a < 0.1) {
|
||||
discard;
|
||||
}
|
||||
color.rgb = mix(overlayColor.rgb, color.rgb, overlayColor.a);
|
||||
color *= vertexColor * ColorModulator;
|
||||
fragColor = linear_fog(color, vertexDistance, FogStart, FogEnd, FogColor);
|
||||
}
|
||||
20
assets/minecraft/shaders/core/rendertype_entity_decal.json
Normal file
20
assets/minecraft/shaders/core/rendertype_entity_decal.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_entity_decal",
|
||||
"fragment": "minecraft:core/rendertype_entity_decal",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler1" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "Light0_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "Light1_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
35
assets/minecraft/shaders/core/rendertype_entity_decal.vsh
Normal file
35
assets/minecraft/shaders/core/rendertype_entity_decal.vsh
Normal file
@@ -0,0 +1,35 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:light.glsl>
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
in vec2 UV0;
|
||||
in ivec2 UV1;
|
||||
in ivec2 UV2;
|
||||
in vec3 Normal;
|
||||
|
||||
uniform sampler2D Sampler1;
|
||||
uniform sampler2D Sampler2;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
uniform int FogShape;
|
||||
|
||||
uniform vec3 Light0_Direction;
|
||||
uniform vec3 Light1_Direction;
|
||||
|
||||
out float vertexDistance;
|
||||
out vec4 vertexColor;
|
||||
out vec4 overlayColor;
|
||||
out vec2 texCoord0;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexDistance = fog_distance(Position, FogShape);
|
||||
vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color) * texelFetch(Sampler2, UV2 / 16, 0);
|
||||
overlayColor = texelFetch(Sampler1, UV1, 0);
|
||||
texCoord0 = UV0;
|
||||
}
|
||||
17
assets/minecraft/shaders/core/rendertype_entity_glint.json
Normal file
17
assets/minecraft/shaders/core/rendertype_entity_glint.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"vertex": "minecraft:core/glint",
|
||||
"fragment": "minecraft:core/glint",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "GlintAlpha", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] },
|
||||
{ "name": "TextureMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"vertex": "minecraft:core/entity",
|
||||
"fragment": "minecraft:core/entity",
|
||||
"defines": {
|
||||
"flags": [
|
||||
"NO_OVERLAY"
|
||||
]
|
||||
},
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "Light0_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "Light1_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
22
assets/minecraft/shaders/core/rendertype_entity_shadow.fsh
Normal file
22
assets/minecraft/shaders/core/rendertype_entity_shadow.fsh
Normal file
@@ -0,0 +1,22 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
uniform float FogStart;
|
||||
uniform float FogEnd;
|
||||
uniform vec4 FogColor;
|
||||
|
||||
in float vertexDistance;
|
||||
in vec4 vertexColor;
|
||||
in vec2 texCoord0;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler0, clamp(texCoord0, 0.0, 1.0));
|
||||
color *= vertexColor * ColorModulator;
|
||||
fragColor = linear_fog(color, vertexDistance, FogStart, FogEnd, FogColor);
|
||||
}
|
||||
16
assets/minecraft/shaders/core/rendertype_entity_shadow.json
Normal file
16
assets/minecraft/shaders/core/rendertype_entity_shadow.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_entity_shadow",
|
||||
"fragment": "minecraft:core/rendertype_entity_shadow",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
23
assets/minecraft/shaders/core/rendertype_entity_shadow.vsh
Normal file
23
assets/minecraft/shaders/core/rendertype_entity_shadow.vsh
Normal file
@@ -0,0 +1,23 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
in vec2 UV0;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
uniform int FogShape;
|
||||
|
||||
out float vertexDistance;
|
||||
out vec4 vertexColor;
|
||||
out vec2 texCoord0;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexDistance = fog_distance(Position, FogShape);
|
||||
vertexColor = Color;
|
||||
texCoord0 = UV0;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"vertex": "minecraft:core/entity",
|
||||
"fragment": "minecraft:core/entity",
|
||||
"defines": {
|
||||
"values": {
|
||||
"ALPHA_CUTOUT": "0.1"
|
||||
}
|
||||
},
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler1" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "Light0_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "Light1_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
20
assets/minecraft/shaders/core/rendertype_entity_solid.json
Normal file
20
assets/minecraft/shaders/core/rendertype_entity_solid.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"vertex": "minecraft:core/entity",
|
||||
"fragment": "minecraft:core/entity",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler1" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "Light0_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "Light1_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"vertex": "minecraft:core/entity",
|
||||
"fragment": "minecraft:core/entity",
|
||||
"defines": {
|
||||
"values": {
|
||||
"ALPHA_CUTOUT": "0.1"
|
||||
}
|
||||
},
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler1" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "Light0_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "Light1_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"vertex": "minecraft:core/entity",
|
||||
"fragment": "minecraft:core/entity",
|
||||
"defines": {
|
||||
"values": {
|
||||
"ALPHA_CUTOUT": "0.1"
|
||||
},
|
||||
"flags": [
|
||||
"EMISSIVE"
|
||||
]
|
||||
},
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler1" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "Light0_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "Light1_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
23
assets/minecraft/shaders/core/rendertype_eyes.json
Normal file
23
assets/minecraft/shaders/core/rendertype_eyes.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"vertex": "minecraft:core/entity",
|
||||
"fragment": "minecraft:core/entity",
|
||||
"defines": {
|
||||
"flags": [
|
||||
"EMISSIVE",
|
||||
"NO_OVERLAY",
|
||||
"NO_CARDINAL_LIGHTING"
|
||||
]
|
||||
},
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
17
assets/minecraft/shaders/core/rendertype_glint.json
Normal file
17
assets/minecraft/shaders/core/rendertype_glint.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"vertex": "minecraft:core/glint",
|
||||
"fragment": "minecraft:core/glint",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "GlintAlpha", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] },
|
||||
{ "name": "TextureMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"vertex": "minecraft:core/glint",
|
||||
"fragment": "minecraft:core/glint",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "GlintAlpha", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] },
|
||||
{ "name": "TextureMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
11
assets/minecraft/shaders/core/rendertype_gui.json
Normal file
11
assets/minecraft/shaders/core/rendertype_gui.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"vertex": "minecraft:core/gui",
|
||||
"fragment": "minecraft:core/gui",
|
||||
"samplers": [
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"vertex": "minecraft:core/gui",
|
||||
"fragment": "minecraft:core/gui",
|
||||
"samplers": [
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
11
assets/minecraft/shaders/core/rendertype_gui_overlay.json
Normal file
11
assets/minecraft/shaders/core/rendertype_gui_overlay.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"vertex": "minecraft:core/gui",
|
||||
"fragment": "minecraft:core/gui",
|
||||
"samplers": [
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"vertex": "minecraft:core/gui",
|
||||
"fragment": "minecraft:core/gui",
|
||||
"samplers": [
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
uniform float FogStart;
|
||||
uniform float FogEnd;
|
||||
uniform vec4 FogColor;
|
||||
|
||||
in float vertexDistance;
|
||||
in vec4 vertexColor;
|
||||
in vec2 texCoord0;
|
||||
in vec2 texCoord1;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
|
||||
if (color.a < 0.1) {
|
||||
discard;
|
||||
}
|
||||
fragColor = linear_fog(color, vertexDistance, FogStart, FogEnd, FogColor);
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_item_entity_translucent_cull",
|
||||
"fragment": "minecraft:core/rendertype_item_entity_translucent_cull",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "Light0_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "Light1_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:light.glsl>
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
in vec2 UV0;
|
||||
in vec2 UV1;
|
||||
in ivec2 UV2;
|
||||
in vec3 Normal;
|
||||
|
||||
uniform sampler2D Sampler2;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
uniform int FogShape;
|
||||
|
||||
uniform vec3 Light0_Direction;
|
||||
uniform vec3 Light1_Direction;
|
||||
|
||||
out float vertexDistance;
|
||||
out vec4 vertexColor;
|
||||
out vec2 texCoord0;
|
||||
out vec2 texCoord1;
|
||||
out vec2 texCoord2;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexDistance = fog_distance(Position, FogShape);
|
||||
vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color) * texelFetch(Sampler2, UV2 / 16, 0);
|
||||
texCoord0 = UV0;
|
||||
texCoord1 = UV1;
|
||||
texCoord2 = UV2;
|
||||
}
|
||||
16
assets/minecraft/shaders/core/rendertype_leash.fsh
Normal file
16
assets/minecraft/shaders/core/rendertype_leash.fsh
Normal file
@@ -0,0 +1,16 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
uniform float FogStart;
|
||||
uniform float FogEnd;
|
||||
uniform vec4 FogColor;
|
||||
|
||||
in float vertexDistance;
|
||||
flat in vec4 vertexColor;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
fragColor = linear_fog(vertexColor, vertexDistance, FogStart, FogEnd, FogColor);
|
||||
}
|
||||
16
assets/minecraft/shaders/core/rendertype_leash.json
Normal file
16
assets/minecraft/shaders/core/rendertype_leash.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_leash",
|
||||
"fragment": "minecraft:core/rendertype_leash",
|
||||
"samplers": [
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
24
assets/minecraft/shaders/core/rendertype_leash.vsh
Normal file
24
assets/minecraft/shaders/core/rendertype_leash.vsh
Normal file
@@ -0,0 +1,24 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
in ivec2 UV2;
|
||||
|
||||
uniform sampler2D Sampler2;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
uniform vec4 ColorModulator;
|
||||
uniform int FogShape;
|
||||
|
||||
out float vertexDistance;
|
||||
flat out vec4 vertexColor;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexDistance = fog_distance(Position, FogShape);
|
||||
vertexColor = Color * ColorModulator * texelFetch(Sampler2, UV2 / 16, 0);
|
||||
}
|
||||
16
assets/minecraft/shaders/core/rendertype_lightning.fsh
Normal file
16
assets/minecraft/shaders/core/rendertype_lightning.fsh
Normal file
@@ -0,0 +1,16 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
uniform float FogStart;
|
||||
uniform float FogEnd;
|
||||
|
||||
in float vertexDistance;
|
||||
in vec4 vertexColor;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
fragColor = vertexColor * ColorModulator * linear_fog_fade(vertexDistance, FogStart, FogEnd);
|
||||
}
|
||||
15
assets/minecraft/shaders/core/rendertype_lightning.json
Normal file
15
assets/minecraft/shaders/core/rendertype_lightning.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_lightning",
|
||||
"fragment": "minecraft:core/rendertype_lightning",
|
||||
"samplers": [
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
20
assets/minecraft/shaders/core/rendertype_lightning.vsh
Normal file
20
assets/minecraft/shaders/core/rendertype_lightning.vsh
Normal file
@@ -0,0 +1,20 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
uniform int FogShape;
|
||||
|
||||
out float vertexDistance;
|
||||
out vec4 vertexColor;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexDistance = fog_distance(Position, FogShape);
|
||||
vertexColor = Color;
|
||||
}
|
||||
18
assets/minecraft/shaders/core/rendertype_lines.fsh
Normal file
18
assets/minecraft/shaders/core/rendertype_lines.fsh
Normal file
@@ -0,0 +1,18 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
uniform float FogStart;
|
||||
uniform float FogEnd;
|
||||
uniform vec4 FogColor;
|
||||
|
||||
in float vertexDistance;
|
||||
in vec4 vertexColor;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = vertexColor * ColorModulator;
|
||||
fragColor = linear_fog(color, vertexDistance, FogStart, FogEnd, FogColor);
|
||||
}
|
||||
17
assets/minecraft/shaders/core/rendertype_lines.json
Normal file
17
assets/minecraft/shaders/core/rendertype_lines.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_lines",
|
||||
"fragment": "minecraft:core/rendertype_lines",
|
||||
"samplers": [
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "LineWidth", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "ScreenSize", "type": "float", "count": 2, "values": [ 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
48
assets/minecraft/shaders/core/rendertype_lines.vsh
Normal file
48
assets/minecraft/shaders/core/rendertype_lines.vsh
Normal file
@@ -0,0 +1,48 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
in vec3 Normal;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
uniform float LineWidth;
|
||||
uniform vec2 ScreenSize;
|
||||
uniform int FogShape;
|
||||
|
||||
out float vertexDistance;
|
||||
out vec4 vertexColor;
|
||||
|
||||
const float VIEW_SHRINK = 1.0 - (1.0 / 256.0);
|
||||
const mat4 VIEW_SCALE = mat4(
|
||||
VIEW_SHRINK, 0.0, 0.0, 0.0,
|
||||
0.0, VIEW_SHRINK, 0.0, 0.0,
|
||||
0.0, 0.0, VIEW_SHRINK, 0.0,
|
||||
0.0, 0.0, 0.0, 1.0
|
||||
);
|
||||
|
||||
void main() {
|
||||
vec4 linePosStart = ProjMat * VIEW_SCALE * ModelViewMat * vec4(Position, 1.0);
|
||||
vec4 linePosEnd = ProjMat * VIEW_SCALE * ModelViewMat * vec4(Position + Normal, 1.0);
|
||||
|
||||
vec3 ndc1 = linePosStart.xyz / linePosStart.w;
|
||||
vec3 ndc2 = linePosEnd.xyz / linePosEnd.w;
|
||||
|
||||
vec2 lineScreenDirection = normalize((ndc2.xy - ndc1.xy) * ScreenSize);
|
||||
vec2 lineOffset = vec2(-lineScreenDirection.y, lineScreenDirection.x) * LineWidth / ScreenSize;
|
||||
|
||||
if (lineOffset.x < 0.0) {
|
||||
lineOffset *= -1.0;
|
||||
}
|
||||
|
||||
if (gl_VertexID % 2 == 0) {
|
||||
gl_Position = vec4((ndc1 + vec3(lineOffset, 0.0)) * linePosStart.w, linePosStart.w);
|
||||
} else {
|
||||
gl_Position = vec4((ndc1 - vec3(lineOffset, 0.0)) * linePosStart.w, linePosStart.w);
|
||||
}
|
||||
|
||||
vertexDistance = fog_distance(Position, FogShape);
|
||||
vertexColor = Color;
|
||||
}
|
||||
18
assets/minecraft/shaders/core/rendertype_outline.fsh
Normal file
18
assets/minecraft/shaders/core/rendertype_outline.fsh
Normal file
@@ -0,0 +1,18 @@
|
||||
#version 150
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
|
||||
in vec4 vertexColor;
|
||||
in vec2 texCoord0;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler0, texCoord0);
|
||||
if (color.a == 0.0) {
|
||||
discard;
|
||||
}
|
||||
fragColor = vec4(ColorModulator.rgb * vertexColor.rgb, ColorModulator.a);
|
||||
}
|
||||
12
assets/minecraft/shaders/core/rendertype_outline.json
Normal file
12
assets/minecraft/shaders/core/rendertype_outline.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_outline",
|
||||
"fragment": "minecraft:core/rendertype_outline",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] }
|
||||
]
|
||||
}
|
||||
18
assets/minecraft/shaders/core/rendertype_outline.vsh
Normal file
18
assets/minecraft/shaders/core/rendertype_outline.vsh
Normal file
@@ -0,0 +1,18 @@
|
||||
#version 150
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
in vec2 UV0;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
|
||||
out vec4 vertexColor;
|
||||
out vec2 texCoord0;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexColor = Color;
|
||||
texCoord0 = UV0;
|
||||
}
|
||||
18
assets/minecraft/shaders/core/rendertype_solid.json
Normal file
18
assets/minecraft/shaders/core/rendertype_solid.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"vertex": "minecraft:core/terrain",
|
||||
"fragment": "minecraft:core/terrain",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ModelOffset", "type": "float", "count": 3, "values": [ 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
24
assets/minecraft/shaders/core/rendertype_text.fsh
Normal file
24
assets/minecraft/shaders/core/rendertype_text.fsh
Normal file
@@ -0,0 +1,24 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
uniform float FogStart;
|
||||
uniform float FogEnd;
|
||||
uniform vec4 FogColor;
|
||||
|
||||
in float vertexDistance;
|
||||
in vec4 vertexColor;
|
||||
in vec2 texCoord0;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
|
||||
if (color.a < 0.1) {
|
||||
discard;
|
||||
}
|
||||
fragColor = linear_fog(color, vertexDistance, FogStart, FogEnd, FogColor);
|
||||
}
|
||||
17
assets/minecraft/shaders/core/rendertype_text.json
Normal file
17
assets/minecraft/shaders/core/rendertype_text.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_text",
|
||||
"fragment": "minecraft:core/rendertype_text",
|
||||
"samplers": [
|
||||
{ "name": "Sampler0" },
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
26
assets/minecraft/shaders/core/rendertype_text.vsh
Normal file
26
assets/minecraft/shaders/core/rendertype_text.vsh
Normal file
@@ -0,0 +1,26 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
in vec3 Position;
|
||||
in vec4 Color;
|
||||
in vec2 UV0;
|
||||
in ivec2 UV2;
|
||||
|
||||
uniform sampler2D Sampler2;
|
||||
|
||||
uniform mat4 ModelViewMat;
|
||||
uniform mat4 ProjMat;
|
||||
uniform int FogShape;
|
||||
|
||||
out float vertexDistance;
|
||||
out vec4 vertexColor;
|
||||
out vec2 texCoord0;
|
||||
|
||||
void main() {
|
||||
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
|
||||
|
||||
vertexDistance = fog_distance(Position, FogShape);
|
||||
vertexColor = Color * texelFetch(Sampler2, UV2 / 16, 0);
|
||||
texCoord0 = UV0;
|
||||
}
|
||||
24
assets/minecraft/shaders/core/rendertype_text_background.fsh
Normal file
24
assets/minecraft/shaders/core/rendertype_text_background.fsh
Normal file
@@ -0,0 +1,24 @@
|
||||
#version 150
|
||||
|
||||
#moj_import <minecraft:fog.glsl>
|
||||
|
||||
uniform sampler2D Sampler0;
|
||||
|
||||
uniform vec4 ColorModulator;
|
||||
uniform float FogStart;
|
||||
uniform float FogEnd;
|
||||
uniform vec4 FogColor;
|
||||
|
||||
in float vertexDistance;
|
||||
in vec4 vertexColor;
|
||||
in vec2 texCoord0;
|
||||
|
||||
out vec4 fragColor;
|
||||
|
||||
void main() {
|
||||
vec4 color = vertexColor * ColorModulator;
|
||||
if (color.a < 0.1) {
|
||||
discard;
|
||||
}
|
||||
fragColor = linear_fog(color, vertexDistance, FogStart, FogEnd, FogColor);
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"vertex": "minecraft:core/rendertype_text_background",
|
||||
"fragment": "minecraft:core/rendertype_text_background",
|
||||
"samplers": [
|
||||
{ "name": "Sampler2" }
|
||||
],
|
||||
"uniforms": [
|
||||
{ "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
|
||||
{ "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
|
||||
{ "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
|
||||
{ "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
|
||||
{ "name": "FogColor", "type": "float", "count": 4, "values": [ 0.0, 0.0, 0.0, 0.0 ] },
|
||||
{ "name": "FogShape", "type": "int", "count": 1, "values": [ 0 ] }
|
||||
]
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user