Исходник Шейдер в мейн меню (main menu shader) | exp 3.1

Начинающий
Статус
Оффлайн
Регистрация
11 Янв 2024
Сообщения
149
Реакции[?]
3
Поинты[?]
0
1. Выбираем нужный шейдер
тута:
Пожалуйста, авторизуйтесь для просмотра ссылки.
(noad)
выбрали, нажимаем кнопку showcode слева сверху
переходим к пункту 2

2. Изменяем шейдер:
Заходим в код шейдера, ищем
uniform vec2 resolution
Меняем на:
uniform float w
uniform float h

Ищем строку похожую на эту:Посмотреть вложение 272616
Изменяем resolution.xy на vec2(w,h)
Если в коде есть resolution.x то меняем его на w
а ещё
Если в коде есть resolution.y то меняем его на h

3. Создаём файл шейдера в экспенсиве
идём по пути im/expensive/utils/shader/shaders/ и создаём там файл Mainmenu.java
вставляем туда код:

Mainmenu.java:
package im.expensive.utils.shader.shaders;

import im.expensive.utils.shader.IShader;

public class Mainmenu implements IShader {

    @Override
    public String glsl() {
        return """
                шадер
               """;
    }

}
после, меняем на строке 10 текст шадер на код шейдера который вы изменили в пункте 2

4. Регистрируем шейдер в списке шейдеров:
заходим в файл Shaders.java по пути im/expensive/utils/shader/
после 46 строки делаем новую строку и вставляем туда:
Java:
    @Getter
    private IShader mainmenu = new Mainmenu();
если возникает ошибка - Alt + Enter или импортируем шейдер через import im.expensive.utils.shader.shaders.Mainmenu; на 17 строку

5. Регистрируем шейдер в утилке:
заходим в файл ShaderUtil.java по пути im/expensive/utils/shader/
на 37 строку втсавляем:
public static ShaderUtil mainmenu = new ShaderUtil("Mainmenu");

6. Рендерим шейдер
заходим в файл MainScreen.java по пути im/expensive/ui/mainmenu/
и вместо 106 строки вставляем такой код:
Java:
for(float i=0;i<1488;i++){
            if(timer.isReached(10)){
                o++;
                i=0;
                timer.reset();
            }
        }
   
        GlStateManager.pushMatrix();
        GlStateManager.enableBlend();

        ShaderUtil.mainmenu.attach();
        ShaderUtil.mainmenu.setUniform("time", o/4);
        ShaderUtil.mainmenu.setUniform("w", (float)windowWidth);
        ShaderUtil.mainmenu.setUniform("h", (float)windowHeight);

        drawQuads(0, 0, windowWidth, windowHeight, 7);

        ShaderUtil.mainmenu.detach();
        GlStateManager.disableBlend();
       GlStateManager.popMatrix();
на 39 строку вставляем:
Java:
    public final StopWatch timer = new StopWatch();
    public float o = 0;
гатово :seemsgood: Посмотреть вложение 272622
помоги в дс: breadhvh я вроде все сделал а нехуя не получилось
 
Начинающий
Статус
Оффлайн
Регистрация
15 Авг 2023
Сообщения
2
Реакции[?]
0
Поинты[?]
0
Ошибка в drawQuads как фиксануть
drawQuads(0, 0, windowWidth, windowHeight, 7);
drawQuads горит красным
 
Начинающий
Статус
Оффлайн
Регистрация
16 Мар 2024
Сообщения
5
Реакции[?]
0
Поинты[?]
0
кал работать не будет с норм шейдерами только где есть частицы какие нить самые простые то получиться запустить
 
Забаненный
Статус
Оффлайн
Регистрация
20 Фев 2024
Сообщения
15
Реакции[?]
13
Поинты[?]
14K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
да ну слава богу хоть кто-то сделал это, теперь напишу свой шейдер под мейн меню и буду продавать клиент с красивыми визуалами
 
Начинающий
Статус
Оффлайн
Регистрация
5 Апр 2023
Сообщения
389
Реакции[?]
1
Поинты[?]
2K
1. Выбираем нужный шейдер
тута:
Пожалуйста, авторизуйтесь для просмотра ссылки.
(noad)
выбрали, нажимаем кнопку showcode слева сверху
переходим к пункту 2

2. Изменяем шейдер:
Заходим в код шейдера, ищем
uniform vec2 resolution
Меняем на:
uniform float w
uniform float h

Ищем строку похожую на эту:Посмотреть вложение 272616
Изменяем resolution.xy на vec2(w,h)
Если в коде есть resolution.x то меняем его на w
а ещё
Если в коде есть resolution.y то меняем его на h

3. Создаём файл шейдера в экспенсиве
идём по пути im/expensive/utils/shader/shaders/ и создаём там файл Mainmenu.java
вставляем туда код:

Mainmenu.java:
package im.expensive.utils.shader.shaders;

import im.expensive.utils.shader.IShader;

public class Mainmenu implements IShader {

    @Override
    public String glsl() {
        return """
                шадер
               """;
    }

}
после, меняем на строке 10 текст шадер на код шейдера который вы изменили в пункте 2

4. Регистрируем шейдер в списке шейдеров:
заходим в файл Shaders.java по пути im/expensive/utils/shader/
после 46 строки делаем новую строку и вставляем туда:
Java:
    @Getter
    private IShader mainmenu = new Mainmenu();
если возникает ошибка - Alt + Enter или импортируем шейдер через import im.expensive.utils.shader.shaders.Mainmenu; на 17 строку

5. Регистрируем шейдер в утилке:
заходим в файл ShaderUtil.java по пути im/expensive/utils/shader/
на 37 строку втсавляем:
public static ShaderUtil mainmenu = new ShaderUtil("Mainmenu");

6. Рендерим шейдер
заходим в файл MainScreen.java по пути im/expensive/ui/mainmenu/
и вместо 106 строки вставляем такой код:
Java:
for(float i=0;i<1488;i++){
            if(timer.isReached(10)){
                o++;
                i=0;
                timer.reset();
            }
        }
   
        GlStateManager.pushMatrix();
        GlStateManager.enableBlend();

        ShaderUtil.mainmenu.attach();
        ShaderUtil.mainmenu.setUniform("time", o/4);
        ShaderUtil.mainmenu.setUniform("w", (float)windowWidth);
        ShaderUtil.mainmenu.setUniform("h", (float)windowHeight);

        drawQuads(0, 0, windowWidth, windowHeight, 7);

        ShaderUtil.mainmenu.detach();
        GlStateManager.disableBlend();
       GlStateManager.popMatrix();
на 39 строку вставляем:
Java:
    public final StopWatch timer = new StopWatch();
    public float o = 0;
гатово :seemsgood: Посмотреть вложение 272622
я хз чёза фигня но практически каждый шейдер когда я его делаю на пункте 2 просто становиться чёрным либо ошибки
 
Начинающий
Статус
Оффлайн
Регистрация
21 Фев 2024
Сообщения
102
Реакции[?]
2
Поинты[?]
3K
Начинающий
Статус
Оффлайн
Регистрация
31 Июл 2022
Сообщения
410
Реакции[?]
18
Поинты[?]
23K
1. Выбираем нужный шейдер
тута:
Пожалуйста, авторизуйтесь для просмотра ссылки.
(noad)
выбрали, нажимаем кнопку showcode слева сверху
переходим к пункту 2

2. Изменяем шейдер:
Заходим в код шейдера, ищем
uniform vec2 resolution
Меняем на:
uniform float w
uniform float h

Ищем строку похожую на эту:Посмотреть вложение 272616
Изменяем resolution.xy на vec2(w,h)
Если в коде есть resolution.x то меняем его на w
а ещё
Если в коде есть resolution.y то меняем его на h

3. Создаём файл шейдера в экспенсиве
идём по пути im/expensive/utils/shader/shaders/ и создаём там файл Mainmenu.java
вставляем туда код:

Mainmenu.java:
package im.expensive.utils.shader.shaders;

import im.expensive.utils.shader.IShader;

public class Mainmenu implements IShader {

    @Override
    public String glsl() {
        return """
                шадер
               """;
    }

}
после, меняем на строке 10 текст шадер на код шейдера который вы изменили в пункте 2

4. Регистрируем шейдер в списке шейдеров:
заходим в файл Shaders.java по пути im/expensive/utils/shader/
после 46 строки делаем новую строку и вставляем туда:
Java:
    @Getter
    private IShader mainmenu = new Mainmenu();
если возникает ошибка - Alt + Enter или импортируем шейдер через import im.expensive.utils.shader.shaders.Mainmenu; на 17 строку

5. Регистрируем шейдер в утилке:
заходим в файл ShaderUtil.java по пути im/expensive/utils/shader/
на 37 строку втсавляем:
public static ShaderUtil mainmenu = new ShaderUtil("Mainmenu");

6. Рендерим шейдер
заходим в файл MainScreen.java по пути im/expensive/ui/mainmenu/
и вместо 106 строки вставляем такой код:
Java:
for(float i=0;i<1488;i++){
            if(timer.isReached(10)){
                o++;
                i=0;
                timer.reset();
            }
        }

        GlStateManager.pushMatrix();
        GlStateManager.enableBlend();

        ShaderUtil.mainmenu.attach();
        ShaderUtil.mainmenu.setUniform("time", o/4);
        ShaderUtil.mainmenu.setUniform("w", (float)windowWidth);
        ShaderUtil.mainmenu.setUniform("h", (float)windowHeight);

        drawQuads(0, 0, windowWidth, windowHeight, 7);

        ShaderUtil.mainmenu.detach();
        GlStateManager.disableBlend();
       GlStateManager.popMatrix();
на 39 строку вставляем:
Java:
    public final StopWatch timer = new StopWatch();
    public float o = 0;
гатово :seemsgood: Посмотреть вложение 272622
Пожалуйста, авторизуйтесь для просмотра ссылки.
11712099813198.png
И
Пожалуйста, авторизуйтесь для просмотра ссылки.

1712099887228.png


upd: самый топовый который нашёл за два часа:
Пожалуйста, авторизуйтесь для просмотра ссылки.

1712108502099.png
 
Последнее редактирование:
Сверху Снизу