Git Product home page Git Product logo

better-mipmaps's Introduction

Better Mipmaps

Overview

beforeafter

Have you ever noticed how noisy Minecraft looks in the distance when using a high-resolution resource pack? The reason is that by default, Minecraft only supports full mipmaps for 16x16 textures and below. Anything higher than that will have incomplete mipmaps. This mod fixes this by increasing the maximum level of mipmaps to 10 (1024x1024).

The optimal mipmap level depends on the resolution of your resource pack and can be found in the table below:

Texture Resolution Optimal Mipmap Level
1 0
2 1
4 2
8 3
16 4
32 5
64 6
128 7
256 8
512 9

Technical Details

The problem with generating a full mipmap pyramids for Minecraft textures is that Minecraft combines all block textures into one big texture atlas. The maximum mipmap level of this atlas is a smallest maximum mipmap level of any individual texture. So even when using a 99% complete resource pack, a single left-over 16x16 texture will limit the atlas to 4 mipmap levels. To work around this, this mod will automatically attempt to upscale smaller textures before the stitching process.

better-mipmaps's People

Contributors

sidit77 avatar

Stargazers

Felix14_v2 avatar Diamond avatar Yakov Till avatar

Watchers

 avatar Felix14_v2 avatar

better-mipmaps's Issues

Crash on 1.20.6

java.lang.ClassCastException: class net.minecraft.class_7172$class_7177 cannot be cast to class net.minecraft.class_7172$class_7174 (net.minecraft.class_7172$class_7177 and net.minecraft.class_7172$class_7174 are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @69b794e2)
at net.minecraft.class_315.modify$zga000$better-mipmaps$increaseMaxMipmapLevel(class_315.java:2327)
at net.minecraft.class_315.(class_315.java:522)
at net.minecraft.class_310.(class_310.java:486)
at net.minecraft.client.main.Main.main(Main.java:223)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

Crash on 1.20.1

I pretty sure i have the same issue from another post called "Crash on 1.20.6" here is my crash report:

java.lang.ClassCastException: class net.minecraft.class_7172$class_7177 cannot be cast to class net.minecraft.class_7172$class_7174 (net.minecraft.class_7172$class_7177 and net.minecraft.class_7172$class_7174 are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @57d5872c)
at net.minecraft.class_315.modify$zpb000$better-mipmaps$increaseMaxMipmapLevel(class_315.java:3299)
at net.minecraft.class_315.(class_315.java:482)
at net.minecraft.class_310.(class_310.java:460)
at net.minecraft.client.main.Main.main(Main.java:211)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

1.20.6 Support

Currently, better mipmaps does not support 1.20.5 and 1.20.6.

1.20.1? please?

hi, i'm doing modpack for my friends (not public)
and this mod will probably be a very good addition, but here's the problem:

modpack is on 1.20.1 as not all mods have updated yet to 1.20.4
so i've been wondering if it's gonna be a big deal to back-port mod to 1.20.1?

at least it's one major version, not two different, so i hope it's not so time-consuming, as port can be.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.