Вопрос [RICH 2.0] Rounded Rect расползается по экрану.

Privatny p100 DT Airlag Break LC Teleport Exploit
Участник
Участник
Статус
Оффлайн
Регистрация
27 Янв 2021
Сообщения
1,197
Реакции
213
Пащу Rounded Rect из Expensiv'a 1.12.2 в Rich 2.0 на 1.16.5. Происходит вот это:
1691939851534.png

Код:

Сам метод:
Expand Collapse Copy
public static void drawRound(float x, float y, float width, float height, float radius, int color, MatrixStack matrixStack) {
        GlStateManager.clearCurrentColor();
        GlStateManager.enableBlend();
        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        roundedShader.init();
        ShaderUtil.setupRoundedRectUniforms(x, y, width, height, radius, roundedShader);
        roundedShader.setUniformi("blur", 0);

        roundedShader.setUniformf("color", ColorUtils.getRed(color) / 255f, ColorUtils.getGreen(color) / 255f, ColorUtils.getBlue(color) / 255f, ColorUtils.getAlpha(color) / 255f);
        ShaderUtil.drawQuads(x - 1, y - 1, width + 2, height + 2, matrixStack);
        roundedShader.unload();
        GlStateManager.disableBlend();
        GlStateManager.clearCurrentColor();
}

rounded shader:
Expand Collapse Copy
public static ShaderUtil roundedShader = new ShaderUtil("roundedRect");

setupRoundedRectUniforms:
Expand Collapse Copy
public static void setupRoundedRectUniforms(double x, double y, double width, double height, double radius, ShaderUtil roundedTexturedShader) {
        MainWindow sr = Minecraft.getInstance().getMainWindow();
        roundedTexturedShader.setUniformf("location", (float) (x * sr.getGuiScaleFactor()),
                (float) ((Minecraft.getInstance().getMainWindow().getHeight() - (height * sr.getGuiScaleFactor())) - (y * sr.getGuiScaleFactor())));
        roundedTexturedShader.setUniformf("rectSize", (float) (width * sr.getGuiScaleFactor()), (float) (height * sr.getGuiScaleFactor()));
        roundedTexturedShader.setUniformf("radius", (float) (radius * sr.getGuiScaleFactor()));
}

drawQuads:
Expand Collapse Copy
public static void drawQuads(float x, float y, float width, float height, MatrixStack matrixStack) {
        BufferBuilder bufferBuilder = Tessellator.getInstance().getBuffer();
        bufferBuilder.begin(GL_QUADS, DefaultVertexFormats.POSITION_TEX);
        bufferBuilder.pos(matrixStack, x, y).tex(0, 0).endVertex();
        bufferBuilder.pos(matrixStack, x, y+height).tex(0, 1).endVertex();
        bufferBuilder.pos(matrixStack, x+width, y+height).tex(1, 1).endVertex();
        bufferBuilder.pos(matrixStack, x+width, y).tex(1, 0).endVertex();
        bufferBuilder.finishDrawing();
        WorldVertexBufferUploader.draw(bufferBuilder);
}

Сам рендер:
Expand Collapse Copy
RenderUtils.drawRound(x, y + 14.5f, x + width, y + headerHeight - extendedHeight, 5, new Color(20, 20, 20, 150).getRGB(), matrixStack);

как пофиксить?

p.s. с RoundedUtil.drawRound такая же херня
 
Последнее редактирование:
Ладно...
 
Последнее редактирование:
Пащу Rounded Rect из Expensiv'a 1.12.2 в Rich 2.0 на 1.16.5. Происходит вот это:
Посмотреть вложение 255940
Код:

Сам метод:
Expand Collapse Copy
public static void drawRound(float x, float y, float width, float height, float radius, int color, MatrixStack matrixStack) {
        GlStateManager.clearCurrentColor();
        GlStateManager.enableBlend();
        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        roundedShader.init();
        ShaderUtil.setupRoundedRectUniforms(x, y, width, height, radius, roundedShader);
        roundedShader.setUniformi("blur", 0);

        roundedShader.setUniformf("color", ColorUtils.getRed(color) / 255f, ColorUtils.getGreen(color) / 255f, ColorUtils.getBlue(color) / 255f, ColorUtils.getAlpha(color) / 255f);
        ShaderUtil.drawQuads(x - 1, y - 1, width + 2, height + 2, matrixStack);
        roundedShader.unload();
        GlStateManager.disableBlend();
        GlStateManager.clearCurrentColor();
}

rounded shader:
Expand Collapse Copy
public static ShaderUtil roundedShader = new ShaderUtil("roundedRect");

setupRoundedRectUniforms:
Expand Collapse Copy
public static void setupRoundedRectUniforms(double x, double y, double width, double height, double radius, ShaderUtil roundedTexturedShader) {
        MainWindow sr = Minecraft.getInstance().getMainWindow();
        roundedTexturedShader.setUniformf("location", (float) (x * sr.getGuiScaleFactor()),
                (float) ((Minecraft.getInstance().getMainWindow().getHeight() - (height * sr.getGuiScaleFactor())) - (y * sr.getGuiScaleFactor())));
        roundedTexturedShader.setUniformf("rectSize", (float) (width * sr.getGuiScaleFactor()), (float) (height * sr.getGuiScaleFactor()));
        roundedTexturedShader.setUniformf("radius", (float) (radius * sr.getGuiScaleFactor()));
}

drawQuads:
Expand Collapse Copy
public static void drawQuads(float x, float y, float width, float height, MatrixStack matrixStack) {
        BufferBuilder bufferBuilder = Tessellator.getInstance().getBuffer();
        bufferBuilder.begin(GL_QUADS, DefaultVertexFormats.POSITION_TEX);
        bufferBuilder.pos(matrixStack, x, y).tex(0, 0).endVertex();
        bufferBuilder.pos(matrixStack, x, y+height).tex(0, 1).endVertex();
        bufferBuilder.pos(matrixStack, x+width, y+height).tex(1, 1).endVertex();
        bufferBuilder.pos(matrixStack, x+width, y).tex(1, 0).endVertex();
        bufferBuilder.finishDrawing();
        WorldVertexBufferUploader.draw(bufferBuilder);
}

Сам рендер:
Expand Collapse Copy
RenderUtils.drawRound(x, y + 14.5f, x + width, y + headerHeight - extendedHeight, 5, new Color(20, 20, 20, 150).getRGB(), matrixStack);

как пофиксить?

p.s. с RoundedUtil.drawRound такая же херня
не работает потомучто там ректы работают подругому в рич 2.0 они работают minX maxX minY maxY
 
Пащу Rounded Rect из Expensiv'a 1.12.2 в Rich 2.0 на 1.16.5. Происходит вот это:
Посмотреть вложение 255940
Код:

Сам метод:
Expand Collapse Copy
public static void drawRound(float x, float y, float width, float height, float radius, int color, MatrixStack matrixStack) {
        GlStateManager.clearCurrentColor();
        GlStateManager.enableBlend();
        GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        roundedShader.init();
        ShaderUtil.setupRoundedRectUniforms(x, y, width, height, radius, roundedShader);
        roundedShader.setUniformi("blur", 0);

        roundedShader.setUniformf("color", ColorUtils.getRed(color) / 255f, ColorUtils.getGreen(color) / 255f, ColorUtils.getBlue(color) / 255f, ColorUtils.getAlpha(color) / 255f);
        ShaderUtil.drawQuads(x - 1, y - 1, width + 2, height + 2, matrixStack);
        roundedShader.unload();
        GlStateManager.disableBlend();
        GlStateManager.clearCurrentColor();
}

rounded shader:
Expand Collapse Copy
public static ShaderUtil roundedShader = new ShaderUtil("roundedRect");

setupRoundedRectUniforms:
Expand Collapse Copy
public static void setupRoundedRectUniforms(double x, double y, double width, double height, double radius, ShaderUtil roundedTexturedShader) {
        MainWindow sr = Minecraft.getInstance().getMainWindow();
        roundedTexturedShader.setUniformf("location", (float) (x * sr.getGuiScaleFactor()),
                (float) ((Minecraft.getInstance().getMainWindow().getHeight() - (height * sr.getGuiScaleFactor())) - (y * sr.getGuiScaleFactor())));
        roundedTexturedShader.setUniformf("rectSize", (float) (width * sr.getGuiScaleFactor()), (float) (height * sr.getGuiScaleFactor()));
        roundedTexturedShader.setUniformf("radius", (float) (radius * sr.getGuiScaleFactor()));
}

drawQuads:
Expand Collapse Copy
public static void drawQuads(float x, float y, float width, float height, MatrixStack matrixStack) {
        BufferBuilder bufferBuilder = Tessellator.getInstance().getBuffer();
        bufferBuilder.begin(GL_QUADS, DefaultVertexFormats.POSITION_TEX);
        bufferBuilder.pos(matrixStack, x, y).tex(0, 0).endVertex();
        bufferBuilder.pos(matrixStack, x, y+height).tex(0, 1).endVertex();
        bufferBuilder.pos(matrixStack, x+width, y+height).tex(1, 1).endVertex();
        bufferBuilder.pos(matrixStack, x+width, y).tex(1, 0).endVertex();
        bufferBuilder.finishDrawing();
        WorldVertexBufferUploader.draw(bufferBuilder);
}

Сам рендер:
Expand Collapse Copy
RenderUtils.drawRound(x, y + 14.5f, x + width, y + headerHeight - extendedHeight, 5, new Color(20, 20, 20, 150).getRGB(), matrixStack);

как пофиксить?

p.s. с RoundedUtil.drawRound такая же херня
БОЖЕ БЛЯТЬ!!!какая ЖЕ ЭТО ХУЙНЯ!!!мужик попробуй FixRenderUtils исполь зовать.КАК ЭТО МОЖНО НЕ ЗНАТЬ? обычная MINECRAFT API документация 405630 страница 15 строка ЧИТАЙ школьник БЛЯТЬ ине ЛЕЗЬ В пастинг пока ХОТЯ БЫ майнкрафт АПИ НАИЗУСТЬ не выучишь.
 

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.


БОЖЕ БЛЯТЬ!!!какая ЖЕ ЭТО ХУЙНЯ!!!мужик попробуй FixRenderUtils исполь зовать.КАК ЭТО МОЖНО НЕ ЗНАТЬ? обычная MINECRAFT API документация 405630 страница 15 строка ЧИТАЙ школьник БЛЯТЬ ине ЛЕЗЬ В пастинг пока ХОТЯ БЫ майнкрафт АПИ НАИЗУСТЬ не выучишь.
ХОРОШО буду учить MINECRAFT API документацию НАИЗУСТЬ!
 
Че делает drawQuads? Что он рендерит?
 
Назад
Сверху Снизу