渲染器

一个易于使用的用于渲染内容的库

基础库

Renderer

一个易于使用的现代 Fabric 渲染库

安装

你可以使用 Jitpack 安装此库

要安装此库,只需按照网站上的说明将 jitpack 仓库添加到你的 repositories 块中,并将以下内容添加到 build.gradle 中的 dependencies 块中:

include modImplementation("com.github.0x3C50:Renderer:master-SNAPSHOT")

这将使用最新的提交作为构建目标,但每次都会缓存该构建目标。请使用 Jitpack 上找到的最新短提交哈希(例如:d2cc995ff4)作为版本,以获取该发布版本。

用法

该 api 有详尽的 javadoc,几乎解释了所有内容。wiki 中也有一些更深入的见解和示例。

两种渲染器

Renderer2d 在 HUD 上进行 2D 绘制。Renderer3d 在世界中进行 3D 绘制。

事件

此库有自己的事件系统,会广播一些基本的渲染事件(hud 渲染、世界渲染等)。你可以在 wiki 上找到更多信息

建议

你可以在 issues 区留下建议

如果这个库帮助了你,请考虑留下一个 star,因为这个库目前的样子花了我一段时间才完成 :)

示例

更多示例可以在 RendererClient 中找到。

class Listener {
    void main() {
        Events.manager.registerSubscribers(this);
    }
    @MessageSubscription
    void onWorldRendered(RenderEvent.World world) {
        // Quad at (0, 0, 0):
        Renderer3d.renderFilled(world.getMatrixStack(), Color.RED, Vec3d.ZERO, new Vec3d(1, 1, 1));
        // Quad outline at (0, 0, 0):
        Renderer3d.renderOutline(world.getMatrixStack(), Color.RED, Vec3d.ZERO, new Vec3d(1, 1, 1));
    }
    
    @MessageSubscription
    void onHudRendered(RenderEvent.Hud hud) {
        // Rounded quad at (50, 50 -> 100, 100), 5 px corner, 10 samples
        Renderer2d.renderRoundedQuad(RendererUtil.getEmptyMatrixStack(), Color.WHITE, 50, 50, 100, 100, 5, 10);
    }
}