Исходник Shader of MainMenu | expensive 2.0

Начинающий
Статус
Оффлайн
Регистрация
19 Ноя 2023
Сообщения
203
Реакции[?]
2
Поинты[?]
2K

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

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

Спасибо!

Крч сливаю как оно мне не нужно спасибо Sertyo

ShaderMain:
package ru.shield.util.render.shadermain;

import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import org.lwjgl.opengl.ARBShaderObjects;
import org.lwjgl.opengl.GL20;
import ru.shield.util.IMinecraft;
import ru.shield.util.glu.Util;
import ru.shield.util.misc.FileUtil;

import java.io.ByteArrayInputStream;

public class ShaderUtil2 extends Util implements IMinecraft {

    public static ShaderUtil2 MAIN_MENU;

    private final int shaderID = GL20.glCreateProgram();

    public ShaderUtil2(String string) {
        GL20.glAttachShader(this.shaderID, this.createShader(string));
        GL20.glLinkProgram(this.shaderID);
    }
    public static void drawQuads(float x, float y, float width, float height) {
        buffer.begin(9, DefaultVertexFormats.POSITION_TEX);
        double z = 0.0; // Устанавливаем значение z как 0

        buffer.pos(x, y, z).tex(0.0f, 0.0f).endVertex();
        buffer.pos(x, y + height, z).tex(0.0f, 1.0f).endVertex();
        buffer.pos(x + width, y + height, z).tex(1.0f, 1.0f).endVertex();
        buffer.pos(x + width, y,z).tex(1.0f, 0.0f).endVertex();
        tessellator.draw();
    }
    public static void init() {
        MAIN_MENU = new ShaderUtil2("#ifdef GL_ES\n" +
                "precision highp float;\n" +
                "#endif\n" +
                "\n" +
                "#extension GL_OES_standard_derivatives : enable\n" +
                "\n" +
                "#define NUM_OCTAVES 6\n" +
                "\n" +
                "uniform float time;\n" +
                "uniform vec2 resolution;\n" +
                "\n" +
                "mat3 rotX(float a) {\n" +
                "    float c = cos(a);\n" +
                "    float s = sin(a);\n" +
                "    return mat3(\n" +
                "        1, 0, 0,\n" +
                "        0, c, -s,\n" +
                "        0, s, c\n" +
                "    );\n" +
                "}\n" +
                "\n" +
                "mat3 rotY(float a) {\n" +
                "    float c = cos(a);\n" +
                "    float s = sin(a);\n" +
                "    return mat3(\n" +
                "        c, 0, -s,\n" +
                "        0, 1, 0,\n" +
                "        s, 0, c\n" +
                "    );\n" +
                "}\n" +
                "\n" +
                "float random(vec2 pos) {\n" +
                "    return fract(sin(dot(pos.xy, vec2(12.9898, 78.233))) * 43758.5453123);\n" +
                "}\n" +
                "\n" +
                "float noise(vec2 pos) {\n" +
                "    vec2 i = floor(pos);\n" +
                "    vec2 f = fract(pos);\n" +
                "    float a = random(i + vec2(0.0, 0.0));\n" +
                "    float b = random(i + vec2(1.0, 0.0));\n" +
                "    float c = random(i + vec2(0.0, 1.0));\n" +
                "    float d = random(i + vec2(1.0, 1.0));\n" +
                "    vec2 u = f * f * (3.0 - 2.0 * f);\n" +
                "    return mix(a, b, u.x) + (c - a) * u.y * (1.0 - u.x) + (d - b) * u.x * u.y;\n" +
                "}\n" +
                "\n" +
                "float fbm(vec2 pos) {\n" +
                "    float v = 0.0;\n" +
                "    float a = 0.5;\n" +
                "    vec2 shift = vec2(100.0);\n" +
                "    mat2 rot = mat2(cos(15.5), sin(0.5), -sin(0.5), cos(0.5));\n" +
                "    for (int i = 0; i < NUM_OCTAVES; i++) {\n" +
                "        float dir = mod(float(i), 2.0) > 0.5 ? 1.0 : -1.0;\n" +
                "        v += a * noise(pos - 0.05 * dir * time);\n" +
                "\n" +
                "        pos = rot * pos * 2.0 + shift;\n" +
                "        a *= 0.5;\n" +
                "    }\n" +
                "    return v;\n" +
                "}\n" +
                "\n" +
                "void main(void) {\n" +
                "    vec2 p = (gl_FragCoord.xy * 2.0 - resolution.xy) / min(resolution.x, resolution.y);\n" +
                "    p -= vec2(12.0, 0.0);\n" +
                "\n" +
                "    float t = 0.0, d;\n" +
                "\n" +
                "    float time2 = 1.0;\n" +
                "\n" +
                "    vec2 q = vec2(0.0);\n" +
                "    q.x = fbm(p + 0.00 * time2);\n" +
                "    q.y = fbm(p + vec2(1.0));\n" +
                "    vec2 r = vec2(0.0);\n" +
                "    r.x = fbm(p + 1.0 * q + vec2(1.7, 9.2) + 0.15 * time2);\n" +
                "    r.y = fbm(p + 1.0 * q + vec2(8.3, 2.8) + 0.126 * time2);\n" +
                "    float f = fbm(p + r);\n" +
                "    \n" +
                "    // hornidev\n" +
                "    vec3 color = mix(\n" +
                "        vec3(0.3, 0.3, 0.6),\n" +
                "        vec3(0.7, 0.7, 0.7),\n" +
                "        clamp((f * f) * 4.0, 0.0, 1.0)\n" +
                "    );\n" +
                "\n" +
                "    color = mix(\n" +
                "        color,\n" +
                "        vec3(0.7, 0.7, 0.7),\n" +
                "        clamp(length(q), 0.0, 1.0)\n" +
                "    );\n" +
                "\n" +
                "    color = mix(\n" +
                "        color,\n" +
                "        vec3(0.4, 0.4, 0.4),\n" +
                "        clamp(length(r.x), 0.0, 1.0)\n" +
                "    );\n" +
                "\n" +
                "    color = (f * f * f + 0.9 * f * f + 0.8 * f) * color;\n" +
                "\n" +
                "    gl_FragColor = vec4(color * 0.7, color.r);\n" +
                "}\n");

    }



    public void begin() {
        GL20.glUseProgram(this.shaderID);
    }

    public static void end() {
        GL20.glUseProgram(0);
    }

    public void setUniform(String string, float... fArray) {
        int n = GL20.glGetUniformLocation(this.shaderID, string);
        switch (fArray.length) {
            case 1: {
                ARBShaderObjects.glUniform1fARB(n, fArray[0]);
                break;
            }
            case 2: {
                ARBShaderObjects.glUniform2fARB(n, fArray[0], fArray[1]);
                break;
            }
            case 3: {
                ARBShaderObjects.glUniform3fARB(n, fArray[0], fArray[1], fArray[2]);
                break;
            }
            case 4: {
                ARBShaderObjects.glUniform4fARB(n, fArray[0], fArray[1], fArray[2], fArray[3]);
            }
        }
    }

    private int createShader(String string) {
        int gled = GL20.glCreateShader(35632);
        GL20.glShaderSource(gled, (CharSequence) FileUtil.readInputStream(new ByteArrayInputStream(string.getBytes())));
        GL20.glCompileShader(gled);
        return gled;
    }
}
Для пастеров тут стоит протект можно сказать вам только исправить этот код

теперь как добавить эго в свой супер пупер мейн меню

добавляете
MainMenuScreen:
    ShaderUtil2.MAIN_MENU.begin();
        ShaderUtil2.MAIN_MENU.setUniform("time", mc.timer.getPartialTicks(1) / 20.0F);
        ShaderUtil2.MAIN_MENU.setUniform("resolution", mc.getMainWindow().getScaledWidth(), mc.getMainWindow().getScaledHeight());
        ShaderUtil2.MAIN_MENU.drawQuads(0,0, mc.getMainWindow().getScaledWidth(), mc.getMainWindow().getScaledHeight());
        ShaderUtil2.MAIN_MENU.end();
и да удалите backmenu.png в коде своем

потом когда вы добавили ShaderMainMenu
зайдите в Initilization
и вписываете в init

ShaderUtil2.init();

думаю вы исправете ошыбки

Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Начинающий
Статус
Оффлайн
Регистрация
20 Янв 2023
Сообщения
39
Реакции[?]
0
Поинты[?]
0
Крч сливаю как оно мне не нужно спасибо Sertyo

ShaderMain:
package ru.shield.util.render.shadermain;

import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import org.lwjgl.opengl.ARBShaderObjects;
import org.lwjgl.opengl.GL20;
import ru.shield.util.IMinecraft;
import ru.shield.util.glu.Util;
import ru.shield.util.misc.FileUtil;

import java.io.ByteArrayInputStream;

public class ShaderUtil2 extends Util implements IMinecraft {

    public static ShaderUtil2 MAIN_MENU;

    private final int shaderID = GL20.glCreateProgram();

    public ShaderUtil2(String string) {
        GL20.glAttachShader(this.shaderID, this.createShader(string));
        GL20.glLinkProgram(this.shaderID);
    }
    public static void drawQuads(float x, float y, float width, float height) {
        buffer.begin(9, DefaultVertexFormats.POSITION_TEX);
        double z = 0.0; // Устанавливаем значение z как 0

        buffer.pos(x, y, z).tex(0.0f, 0.0f).endVertex();
        buffer.pos(x, y + height, z).tex(0.0f, 1.0f).endVertex();
        buffer.pos(x + width, y + height, z).tex(1.0f, 1.0f).endVertex();
        buffer.pos(x + width, y,z).tex(1.0f, 0.0f).endVertex();
        tessellator.draw();
    }
    public static void init() {
        MAIN_MENU = new ShaderUtil2("#ifdef GL_ES\n" +
                "precision highp float;\n" +
                "#endif\n" +
                "\n" +
                "#extension GL_OES_standard_derivatives : enable\n" +
                "\n" +
                "#define NUM_OCTAVES 6\n" +
                "\n" +
                "uniform float time;\n" +
                "uniform vec2 resolution;\n" +
                "\n" +
                "mat3 rotX(float a) {\n" +
                "    float c = cos(a);\n" +
                "    float s = sin(a);\n" +
                "    return mat3(\n" +
                "        1, 0, 0,\n" +
                "        0, c, -s,\n" +
                "        0, s, c\n" +
                "    );\n" +
                "}\n" +
                "\n" +
                "mat3 rotY(float a) {\n" +
                "    float c = cos(a);\n" +
                "    float s = sin(a);\n" +
                "    return mat3(\n" +
                "        c, 0, -s,\n" +
                "        0, 1, 0,\n" +
                "        s, 0, c\n" +
                "    );\n" +
                "}\n" +
                "\n" +
                "float random(vec2 pos) {\n" +
                "    return fract(sin(dot(pos.xy, vec2(12.9898, 78.233))) * 43758.5453123);\n" +
                "}\n" +
                "\n" +
                "float noise(vec2 pos) {\n" +
                "    vec2 i = floor(pos);\n" +
                "    vec2 f = fract(pos);\n" +
                "    float a = random(i + vec2(0.0, 0.0));\n" +
                "    float b = random(i + vec2(1.0, 0.0));\n" +
                "    float c = random(i + vec2(0.0, 1.0));\n" +
                "    float d = random(i + vec2(1.0, 1.0));\n" +
                "    vec2 u = f * f * (3.0 - 2.0 * f);\n" +
                "    return mix(a, b, u.x) + (c - a) * u.y * (1.0 - u.x) + (d - b) * u.x * u.y;\n" +
                "}\n" +
                "\n" +
                "float fbm(vec2 pos) {\n" +
                "    float v = 0.0;\n" +
                "    float a = 0.5;\n" +
                "    vec2 shift = vec2(100.0);\n" +
                "    mat2 rot = mat2(cos(15.5), sin(0.5), -sin(0.5), cos(0.5));\n" +
                "    for (int i = 0; i < NUM_OCTAVES; i++) {\n" +
                "        float dir = mod(float(i), 2.0) > 0.5 ? 1.0 : -1.0;\n" +
                "        v += a * noise(pos - 0.05 * dir * time);\n" +
                "\n" +
                "        pos = rot * pos * 2.0 + shift;\n" +
                "        a *= 0.5;\n" +
                "    }\n" +
                "    return v;\n" +
                "}\n" +
                "\n" +
                "void main(void) {\n" +
                "    vec2 p = (gl_FragCoord.xy * 2.0 - resolution.xy) / min(resolution.x, resolution.y);\n" +
                "    p -= vec2(12.0, 0.0);\n" +
                "\n" +
                "    float t = 0.0, d;\n" +
                "\n" +
                "    float time2 = 1.0;\n" +
                "\n" +
                "    vec2 q = vec2(0.0);\n" +
                "    q.x = fbm(p + 0.00 * time2);\n" +
                "    q.y = fbm(p + vec2(1.0));\n" +
                "    vec2 r = vec2(0.0);\n" +
                "    r.x = fbm(p + 1.0 * q + vec2(1.7, 9.2) + 0.15 * time2);\n" +
                "    r.y = fbm(p + 1.0 * q + vec2(8.3, 2.8) + 0.126 * time2);\n" +
                "    float f = fbm(p + r);\n" +
                "    \n" +
                "    // hornidev\n" +
                "    vec3 color = mix(\n" +
                "        vec3(0.3, 0.3, 0.6),\n" +
                "        vec3(0.7, 0.7, 0.7),\n" +
                "        clamp((f * f) * 4.0, 0.0, 1.0)\n" +
                "    );\n" +
                "\n" +
                "    color = mix(\n" +
                "        color,\n" +
                "        vec3(0.7, 0.7, 0.7),\n" +
                "        clamp(length(q), 0.0, 1.0)\n" +
                "    );\n" +
                "\n" +
                "    color = mix(\n" +
                "        color,\n" +
                "        vec3(0.4, 0.4, 0.4),\n" +
                "        clamp(length(r.x), 0.0, 1.0)\n" +
                "    );\n" +
                "\n" +
                "    color = (f * f * f + 0.9 * f * f + 0.8 * f) * color;\n" +
                "\n" +
                "    gl_FragColor = vec4(color * 0.7, color.r);\n" +
                "}\n");

    }



    public void begin() {
        GL20.glUseProgram(this.shaderID);
    }

    public static void end() {
        GL20.glUseProgram(0);
    }

    public void setUniform(String string, float... fArray) {
        int n = GL20.glGetUniformLocation(this.shaderID, string);
        switch (fArray.length) {
            case 1: {
                ARBShaderObjects.glUniform1fARB(n, fArray[0]);
                break;
            }
            case 2: {
                ARBShaderObjects.glUniform2fARB(n, fArray[0], fArray[1]);
                break;
            }
            case 3: {
                ARBShaderObjects.glUniform3fARB(n, fArray[0], fArray[1], fArray[2]);
                break;
            }
            case 4: {
                ARBShaderObjects.glUniform4fARB(n, fArray[0], fArray[1], fArray[2], fArray[3]);
            }
        }
    }

    private int createShader(String string) {
        int gled = GL20.glCreateShader(35632);
        GL20.glShaderSource(gled, (CharSequence) FileUtil.readInputStream(new ByteArrayInputStream(string.getBytes())));
        GL20.glCompileShader(gled);
        return gled;
    }
}
Для пастеров тут стоит протект можно сказать вам только исправить этот код

теперь как добавить эго в свой супер пупер мейн меню

добавляете
MainMenuScreen:
    ShaderUtil2.MAIN_MENU.begin();
        ShaderUtil2.MAIN_MENU.setUniform("time", mc.timer.getPartialTicks(1) / 20.0F);
        ShaderUtil2.MAIN_MENU.setUniform("resolution", mc.getMainWindow().getScaledWidth(), mc.getMainWindow().getScaledHeight());
        ShaderUtil2.MAIN_MENU.drawQuads(0,0, mc.getMainWindow().getScaledWidth(), mc.getMainWindow().getScaledHeight());
        ShaderUtil2.MAIN_MENU.end();
и да удалите backmenu.png в коде своем

потом когда вы добавили ShaderMainMenu
зайдите в Initilization
и вписываете в init

ShaderUtil2.init();

думаю вы исправете ошыбки

Пожалуйста, авторизуйтесь для просмотра ссылки.
это ты с моих сурсов взял или что?
 
Начинающий
Статус
Оффлайн
Регистрация
19 Ноя 2023
Сообщения
203
Реакции[?]
2
Поинты[?]
2K
это ты с моих сурсов взял или что?
Нет, мне до твоих срц дали.
Бро, мне чтоо нельзя на шилде делать?
Полезно... но для кого?
Для тех кто делает на 2.0
:whyRly:
он знает больше тебя в джаве,смысл что ты с ним щас закуситься хочешь?
На югейме держаться тускевич
 
Сверху Снизу