1. Заходим в src\im\expensive\utils\shader\shaders
Дальше создаем шейдер MainMenu
2.Вставляем код в 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 строке
[USER=270918]@Getter[/USER]
private IShader MainMenuShader = new MainMenu();
4. Дальше идем в ShaderUtil src\im\expensive\utils\shader
Открываем и пишем на 37 строке
public static ShaderUtil MainMenuShader = new ShaderUtil("MainMenuShader");
Дальше уже на 59 строчке пишем
case "MainMenuShader" -> createShader(Shaders.getInstance().getMainMenuShader(), GL_FRAGMENT_SHADER);
5. Заходим в MainScreen src\im\expensive\ui\mainmenu
На 43 строчке пишем следующие
public final StopWatch timer = new StopWatch();
public float o = 0;
После переходим на 106 строчку и пишем
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();
Поздравляю вот и готова ваш шейдер!
не кидайте клоунов и попкорном первая адекватная тема!