nether/end temp floodfill fix

This commit is contained in:
NULL511 2024-05-05 17:47:37 -04:00
parent 7cd1cde2c3
commit beac5d235f
2 changed files with 70 additions and 144 deletions

View File

@ -14,48 +14,18 @@ Read the terms of modification and sharing before changing something below pleas
!! DO NOT REMOVE !!
*/
// #define SHADOW_MAP_BIAS 0.5
// const float PI = 3.1415927;
// varying vec2 texcoord;
// uniform mat4 shadowProjectionInverse;
// uniform mat4 shadowProjection;
uniform mat4 shadowModelViewInverse;
// uniform mat4 shadowModelView;
// uniform mat4 gbufferModelView;
// uniform mat4 gbufferModelViewInverse;
// uniform mat4 gbufferProjection;
// uniform mat4 gbufferProjectionInverse;
// uniform int hideGUI;
uniform vec3 cameraPosition;
// uniform float frameTimeCounter;
// uniform int frameCounter;
// uniform float screenBrightness;
// uniform vec3 sunVec;
// uniform float aspectRatio;
// uniform float sunElevation;
// uniform vec3 sunPosition;
// uniform float lightSign;
// uniform float cosFov;
// uniform vec3 shadowViewDir;
// uniform vec3 shadowCamera;
// uniform vec3 shadowLightVec;
// uniform float shadowMaxProj;
// attribute vec4 mc_midTexCoord;
// varying vec4 color;
#ifdef IS_LPV_ENABLED
attribute vec4 mc_Entity;
attribute vec3 at_midBlock;
attribute vec3 vaPosition;
uniform int renderStage;
uniform vec3 chunkOffset;
uniform vec3 cameraPosition;
uniform int currentRenderedItemId;
uniform int blockEntityId;
uniform int entityId;
// #include "/lib/Shadow_Params.glsl"
// #include "/lib/bokeh.glsl"
#include "/lib/blocks.glsl"
#include "/lib/entities.glsl"
#include "/lib/voxel_common.glsl"
@ -65,56 +35,49 @@ uniform vec3 cameraPosition;
void main() {
#if defined IS_LPV_ENABLED && defined MC_GL_EXT_shader_image_load_store
vec3 position = mat3(gl_ModelViewMatrix) * vec3(gl_Vertex) + gl_ModelViewMatrix[3].xyz;
int blockId = int(mc_Entity.x + 0.5);
#if defined IS_LPV_ENABLED || defined WAVY_PLANTS
vec3 playerpos = mat3(shadowModelViewInverse) * position + shadowModelViewInverse[3].xyz;
#endif
if (
renderStage == MC_RENDER_STAGE_TERRAIN_SOLID || renderStage == MC_RENDER_STAGE_TERRAIN_TRANSLUCENT ||
renderStage == MC_RENDER_STAGE_TERRAIN_CUTOUT || renderStage == MC_RENDER_STAGE_TERRAIN_CUTOUT_MIPPED
) {
uint voxelId = uint(blockId);
if (voxelId == 0u) voxelId = 1u;
vec3 playerpos = gl_Vertex.xyz;
vec3 originPos = playerpos + at_midBlock/64.0;
uint voxelId = uint(mc_Entity.x + 0.5);
if (voxelId == 0u) voxelId = 1u;
SetVoxelBlock(originPos, voxelId);
}
#ifdef LPV_ENTITY_LIGHTS
if (
(currentRenderedItemId > 0 || entityId > 0) &&
(renderStage == MC_RENDER_STAGE_BLOCK_ENTITIES || renderStage == MC_RENDER_STAGE_ENTITIES)
) {
uint voxelId = 0u;
// #ifdef LPV_ENTITY_LIGHTS
// if (
// (currentRenderedItemId > 0 || entityId > 0) &&
// (renderStage == MC_RENDER_STAGE_BLOCK_ENTITIES || renderStage == MC_RENDER_STAGE_ENTITIES)
// ) {
// uint voxelId = 0u;
if (currentRenderedItemId > 0) {
if (entityId == ENTITY_PLAYER) {
// TODO: remove once hand-light is added
if (currentRenderedItemId < 1000)
voxelId = uint(currentRenderedItemId);
}
else if (entityId != ENTITY_ITEM_FRAME)
voxelId = uint(currentRenderedItemId);
}
else {
switch (entityId) {
case ENTITY_SPECTRAL_ARROW:
voxelId = uint(BLOCK_TORCH);
break;
// if (currentRenderedItemId > 0) {
// if (entityId == ENTITY_PLAYER) {
// // TODO: remove once hand-light is added
// if (currentRenderedItemId < 1000)
// voxelId = uint(currentRenderedItemId);
// }
// else if (entityId != ENTITY_ITEM_FRAME)
// voxelId = uint(currentRenderedItemId);
// }
// else {
// switch (entityId) {
// case ENTITY_SPECTRAL_ARROW:
// voxelId = uint(BLOCK_TORCH);
// break;
// TODO: blaze, magma_cube
}
}
// // TODO: blaze, magma_cube
// }
// }
if (voxelId > 0u)
SetVoxelBlock(playerpos, voxelId);
}
#endif
// if (voxelId > 0u)
// SetVoxelBlock(playerpos, voxelId);
// }
// #endif
#endif
gl_Position = vec4(-1.0);

View File

@ -14,48 +14,18 @@ Read the terms of modification and sharing before changing something below pleas
!! DO NOT REMOVE !!
*/
// #define SHADOW_MAP_BIAS 0.5
// const float PI = 3.1415927;
// varying vec2 texcoord;
// uniform mat4 shadowProjectionInverse;
// uniform mat4 shadowProjection;
uniform mat4 shadowModelViewInverse;
// uniform mat4 shadowModelView;
// uniform mat4 gbufferModelView;
// uniform mat4 gbufferModelViewInverse;
// uniform mat4 gbufferProjection;
// uniform mat4 gbufferProjectionInverse;
// uniform int hideGUI;
uniform vec3 cameraPosition;
// uniform float frameTimeCounter;
// uniform int frameCounter;
// uniform float screenBrightness;
// uniform vec3 sunVec;
// uniform float aspectRatio;
// uniform float sunElevation;
// uniform vec3 sunPosition;
// uniform float lightSign;
// uniform float cosFov;
// uniform vec3 shadowViewDir;
// uniform vec3 shadowCamera;
// uniform vec3 shadowLightVec;
// uniform float shadowMaxProj;
// attribute vec4 mc_midTexCoord;
// varying vec4 color;
#ifdef IS_LPV_ENABLED
attribute vec4 mc_Entity;
attribute vec3 at_midBlock;
attribute vec3 vaPosition;
uniform int renderStage;
uniform vec3 chunkOffset;
uniform vec3 cameraPosition;
uniform int currentRenderedItemId;
uniform int blockEntityId;
uniform int entityId;
// #include "/lib/Shadow_Params.glsl"
// #include "/lib/bokeh.glsl"
#include "/lib/blocks.glsl"
#include "/lib/entities.glsl"
#include "/lib/voxel_common.glsl"
@ -65,56 +35,49 @@ uniform vec3 cameraPosition;
void main() {
#if defined IS_LPV_ENABLED && defined MC_GL_EXT_shader_image_load_store
vec3 position = mat3(gl_ModelViewMatrix) * vec3(gl_Vertex) + gl_ModelViewMatrix[3].xyz;
int blockId = int(mc_Entity.x + 0.5);
#if defined IS_LPV_ENABLED || defined WAVY_PLANTS
vec3 playerpos = mat3(shadowModelViewInverse) * position + shadowModelViewInverse[3].xyz;
#endif
if (
renderStage == MC_RENDER_STAGE_TERRAIN_SOLID || renderStage == MC_RENDER_STAGE_TERRAIN_TRANSLUCENT ||
renderStage == MC_RENDER_STAGE_TERRAIN_CUTOUT || renderStage == MC_RENDER_STAGE_TERRAIN_CUTOUT_MIPPED
) {
uint voxelId = uint(blockId);
if (voxelId == 0u) voxelId = 1u;
vec3 playerpos = vaPosition + chunkOffset + gl_Vertex.xyz;
vec3 originPos = playerpos + at_midBlock/64.0;
uint voxelId = uint(mc_Entity.x + 0.5);
if (voxelId == 0u) voxelId = 1u;
SetVoxelBlock(originPos, voxelId);
}
#ifdef LPV_ENTITY_LIGHTS
if (
(currentRenderedItemId > 0 || entityId > 0) &&
(renderStage == MC_RENDER_STAGE_BLOCK_ENTITIES || renderStage == MC_RENDER_STAGE_ENTITIES)
) {
uint voxelId = 0u;
// #ifdef LPV_ENTITY_LIGHTS
// if (
// (currentRenderedItemId > 0 || entityId > 0) &&
// (renderStage == MC_RENDER_STAGE_BLOCK_ENTITIES || renderStage == MC_RENDER_STAGE_ENTITIES)
// ) {
// uint voxelId = 0u;
if (currentRenderedItemId > 0) {
if (entityId == ENTITY_PLAYER) {
// TODO: remove once hand-light is added
if (currentRenderedItemId < 1000)
voxelId = uint(currentRenderedItemId);
}
else if (entityId != ENTITY_ITEM_FRAME)
voxelId = uint(currentRenderedItemId);
}
else {
switch (entityId) {
case ENTITY_SPECTRAL_ARROW:
voxelId = uint(BLOCK_TORCH);
break;
// if (currentRenderedItemId > 0) {
// if (entityId == ENTITY_PLAYER) {
// // TODO: remove once hand-light is added
// if (currentRenderedItemId < 1000)
// voxelId = uint(currentRenderedItemId);
// }
// else if (entityId != ENTITY_ITEM_FRAME)
// voxelId = uint(currentRenderedItemId);
// }
// else {
// switch (entityId) {
// case ENTITY_SPECTRAL_ARROW:
// voxelId = uint(BLOCK_TORCH);
// break;
// TODO: blaze, magma_cube
}
}
// // TODO: blaze, magma_cube
// }
// }
if (voxelId > 0u)
SetVoxelBlock(playerpos, voxelId);
}
#endif
// if (voxelId > 0u)
// SetVoxelBlock(playerpos, voxelId);
// }
// #endif
#endif
gl_Position = vec4(-1.0);