Решил я сделать по гайду с ютуба сделать bloom, включил для начала только bright filter, на экране один сплошной цвет, и у меня все шейдеры с гайда работают так-же неправильно. Не могу понять что делаю не так. Буду очень благодарен, если мне кто-то поможет с решением проблемы.
Основной код где я хукаюсь:
В необходимости ImageRenderer и Fbo сомневаюсь, но пусть будут.
Спойлер: ImageRenderer
public class ImageRenderer < private Fbo fbo; protected ImageRenderer(int width, int height) < this.fbo = new Fbo(width, height, Fbo.NONE); >protected ImageRenderer() <> protected void renderQuad() < if (fbo != null) < fbo.bindFrameBuffer(); >GL11.glClear(GL11.GL_COLOR_BUFFER_BIT); GL11.glDrawArrays(GL11.GL_TRIANGLE_STRIP, 0, 4); if (fbo != null) < fbo.unbindFrameBuffer(); >> protected int getOutputTexture() < return fbo.getColourTexture(); >protected void cleanUp() < if (fbo != null) < fbo.cleanUp(); >> >
Спойлер: fbo
Почему шейдеры не работают в minecraft for windows #SHORTS
Спойлер: ShaderProgram
public abstract class ShaderProgram < private int programID; private int vertexShaderID; private int fragmentShaderID; private static FloatBuffer matrixBuffer = BufferUtils.createFloatBuffer(16); protected static InputStream getStream(ResourceLocation location) < try < return Minecraft.getMinecraft().getResourceManager().getResource(location).getInputStream(); >catch (IOException e) < e.printStackTrace(); return null; >> public ShaderProgram(InputStream vertexFile,InputStream fragmentFile) < vertexShaderID = loadShader(vertexFile,GL20.GL_VERTEX_SHADER); fragmentShaderID = loadShader(fragmentFile,GL20.GL_FRAGMENT_SHADER); programID = GL20.glCreateProgram(); GL20.glAttachShader(programID, vertexShaderID); GL20.glAttachShader(programID, fragmentShaderID); bindAttributes(); GL20.glLinkProgram(programID); GL20.glValidateProgram(programID); getAllUniformLocations(); >protected abstract void getAllUniformLocations(); protected int getUniformLocation(String uniformName) < return GL20.glGetUniformLocation(programID,uniformName); >public void start() < GL20.glUseProgram(programID); >public void stop() < GL20.glUseProgram(0); >public void cleanUp() < stop(); GL20.glDetachShader(programID, vertexShaderID); GL20.glDetachShader(programID, fragmentShaderID); GL20.glDeleteShader(vertexShaderID); GL20.glDeleteShader(fragmentShaderID); GL20.glDeleteProgram(programID); >protected abstract void bindAttributes(); protected void bindAttribute(int attribute, String variableName) < GL20.glBindAttribLocation(programID, attribute, variableName); >protected void loadFloat(int location, float value) < GL20.glUniform1f(location, value); >protected void loadInt(int location, int value) < GL20.glUniform1i(location, value); >protected void loadVector(int location, Vector3f vector) < GL20.glUniform3f(location,vector.x,vector.y,vector.z); >protected void loadVector(int location, Vector4f vector) < GL20.glUniform4f(location,vector.x,vector.y,vector.z, vector.w); >protected void load2DVector(int location, Vector2f vector) < GL20.glUniform2f(location,vector.x,vector.y); >protected void loadBoolean(int location, boolean value) < float toLoad = 0; if(value)< toLoad = 1; >GL20.glUniform1f(location, toLoad); > protected void loadMatrix(int location, Matrix4f matrix) < matrix.store(matrixBuffer); matrixBuffer.flip(); GL20.glUniformMatrix4(location, false, matrixBuffer); >private static int loadShader(InputStream file, int type) < StringBuilder stringBuilder = new StringBuilder(); try (BufferedReader reader = new BufferedReader(new InputStreamReader(file))) < String line; while ((line = reader.readLine()) != null) < stringBuilder.append(line).append(«n»); >> catch (Exception e) < e.printStackTrace(); >int shaderId = GL20.glCreateShader(type); GL20.glShaderSource(shaderId, stringBuilder); GL20.glCompileShader(shaderId); if (GL20.glGetShaderi(shaderId, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) < System.err.print(«Could not compile » + (type == GL20.GL_FRAGMENT_SHADER ? «fragment» : «vertex») + » shader.»); System.err.println(); System.err.print(new Throwable().getStackTrace()[2].getClassName()); System.err.println(); System.err.print(GL20.glGetShaderInfoLog(shaderId, 2000)); System.err.println(); >else < try < System.out.print(«Compiled » + Class.forName(new Throwable().getStackTrace()[2].getClassName()).getSimpleName() + «(» + (type == GL20.GL_FRAGMENT_SHADER ? «fragment» : «vertex») + «)»); >catch (ClassNotFoundException e) < e.printStackTrace(); >String str = GL20.glGetShaderInfoLog(shaderId, 2000); if (!str.trim().isEmpty()) < System.out.println(); System.out.print(str); >System.out.println(); > return shaderId; > >
Спойлер: BrightFilterShader
Источник: forum.mcmodding.ru
Тема: Не работают шейдеры
stasikkk14
Просмотр профиля
Сообщения форума
Личное сообщение
Репутация
Новичок
Сообщений 2
Регистрация 25.06.2020
0 RPG
Любимые моды Thaumcraft, TConstr, TwilightForest
Любимый монстр Enderman
Текстур пак Default, MCO x16
Регистрация 02.04.2020
Адрес *ENCRYPTED*
5 25.06.2020 в 16:15 .
как сделать в 3 раза больше FPS с шейдерами (Iris Shaders Mod)
[LowModer] Divine3 19.05.2020 — 02.06.2020
[Moder] Divine3 02.06.2020 — 13.10.2020
[HeadModer] Divine3 13.10.2020 — 31.10.2020
[HeadModer] Nevermine(RPG) 16.10.2020 — 20.04.2021
[Moder] Nevermine(RPG) 20.04.2021 — 12.06.2021
[LowModer] Divine1 22.09.2021 — 14.10.2021
[Moder] Divine1 14.10.2021 — 12.12.2021
[LowModer] RPG 22.03.2022 — 29.03.2022
[Moder] RPG 29.03.2022 — 04.07.2022
Руководитель * * [ S i m b i o s ]
25.06.2020, 22:47 #3
stasikkk14
Просмотр профиля
Сообщения форума
Личное сообщение
Репутация
Новичок
Сообщений 2
Регистрация 25.06.2020
0 nbsp
Поблагодарил(а) 180 Получено благодарностей: 91 (сообщений: 44).
Возможно, шейдеры, которые ты используешь, не совместимы с версией кубов, найди шейдеры на нужную версию.
Если ты уверен, что шейдеры на нужную версию и всё равно не работают, то попробуй выделить на кубы 1024 МБайт оперативы, или же максимум 2048(или окно игры сделай меньше).
Если не поможет, дай знать.
Последний раз редактировалось CTTACATEJLb; 25.06.2020 в 23:48 .
Спойлер: гсх
Helper(Divine2)
13.11.2019-18.12.2019
Moder(Divine2)
18.12.2020-19.02.2020
Moder(Divine2)
30.03.2020-22.04.2020
Moder(Divine3)
22.04.2020-14.08.2020
Moder(Divine2)
14.08.2020-21.12.2020
Moder(RPG)
28.10.2020-21.12.2020
11.02.2021-20.04.2021
HeadModer(RPG)
20.04.2021 — какое-то там сентября 2021
« Предыдущая тема | Следующая тема »
Информация о теме
Пользователи, просматривающие эту тему
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
Источник: minecraftonly.ru
Шейдеры в майнкрафт не работают
Как использовать адский светоч в майнкрафт?
Не могу скачать официальный майнкрафт лаунчер
Minecraft при подключении на сервер выдаёт ошибку: illegal packet received terminating connection Версия 1.16.5
Как узнать, сколько прожито игровых дней в майнкрафте?
Как добавить в приват игрока на анархии? [minecraft
12 ответов
Не заходит на сервер в майнкрафт 1 12 2 Па Павел Чернышев
- 2 года назад
- 2 ответа
Шейдеры майнкрафт работают не корректно ma ma4uka san
- 3 года назад
- 2 ответа
Шейдеры для майнкрафта работают не правильно Дм Дмитрий Иванов
- 3 года назад
- 1 ответ
Не работают шейдеры на майнкрафт 1.16.1 Иг Игорь Шишкин
- 1 год назад
- 1 ответ
Не работают шейдеры майнкрафт gl gleb esenov
- 9 лет назад
- 2 ответа
Шейдеры в майнкрафт — 3 ро рошни чоь нормальный
- 1 год назад
- 1 ответ
Крашится Minecraft forge
Не запускается майнкрафт на весь экран в виндовс 11. Приходится играть вот так. Есть у кого варианты решения?
Проблемы с шейдерами в майнкрафт — 4
Источник: minecraftru.net