Added no mipping

This commit is contained in:
mcrcortex
2024-02-06 15:42:23 +10:00
parent e197e07c94
commit 006a900d41
6 changed files with 32 additions and 9 deletions

View File

@@ -23,4 +23,8 @@ bool modelHasBiomeLUT(BlockModel model) {
bool modelIsTranslucent(BlockModel model) {
return ((model.flagsA)&4) != 0;
}
bool modelHasMipmaps(BlockModel model) {
return ((model.flagsA)&8) != 0;
}

View File

@@ -13,7 +13,7 @@ layout(location = 4) in flat uint flags;
layout(location = 0) out vec4 outColour;
void main() {
vec2 uv = mod(uv, vec2(1f))*(1f/(vec2(3f,2f)*256f));
vec4 colour = texture(blockModelAtlas, uv + baseUV);
vec4 colour = texture(blockModelAtlas, uv + baseUV, ((flags>>1)&1)*-4f);
if ((flags&1) == 1 && colour.a <= 0.25f) {
discard;
}

View File

@@ -10,7 +10,7 @@ layout(location = 0) out vec2 uv;
layout(location = 1) out flat vec2 baseUV;
layout(location = 2) out flat vec4 tinting;
layout(location = 3) out flat vec4 addin;
layout(location = 4) out flat uint discardAlpha;
layout(location = 4) out flat uint flags;
uint extractLodLevel() {
return uint(gl_BaseInstance)>>29;
@@ -88,10 +88,12 @@ void main() {
baseUV = modelUV + (vec2(face%3, face/3) * (1f/(vec2(3f, 2f)*256f)));
uv = respectiveQuadSize + faceOffset;//Add in the face offset for 0,0 uv
discardAlpha = faceHasAlphaCuttout(faceData);
flags = faceHasAlphaCuttout(faceData);
//We need to have a conditional override based on if the model size is < a full face + quadSize > 1
discardAlpha |= uint(any(greaterThan(quadSize, ivec2(1)))) & faceHasAlphaCuttoutOverride(faceData);
flags |= uint(any(greaterThan(quadSize, ivec2(1)))) & faceHasAlphaCuttoutOverride(faceData);
flags |= uint(!modelHasMipmaps(model))<<1;
//Compute lighting
tinting = getLighting(extractLightId(quad));