Гайд Шейдер в MainScreen | expensive 3.1

Начинающий
Статус
Оффлайн
Регистрация
29 Янв 2024
Сообщения
53
Реакции[?]
0
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
12 Авг 2024
Сообщения
11
Реакции[?]
0
Поинты[?]
0
uniform float width;
uniform float height; это напиши вместо uniform float resolution ну по типу такого
это в vec 2 void main в первую строчку vec2 resolution = vec2(width, height);
можешь мейби в дискорд меня добавить? discord: yatzys смогу бабок немного закинуть
 
Начинающий
Статус
Оффлайн
Регистрация
22 Июл 2022
Сообщения
115
Реакции[?]
0
Поинты[?]
0
кто может помочь в дискорде с проблемой на 106 строке?
sosunok3482
 
Начинающий
Статус
Оффлайн
Регистрация
13 Авг 2024
Сообщения
2
Реакции[?]
0
Поинты[?]
0
1. Заходим в src\im\expensive\utils\shader\shaders
Дальше создаем шейдер MainMenu
2.Вставляем код в MainMenu

MainMenu:
package im.expensive.utils.shader.shaders;

import im.expensive.utils.shader.IShader;

public class MainMenu implements IShader {

    @Override
    public String glsl() {
        return """
              Сюда ваш код
                                                """;
    }
}
3. Заходим в Shaders src\im\expensive\utils\shader
и пишем на 39 строке

Shaders:
[USER=270918]@Getter[/USER]
    private IShader MainMenuShader = new MainMenu();
4. Дальше идем в ShaderUtil src\im\expensive\utils\shader
Открываем и пишем на 37 строке
ShaderUtil1:
 public static ShaderUtil MainMenuShader = new ShaderUtil("MainMenuShader");
Дальше уже на 59 строчке пишем
ShaderUtil2:
 case "MainMenuShader" -> createShader(Shaders.getInstance().getMainMenuShader(), GL_FRAGMENT_SHADER);
5. Заходим в MainScreen src\im\expensive\ui\mainmenu
На 43 строчке пишем следующие

MainScreen:
 public final StopWatch timer = new StopWatch();
    public float o = 0;
После переходим на 106 строчку и пишем

MainScreen2:
for (float i=0;i<1488;i++) {
            if(timer.isReached(10)){
                o++;
                i=0;
                timer.reset();
            }
        }

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

        ShaderUtil.MainMenuShader.attach();
        ShaderUtil.MainMenuShader.setUniform("time", o/4);
        ShaderUtil.MainMenuShader.setUniform("width", (float)mainWindow.getScaledWidth());
        ShaderUtil.MainMenuShader.setUniform("height", (float)mainWindow.getScaledHeight());

        DisplayUtils.drawQuads(0, 0, mainWindow.getScaledWidth(), mainWindow.getScaledHeight(), 7);

        ShaderUtil.MainMenuShader.detach();
        GlStateManager.disableBlend();
        GlStateManager.popMatrix();
Поздравляю вот и готова ваш шейдер!
не кидайте клоунов и попкорном первая адекватная тема!
если тебе не сложно , можешь помочь по дискорду пожалуйста :3
lunuca1yt дискорд
 
Сверху Снизу