• Ищем качественного (не новичок) разработчиков Xenforo для этого форума! В идеале, чтобы ты был фулл стек программистом. Если у тебя есть что показать, то свяжись с нами по контактным данным: https://t.me/DREDD

Вопрос Траблы с подгрузкой шейдера 1.21

  • Автор темы Автор темы kalcore
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
15 Июн 2025
Сообщения
196
Реакции
1
"умело" запастил рендер систему с тандерхака, но шейдеры блюра не горят желанием подгружаться((

ашыпка:
Expand Collapse Copy
[22:53:40] [Render thread/ERROR] (Minecraft) Unreported exception thrown!
java.lang.NullPointerException: Cannot invoke "net.minecraft.client.gl.ShaderProgram.initializeUniforms(net.minecraft.client.render.VertexFormat$DrawMode, org.joml.Matrix4f, org.joml.Matrix4f, net.minecraft.client.util.Window)" because "shader" is null
    at net.minecraft.client.gl.VertexBuffer.drawInternal(VertexBuffer.java:137) ~[minecraft-merged-99f6daee72-1.21-net.fabricmc.yarn.1_21.1.21+build.2-v2.jar:?]
    at net.minecraft.client.gl.VertexBuffer.draw(VertexBuffer.java:132) ~[minecraft-merged-99f6daee72-1.21-net.fabricmc.yarn.1_21.1.21+build.2-v2.jar:?]
    at net.minecraft.client.render.BufferRenderer.drawWithGlobalProgramInternal(BufferRenderer.java:32) ~[minecraft-merged-99f6daee72-1.21-net.fabricmc.yarn.1_21.1.21+build.2-v2.jar:?]
    at net.minecraft.client.render.BufferRenderer.drawWithGlobalProgram(BufferRenderer.java:26) ~[minecraft-merged-99f6daee72-1.21-net.fabricmc.yarn.1_21.1.21+build.2-v2.jar:?]
    at ru.expensive.core.client.util.Render2DEngine.drawRoundedBlur(Render2DEngine.java:706) ~[main/:?]
    at ru.expensive.core.client.implement.features.draggables.WatermarkDraggable.drawDraggable(WatermarkDraggable.java:46) ~[main/:?]
    at net.minecraft.client.gui.hud.InGameHud.md9c369d$extra-client$lambda$onRender$0$1(InGameHud.java:2051) ~[minecraft-merged-99f6daee72-1.21-net.fabricmc.yarn.1_21.1.21+build.2-v2.jar:?]
    at ru.expensive.core.client.common.util.math.MathUtil.scale(MathUtil.java:54) ~[main/:?]
    at net.minecraft.client.gui.hud.InGameHud.md9c369d$extra-client$lambda$onRender$1$0(InGameHud.java:2051) ~[minecraft-merged-99f6daee72-1.21-net.fabricmc.yarn.1_21.1.21+build.2-v2.jar:?]
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) ~[?:?]
    at net.minecraft.client.gui.hud.InGameHud.handler$zdn001$extra-client$onRender(InGameHud.java:2036) ~[minecraft-merged-99f6daee72-1.21-net.fabricmc.yarn.1_21.1.21+build.2-v2.jar:?]
    at net.minecraft.client.gui.hud.InGameHud.render(InGameHud.java:220) ~[minecraft-merged-99f6daee72-1.21-net.fabricmc.yarn.1_21.1.21+build.2-v2.jar:?]
    at net.minecraft.client.render.GameRenderer.render(GameRenderer.java:896) ~[minecraft-merged-99f6daee72-1.21-net.fabricmc.yarn.1_21.1.21+build.2-v2.jar:?]
    at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1285) ~[minecraft-merged-99f6daee72-1.21-net.fabricmc.yarn.1_21.1.21+build.2-v2.jar:?]
    at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:882) [minecraft-merged-99f6daee72-1.21-net.fabricmc.yarn.1_21.1.21+build.2-v2.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:256) [minecraft-merged-99f6daee72-1.21-net.fabricmc.yarn.1_21.1.21+build.2-v2.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) [fabric-loader-0.15.11.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.15.11.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.15.11.jar:?]
    at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) [dev-launch-injector-0.2.1+build.8.jar:?]
блур праграм:
Expand Collapse Copy
public class BlurProgram {
    private Uniform2f uSize;
    private Uniform2f uLocation;
    private Uniform1f radius;
    private Uniform2f inputResolution;
    private Uniform1f brightness;
    private Uniform1f quality;
    private Uniform4f color1;
    private SamplerUniform sampler;

    private Framebuffer input;

    public static final ManagedCoreShader BLUR = ShaderEffectManager.getInstance()
            .manageCoreShader(Identifier.of("extra", "blur"), VertexFormats.POSITION);

    public BlurProgram() {
        setup();
    }

    public void setParameters(float x, float y, float width, float height, float r, Color c1, float blurStrenth, float blurOpacity) {
        if (input == null)
            input = new SimpleFramebuffer(mc.getWindow().getScaledWidth(), mc.getWindow().getScaledHeight(), false, MinecraftClient.IS_SYSTEM_MAC);

        float i = (float) mc.getWindow().getScaleFactor();
        radius.set(r * i);
        uLocation.set(x * i, -y * i + mc.getWindow().getScaledHeight() * i - height * i);
        uSize.set(width * i, height * i);
        brightness.set(blurOpacity);
        quality.set(blurStrenth);
        color1.set(c1.getRed() / 255f, c1.getGreen() / 255f, c1.getBlue() / 255f, 1f);
        sampler.set(input.getColorAttachment());
    }

    public void use() {
        var buffer = MinecraftClient.getInstance().getFramebuffer();
        input.beginWrite(false);
        GL30.glBindFramebuffer(GL30.GL_READ_FRAMEBUFFER, buffer.fbo);
        GL30.glBlitFramebuffer(0, 0, buffer.textureWidth, buffer.textureHeight, 0, 0, buffer.textureWidth, buffer.textureHeight, GL30.GL_COLOR_BUFFER_BIT, GL30.GL_LINEAR);
        buffer.beginWrite(false);

        if (input != null && (input.textureWidth != mc.getWindow().getFramebufferWidth() || input.textureHeight != mc.getWindow().getFramebufferHeight()))
            input.resize(mc.getWindow().getFramebufferWidth(), mc.getWindow().getFramebufferHeight(), MinecraftClient.IS_SYSTEM_MAC);

        inputResolution.set((float) buffer.textureWidth, (float) buffer.textureHeight);
        sampler.set(input.getColorAttachment());

        RenderSystem.setShader(BLUR::getProgram);
    }

    protected void setup() {
        if (BLUR.getProgram() == null) {
            System.out.println("Шейдер не найден");
        } else {
            System.out.println("Шейдер найден");
        }

        this.inputResolution = BLUR.findUniform2f("InputResolution");
        this.brightness = BLUR.findUniform1f("Brightness");
        this.quality = BLUR.findUniform1f("Quality");
        this.color1 = BLUR.findUniform4f("color1");
        this.uSize = BLUR.findUniform2f("uSize");
        this.uLocation = BLUR.findUniform2f("uLocation");
        this.radius = BLUR.findUniform1f("radius");
        this.sampler = BLUR.findSampler("InputSampler");

        WindowResizeCallback.EVENT.register((client, window) -> {
            if (input != null)
                input.resize(window.getFramebufferWidth(), window.getFramebufferHeight(), MinecraftClient.IS_SYSTEM_MAC);
        });
    }

}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Это несправедливость
 
Назад
Сверху Снизу