Renderer
Активный0.0
Установок
Последнее обновление
Версии
Renderer
Простая в использовании библиотека для рендеринга, созданная специально для современной версии Fabric.
Установка
Для установки данной библиотеки можно воспользоваться сервисом Jitpack. Добавьте репозиторий Jitpack в соответствующий блок вашего проекта, как указано на официальном сайте, а затем включите следующую строку в раздел зависимостей файла build.gradle:
include modImplementation("com.github.0x3C50:Renderer:master-SNAPSHOT")
Данный подход будет использовать последний коммит в качестве цели сборки, при этом кэшируя её при каждом обращении. Если требуется конкретная версия, можно указать короткий хэш коммита (например, d2cc995ff4
) вместо master-SNAPSHOT.
Применение
Библиотека сопровождается подробной javadoc-документацией, которая раскрывает практически все аспекты использования. Дополнительные примеры и пояснения доступны в вики.
Два типа рендереров
Библиотека предлагает два основных инструмента: Renderer2d для работы с двумерной графикой на интерфейсе и Renderer3d для трёхмерного рендеринга в игровом мире.
Система событий
Встроенная система событий позволяет отслеживать различные этапы рендеринга, такие как отрисовка интерфейса или мира. Подробности о доступных событиях и их использовании можно найти в вики.
Примеры кода
Дополнительные примеры реализации доступны в классе RendererClient
.
class Listener {
void main() {
Events.manager.registerSubscribers(this);
}
@MessageSubscription
void onWorldRendered(RenderEvent.World world) {
// Залитый квадрат в координатах (0, 0, 0):
Renderer3d.renderFilled(world.getMatrixStack(), Color.RED, Vec3d.ZERO, new Vec3d(1, 1, 1));
// Контур квадрата в координатах (0, 0, 0):
Renderer3d.renderOutline(world.getMatrixStack(), Color.RED, Vec3d.ZERO, new Vec3d(1, 1, 1));
}
@MessageSubscription
void onHudRendered(RenderEvent.Hud hud) {
// Скруглённый квадрат в области (50, 50 -> 100, 100), радиус скругления 5 пикселей, 10 сэмплов
Renderer2d.renderRoundedQuad(RendererUtil.getEmptyMatrixStack(), Color.WHITE, 50, 50, 100, 100, 5, 10);
}
}