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

Вопрос Артефакты на картинке

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
2 Июн 2024
Сообщения
152
Реакции
3
крч при маленьких размерах картинки появляются артефакты как фиксануть
Screenshot 2025-06-13 175022.png


javava:
Expand Collapse Copy
    public static void drawTexture(ResourceLocation resourceLocation, Matrix4f matrix4f, float x, float y, float width, float height) {
        RenderSystem.setShaderTexture(0, resourceLocation);
        RenderSystem.setShader(GameRenderer::getPositionTexShader);
        drawQuadsTex(matrix4f, x, y, width, height);
    }

    public static void drawQuadsTex(Matrix4f matrix, float x, float y, float width, float height) {
        Tesselator tesselator = RenderSystem.renderThreadTesselator();
        BufferBuilder bufferBuilder = tesselator.getBuilder(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX);
        
        bufferBuilder.vertex(matrix, x, y, 0).setUv(0.0F, 0.0F); 
        bufferBuilder.vertex(matrix, x, y + height, 0).setUv(0.0F, 1.0F); 
        bufferBuilder.vertex(matrix, x + width, y + height, 0).setUv(1.0F, 1.0F); 
        bufferBuilder.vertex(matrix, x + width, y, 0).setUv(1.0F, 0.0F); 

        tesselator.draw(bufferBuilder);
    }
утилка с юг
 
крч при маленьких размерах картинки появляются артефакты как фиксануть
Посмотреть вложение 308793

javava:
Expand Collapse Copy
    public static void drawTexture(ResourceLocation resourceLocation, Matrix4f matrix4f, float x, float y, float width, float height) {
        RenderSystem.setShaderTexture(0, resourceLocation);
        RenderSystem.setShader(GameRenderer::getPositionTexShader);
        drawQuadsTex(matrix4f, x, y, width, height);
    }

    public static void drawQuadsTex(Matrix4f matrix, float x, float y, float width, float height) {
        Tesselator tesselator = RenderSystem.renderThreadTesselator();
        BufferBuilder bufferBuilder = tesselator.getBuilder(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX);
       
        bufferBuilder.vertex(matrix, x, y, 0).setUv(0.0F, 0.0F);
        bufferBuilder.vertex(matrix, x, y + height, 0).setUv(0.0F, 1.0F);
        bufferBuilder.vertex(matrix, x + width, y + height, 0).setUv(1.0F, 1.0F);
        bufferBuilder.vertex(matrix, x + width, y, 0).setUv(1.0F, 0.0F);

        tesselator.draw(bufferBuilder);
    }
утилка с юг
Ну попробуй задать текстуре линейную фильтрацию что-бы при изменении размера её шакалило по другому
 
Назад
Сверху Снизу