Вопрос Блюр 1.21.1 optifine mcp

  • Автор темы Автор темы dr3amq
  • Дата начала Дата начала
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
6 Апр 2025
Сообщения
376
Реакции
5
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

пытался на форумах и гитхабе найти утилки для блюра, но ниче толкового не нашел, прошу помощи у югейма
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
бля хз брат :sleepy::sleeping::screamcat::disappointed:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
пытался на форумах и гитхабе найти утилки для блюра, но ниче толкового не нашел, прошу помощи у югейма
Могу показать как выглядит визуально он на 1.21.1
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
пытался на форумах и гитхабе найти утилки для блюра, но ниче толкового не нашел, прошу помощи у югейма
Screen.class -> render background blur
В дефолт майне есть блюр на главном экране
 
взял из MCP 1.21.4, но думаю и под 1.21.1 подойдет.
RenderUtil.java:
Expand Collapse Copy
public static class Blur implements IMinecraft {
        private static final Supplier<RenderTarget> TEMP_FBO_SUPPLIER = Suppliers
                .memoize(() -> new MainTarget(1920, 1024, false));

        public static void drawBlur(GuiGraphics guiGraphics, float x, float y, float width, float height, float radius, float blurRadius, int color) {
            RenderTarget MAIN_FBO = mc.getMainRenderTarget();
            RenderTarget fbo = TEMP_FBO_SUPPLIER.get();

            if (fbo.width != MAIN_FBO.width || fbo.height != MAIN_FBO.height) {
                fbo.resize(MAIN_FBO.width, MAIN_FBO.height);
            }

            RenderSystem.enableBlend();
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableCull();

            fbo.bindWrite(false);

            MAIN_FBO.blitToScreen(fbo.width, fbo.height);
            MAIN_FBO.bindWrite(false);

            RenderSystem.setShaderTexture(0, fbo.getColorTextureId());

            Matrix4f matrix4f = guiGraphics.pose.last().pose();
            CompiledShaderProgram shader = RenderSystem.setShader(CoreShaders.RENDERTYPE_BLUR);

            shader.getUniform("Size").set(width, height);
            shader.getUniform("Radius").set(radius, radius, radius, radius);
            shader.getUniform("Smoothness").set(1.f);
            shader.getUniform("BlurRadius").set(blurRadius);

            BufferBuilder builder = tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR);

            builder.addVertex(matrix4f, x, y, 0).setColor(color);
            builder.addVertex(matrix4f, x, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y, 0).setColor(color);

            tesselator.draw(builder);
            RenderSystem.setShaderTexture(0, 0);

            RenderSystem.enableCull();
            RenderSystem.disableBlend();
        }

        public static void drawBlur(GuiGraphics guiGraphics, float x, float y, float width, float height, Vector4f radius, float blurRadius, int color) {
            RenderTarget MAIN_FBO = mc.getMainRenderTarget();
            RenderTarget fbo = TEMP_FBO_SUPPLIER.get();

            if (fbo.width != MAIN_FBO.width || fbo.height != MAIN_FBO.height) {
                fbo.resize(MAIN_FBO.width, MAIN_FBO.height);
            }

            RenderSystem.enableBlend();
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableCull();

            fbo.bindWrite(false);

            MAIN_FBO.blitToScreen(fbo.width, fbo.height);
            MAIN_FBO.bindWrite(false);

            RenderSystem.setShaderTexture(0, fbo.getColorTextureId());

            Matrix4f matrix4f = guiGraphics.pose.last().pose();
            CompiledShaderProgram shader = RenderSystem.setShader(CoreShaders.RENDERTYPE_BLUR);

            shader.getUniform("Size").set(width, height);
            shader.getUniform("Radius").set(radius.x, radius.y, radius.z, radius.w);
            shader.getUniform("Smoothness").set(1.f);
            shader.getUniform("BlurRadius").set(blurRadius);

            BufferBuilder builder = tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR);

            builder.addVertex(matrix4f, x, y, 0).setColor(color);
            builder.addVertex(matrix4f, x, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y, 0).setColor(color);

            tesselator.draw(builder);
            RenderSystem.setShaderTexture(0, 0);

            RenderSystem.enableCull();
            RenderSystem.disableBlend();
        }

        public static void drawBlur(GuiGraphics guiGraphics, float x, float y, float width, float height, float radius, float blurRadius, int color, float smoothness) {
            RenderTarget MAIN_FBO = mc.getMainRenderTarget();
            RenderTarget fbo = TEMP_FBO_SUPPLIER.get();

            if (fbo.width != MAIN_FBO.width || fbo.height != MAIN_FBO.height) {
                fbo.resize(MAIN_FBO.width, MAIN_FBO.height);
            }

            RenderSystem.enableBlend();
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableCull();

            fbo.bindWrite(false);

            MAIN_FBO.blitToScreen(fbo.width, fbo.height);
            MAIN_FBO.bindWrite(false);

            RenderSystem.setShaderTexture(0, fbo.getColorTextureId());

            Matrix4f matrix4f = guiGraphics.pose.last().pose();
            CompiledShaderProgram shader = RenderSystem.setShader(CoreShaders.RENDERTYPE_BLUR);

            shader.getUniform("Size").set(width, height);
            shader.getUniform("Radius").set(radius, radius, radius, radius);
            shader.getUniform("Smoothness").set(smoothness);
            shader.getUniform("BlurRadius").set(blurRadius);

            BufferBuilder builder = tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR);

            builder.addVertex(matrix4f, x, y, 0).setColor(color);
            builder.addVertex(matrix4f, x, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y, 0).setColor(color);

            tesselator.draw(builder);
            RenderSystem.setShaderTexture(0, 0);

            RenderSystem.enableCull();
            RenderSystem.disableBlend();
        }

        public static void drawBlur(GuiGraphics guiGraphics, float x, float y, float width, float height, Vector4f radius, float blurRadius, int color, float smoothness) {
            RenderTarget MAIN_FBO = mc.getMainRenderTarget();
            RenderTarget fbo = TEMP_FBO_SUPPLIER.get();

            if (fbo.width != MAIN_FBO.width || fbo.height != MAIN_FBO.height) {
                fbo.resize(MAIN_FBO.width, MAIN_FBO.height);
            }

            RenderSystem.enableBlend();
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableCull();

            fbo.bindWrite(false);

            MAIN_FBO.blitToScreen(fbo.width, fbo.height);
            MAIN_FBO.bindWrite(false);

            RenderSystem.setShaderTexture(0, fbo.getColorTextureId());

            Matrix4f matrix4f = guiGraphics.pose.last().pose();
            CompiledShaderProgram shader = RenderSystem.setShader(CoreShaders.RENDERTYPE_BLUR);

            shader.getUniform("Size").set(width, height);
            shader.getUniform("Radius").set(radius.x, radius.y, radius.z, radius.w);
            shader.getUniform("Smoothness").set(smoothness);
            shader.getUniform("BlurRadius").set(blurRadius);

            BufferBuilder builder = tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR);

            builder.addVertex(matrix4f, x, y, 0).setColor(color);
            builder.addVertex(matrix4f, x, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y, 0).setColor(color);

            tesselator.draw(builder);
            RenderSystem.setShaderTexture(0, 0);

            RenderSystem.enableCull();
            RenderSystem.disableBlend();
        }
    }
Вставь в CoreShaders.java:
Expand Collapse Copy
    public static final ShaderProgram RENDERTYPE_BLUR = register("blur", DefaultVertexFormat.POSITION_COLOR);
Вставь в RenderType.java:
Expand Collapse Copy
    private static final RenderType.CompositeRenderType BLUR = create(
        "blur",
        DefaultVertexFormat.POSITION_COLOR,
        VertexFormat.Mode.QUADS,
        786432,
        RenderType.CompositeState.builder().setShaderState(RenderStateShard.RENDERTYPE_BLUR_SHADER).setTransparencyState(TRANSLUCENT_TRANSPARENCY).setDepthTestState(NO_DEPTH_TEST).setCullState(NO_CULL).createCompositeState(false)
    );

    public static RenderType blur() {
        return BLUR;
    }
Вставь в GameRenderer.java:
Expand Collapse Copy
    public void preloadUiShader(ResourceProvider pResourceProvider) {
        try {
            this.minecraft.getShaderManager().preloadForStartup(pResourceProvider, CoreShaders.RENDERTYPE_GUI, CoreShaders.RENDERTYPE_GUI_OVERLAY, CoreShaders.POSITION_TEX_COLOR, CoreShaders.RENDERTYPE_BLUR);
        } catch (IOException | ShaderManager.CompilationException shadermanager$compilationexception) {
            throw new RuntimeException("Could not preload shaders for loading UI", shadermanager$compilationexception);
        }
    }
это в assets/minecraft/shaders/core
ss
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
взял из MCP 1.21.4, но думаю и под 1.21.1 подойдет.
RenderUtil.java:
Expand Collapse Copy
public static class Blur implements IMinecraft {
        private static final Supplier<RenderTarget> TEMP_FBO_SUPPLIER = Suppliers
                .memoize(() -> new MainTarget(1920, 1024, false));

        public static void drawBlur(GuiGraphics guiGraphics, float x, float y, float width, float height, float radius, float blurRadius, int color) {
            RenderTarget MAIN_FBO = mc.getMainRenderTarget();
            RenderTarget fbo = TEMP_FBO_SUPPLIER.get();

            if (fbo.width != MAIN_FBO.width || fbo.height != MAIN_FBO.height) {
                fbo.resize(MAIN_FBO.width, MAIN_FBO.height);
            }

            RenderSystem.enableBlend();
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableCull();

            fbo.bindWrite(false);

            MAIN_FBO.blitToScreen(fbo.width, fbo.height);
            MAIN_FBO.bindWrite(false);

            RenderSystem.setShaderTexture(0, fbo.getColorTextureId());

            Matrix4f matrix4f = guiGraphics.pose.last().pose();
            CompiledShaderProgram shader = RenderSystem.setShader(CoreShaders.RENDERTYPE_BLUR);

            shader.getUniform("Size").set(width, height);
            shader.getUniform("Radius").set(radius, radius, radius, radius);
            shader.getUniform("Smoothness").set(1.f);
            shader.getUniform("BlurRadius").set(blurRadius);

            BufferBuilder builder = tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR);

            builder.addVertex(matrix4f, x, y, 0).setColor(color);
            builder.addVertex(matrix4f, x, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y, 0).setColor(color);

            tesselator.draw(builder);
            RenderSystem.setShaderTexture(0, 0);

            RenderSystem.enableCull();
            RenderSystem.disableBlend();
        }

        public static void drawBlur(GuiGraphics guiGraphics, float x, float y, float width, float height, Vector4f radius, float blurRadius, int color) {
            RenderTarget MAIN_FBO = mc.getMainRenderTarget();
            RenderTarget fbo = TEMP_FBO_SUPPLIER.get();

            if (fbo.width != MAIN_FBO.width || fbo.height != MAIN_FBO.height) {
                fbo.resize(MAIN_FBO.width, MAIN_FBO.height);
            }

            RenderSystem.enableBlend();
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableCull();

            fbo.bindWrite(false);

            MAIN_FBO.blitToScreen(fbo.width, fbo.height);
            MAIN_FBO.bindWrite(false);

            RenderSystem.setShaderTexture(0, fbo.getColorTextureId());

            Matrix4f matrix4f = guiGraphics.pose.last().pose();
            CompiledShaderProgram shader = RenderSystem.setShader(CoreShaders.RENDERTYPE_BLUR);

            shader.getUniform("Size").set(width, height);
            shader.getUniform("Radius").set(radius.x, radius.y, radius.z, radius.w);
            shader.getUniform("Smoothness").set(1.f);
            shader.getUniform("BlurRadius").set(blurRadius);

            BufferBuilder builder = tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR);

            builder.addVertex(matrix4f, x, y, 0).setColor(color);
            builder.addVertex(matrix4f, x, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y, 0).setColor(color);

            tesselator.draw(builder);
            RenderSystem.setShaderTexture(0, 0);

            RenderSystem.enableCull();
            RenderSystem.disableBlend();
        }

        public static void drawBlur(GuiGraphics guiGraphics, float x, float y, float width, float height, float radius, float blurRadius, int color, float smoothness) {
            RenderTarget MAIN_FBO = mc.getMainRenderTarget();
            RenderTarget fbo = TEMP_FBO_SUPPLIER.get();

            if (fbo.width != MAIN_FBO.width || fbo.height != MAIN_FBO.height) {
                fbo.resize(MAIN_FBO.width, MAIN_FBO.height);
            }

            RenderSystem.enableBlend();
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableCull();

            fbo.bindWrite(false);

            MAIN_FBO.blitToScreen(fbo.width, fbo.height);
            MAIN_FBO.bindWrite(false);

            RenderSystem.setShaderTexture(0, fbo.getColorTextureId());

            Matrix4f matrix4f = guiGraphics.pose.last().pose();
            CompiledShaderProgram shader = RenderSystem.setShader(CoreShaders.RENDERTYPE_BLUR);

            shader.getUniform("Size").set(width, height);
            shader.getUniform("Radius").set(radius, radius, radius, radius);
            shader.getUniform("Smoothness").set(smoothness);
            shader.getUniform("BlurRadius").set(blurRadius);

            BufferBuilder builder = tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR);

            builder.addVertex(matrix4f, x, y, 0).setColor(color);
            builder.addVertex(matrix4f, x, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y, 0).setColor(color);

            tesselator.draw(builder);
            RenderSystem.setShaderTexture(0, 0);

            RenderSystem.enableCull();
            RenderSystem.disableBlend();
        }

        public static void drawBlur(GuiGraphics guiGraphics, float x, float y, float width, float height, Vector4f radius, float blurRadius, int color, float smoothness) {
            RenderTarget MAIN_FBO = mc.getMainRenderTarget();
            RenderTarget fbo = TEMP_FBO_SUPPLIER.get();

            if (fbo.width != MAIN_FBO.width || fbo.height != MAIN_FBO.height) {
                fbo.resize(MAIN_FBO.width, MAIN_FBO.height);
            }

            RenderSystem.enableBlend();
            RenderSystem.defaultBlendFunc();
            RenderSystem.disableCull();

            fbo.bindWrite(false);

            MAIN_FBO.blitToScreen(fbo.width, fbo.height);
            MAIN_FBO.bindWrite(false);

            RenderSystem.setShaderTexture(0, fbo.getColorTextureId());

            Matrix4f matrix4f = guiGraphics.pose.last().pose();
            CompiledShaderProgram shader = RenderSystem.setShader(CoreShaders.RENDERTYPE_BLUR);

            shader.getUniform("Size").set(width, height);
            shader.getUniform("Radius").set(radius.x, radius.y, radius.z, radius.w);
            shader.getUniform("Smoothness").set(smoothness);
            shader.getUniform("BlurRadius").set(blurRadius);

            BufferBuilder builder = tesselator.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR);

            builder.addVertex(matrix4f, x, y, 0).setColor(color);
            builder.addVertex(matrix4f, x, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y + height, 0).setColor(color);
            builder.addVertex(matrix4f, x + width, y, 0).setColor(color);

            tesselator.draw(builder);
            RenderSystem.setShaderTexture(0, 0);

            RenderSystem.enableCull();
            RenderSystem.disableBlend();
        }
    }
Вставь в CoreShaders.java:
Expand Collapse Copy
    public static final ShaderProgram RENDERTYPE_BLUR = register("blur", DefaultVertexFormat.POSITION_COLOR);
Вставь в RenderType.java:
Expand Collapse Copy
    private static final RenderType.CompositeRenderType BLUR = create(
        "blur",
        DefaultVertexFormat.POSITION_COLOR,
        VertexFormat.Mode.QUADS,
        786432,
        RenderType.CompositeState.builder().setShaderState(RenderStateShard.RENDERTYPE_BLUR_SHADER).setTransparencyState(TRANSLUCENT_TRANSPARENCY).setDepthTestState(NO_DEPTH_TEST).setCullState(NO_CULL).createCompositeState(false)
    );

    public static RenderType blur() {
        return BLUR;
    }
Вставь в GameRenderer.java:
Expand Collapse Copy
    public void preloadUiShader(ResourceProvider pResourceProvider) {
        try {
            this.minecraft.getShaderManager().preloadForStartup(pResourceProvider, CoreShaders.RENDERTYPE_GUI, CoreShaders.RENDERTYPE_GUI_OVERLAY, CoreShaders.POSITION_TEX_COLOR, CoreShaders.RENDERTYPE_BLUR);
        } catch (IOException | ShaderManager.CompilationException shadermanager$compilationexception) {
            throw new RuntimeException("Could not preload shaders for loading UI", shadermanager$compilationexception);
        }
    }
Пожалуйста, авторизуйтесь для просмотра ссылки.
в assets/minecraft/shaders/core
Пожалуйста, авторизуйтесь для просмотра ссылки.
милый человек, не затруднит вас дать мне замечательные CoreShader, ShaderProgram и CompiledShaderProgram? :3
 
Назад
Сверху Снизу