跳转至

模型可见性与渲染调度原理

模型句柄、调度方法和 Entity/BlockEntity 适配示例见 API reference。

逻辑与绘制分工

状态机和姿态驱动决定模型怎样运动,宿主渲染入口决定放在哪里及是否可见。两者操作同一个 模型实例,不能各自创建不同实例来分别管理动画和绘制。资源挂载只属于渲染资源生命周期。

可见性策略与正交门控

持续绘制、宿主显式控制和原版 renderer 标记是三种策略。距离与视锥是额外门控, 不因模式切换而消失。原版 renderer 通过实体 tracking/frustum 或方块实体的 view distance/section 剔除后才发出可见标记;全局模型管线消费该标记。

实例按对象身份区分。被剔除的实例不做本帧动画采样和上传,物理却由独立运行时继续推进。 静态方块几何适合 section mesh 合批;需要每帧改变顶点的骨骼模型必须由动态宿主或显式策略管理, 不能指望静态 chunk dispatcher 提供逐方块的动态回调。

帧与视角边界

宿主 renderer 写入可见标记,首个模型材质阶段固化标记,后续阶段复用。双缓冲标记在帧边界交换, 未被重新标记的实例过期。混合材质模型共享姿态采样,避免各 pass 重复推进动画。

多机位分别清理可见标记,但共享一帧的动画 token。仅在后续视角可见的实例仍会采样一次, 已在此前视角采样的实例不会重复推进。最后一个挂载移除时清理调度状态,避免已卸载实例残留。

世界阶段先提交不透明与遮罩材质,再在透明地形之后提交半透明模型。透明算法与深度行为见 Alpha 渲染原理,多视角状态隔离见 多机位原理。