Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Только начал вникать в тему читы на майн, хотел бы узнать как работает загрузка шейдеров на версии 1.21.10, сколько смотрел инет, вообще ничего нету, ну либо просто я не нахожу то, что мне нужно. Желательно по подробнее описать или дать линк на статью.
Это пояснение от него просто по новой системе шейдеров, сама либка и вправду хуйня, чтобы понять как шейдеры рендерить можешь глянуть метод рендера дебаг курсора (3д курсора в ф3)
Смотри, чтобы зарендерить шейдер, тебе нужно просто создать RenderPipeline и отрисовать его с помощью RenderPass. Самый простой пример доступен в документации Fabric:
Там показан пример с рендером бокса в мире с помощью собственного RenderPipeline (обычный POSITION_COLOR), но с выключенной проверкой глубины.
Ты без проблем можешь создать свой RenderPipeline со своим шейдером, используя
RenderPipeline.builder(). Там есть методы withFragmentShader и withVertexShader, где ты просто указываешь путь (ResourceLocation) до своего шейдера.
Если тебе нужно что-то отрендерить в GUI, то лучше всего использовать
PictureInPictureRenderState (или SpecialGuiElementRenderer, если используешь Yarn).
Там аналогично создаёшь RenderPass, прикрепляешь к нему пайплайн, текстуры и униформы (если нужны), и затем рисуешь.
И да, Renderer, про который говорили выше, действительно не очень и использует, на мой взгляд, странные костыли. Пробуй, экспериментируй и у тебя точно что-нибудь зарендерится
UPD: На счет шейдеров:
Они используют std140 и прописываются в "блоках".
Можешь посмотреть как работает майнкрафтовский DynamicUniformStorage к примеру.
Но мне не нравится использовать то, что предоставляет сам Майн. Я предпочитаю прямо перед рендером создавать буфер с униформами и обновлять его напрямую, записывая туда байты.
Вот простенький пример:
Uniform Buffer:
RenderSystem.getDevice().createBuffer(
{ "$name UBO" },
GpuBuffer.USAGE_UNIFORM,
data
)
}
Смотри, чтобы зарендерить шейдер, тебе нужно просто создать RenderPipeline и отрисовать его с помощью RenderPass. Самый простой пример доступен в документации Fabric:
Там показан пример с рендером бокса в мире с помощью собственного RenderPipeline (обычный POSITION_COLOR), но с выключенной проверкой глубины.
Ты без проблем можешь создать свой RenderPipeline со своим шейдером, используя
RenderPipeline.builder(). Там есть методы withFragmentShader и withVertexShader, где ты просто указываешь путь (ResourceLocation) до своего шейдера.
Если тебе нужно что-то отрендерить в GUI, то лучше всего использовать
PictureInPictureRenderState (или SpecialGuiElementRenderer, если используешь Yarn).
Там аналогично создаёшь RenderPass, прикрепляешь к нему пайплайн, текстуры и униформы (если нужны), и затем рисуешь.
И да, Renderer, про который говорили выше, действительно не очень и использует, на мой взгляд, странные костыли. Пробуй, экспериментируй и у тебя точно что-нибудь зарендерится
UPD: На счет шейдеров:
Они используют std140 и прописываются в "блоках".
Можешь посмотреть как работает майнкрафтовский DynamicUniformStorage к примеру.
Но мне не нравится использовать то, что предоставляет сам Майн. Я предпочитаю прямо перед рендером создавать буфер с униформами и обновлять его напрямую, записывая туда байты.
Вот простенький пример:
Uniform Buffer:
RenderSystem.getDevice().createBuffer(
{ "$name UBO" },
GpuBuffer.USAGE_UNIFORM,
data
)
}
Только начал вникать в тему читы на майн, хотел бы узнать как работает загрузка шейдеров на версии 1.21.10, сколько смотрел инет, вообще ничего нету, ну либо просто я не нахожу то, что мне нужно. Желательно по подробнее описать или дать линк на статью.
ты не шариш про этот как его
вообщем есть такой конвертатор в vs code fork туда пишешь make me shader for java minecraft cheat client 1.21.10 expension 3.3 вооот
дальше там справа снизу выбираеш из списка auto типа что бы автоматически канвертация была и нажимаешь энтер и все шейдеры гатовы
Смотри, чтобы зарендерить шейдер, тебе нужно просто создать RenderPipeline и отрисовать его с помощью RenderPass. Самый простой пример доступен в документации Fabric:
Там показан пример с рендером бокса в мире с помощью собственного RenderPipeline (обычный POSITION_COLOR), но с выключенной проверкой глубины.
Ты без проблем можешь создать свой RenderPipeline со своим шейдером, используя
RenderPipeline.builder(). Там есть методы withFragmentShader и withVertexShader, где ты просто указываешь путь (ResourceLocation) до своего шейдера.
Если тебе нужно что-то отрендерить в GUI, то лучше всего использовать
PictureInPictureRenderState (или SpecialGuiElementRenderer, если используешь Yarn).
Там аналогично создаёшь RenderPass, прикрепляешь к нему пайплайн, текстуры и униформы (если нужны), и затем рисуешь.
И да, Renderer, про который говорили выше, действительно не очень и использует, на мой взгляд, странные костыли. Пробуй, экспериментируй и у тебя точно что-нибудь зарендерится
UPD: На счет шейдеров:
Они используют std140 и прописываются в "блоках".
Можешь посмотреть как работает майнкрафтовский DynamicUniformStorage к примеру.
Но мне не нравится использовать то, что предоставляет сам Майн. Я предпочитаю прямо перед рендером создавать буфер с униформами и обновлять его напрямую, записывая туда байты.
Вот простенький пример:
Uniform Buffer:
RenderSystem.getDevice().createBuffer(
{ "$name UBO" },
GpuBuffer.USAGE_UNIFORM,
data
)
}