Skip to content

🔌 API 与模组集成 (Minecraft 26.1.2) ​

Camera Culling 经过专业架构设计,能够与主流客户端渲染优化模组(如 Sodium、Iris、Canvas)以及增加自定义实体与方块实体的内容模组实现 100% 无缝协同运行。


🤝 第三方渲染优化模组兼容性 ​

1. Sodium 与 Embeddium ​

  • 静态地形区块:Sodium 负责深度优化 16x16 区块网格生成与静态方块面的渲染管线。
  • 动态实体与方块:Camera Culling 专注于优化动态实体、箱子、告示牌与粒子系统。
  • 兼容性评级:100% 完美共存,两者没有任何重叠的 Mixin 注入点或渲染状态冲突。

2. Iris 与光影渲染 (Shaders) ​

  • 光影全局统一变量:光影包主要在提取出的帧缓冲区(FrameBuffer)上执行后处理。
  • 几何级遮挡收益:由于被 Camera Culling 剔除的实体被直接阻断向 G-Buffer 提交几何顶点,光影在实体密集区域的渲染帧率会得到数倍的大幅提升。

🛠️ Java API 编程挂钩 ​

其他模组可以通过静态门面类直接查询或集成 Camera Culling 的底层功能:

1. 查询剔除引擎实时状态 ​

java
import net.vanillaoutsider.culling.CameraCullingClient;

boolean isEnabled = CameraCullingClient.isCullingEnabled();
long culledMobs = CameraCullingClient.getCulledEntitiesCount();
long renderedMobs = CameraCullingClient.getRenderedEntitiesCount();

2. 编程式实体免疫白名单 ​

java
import net.vanillaoutsider.culling.config.CameraCullingConfig;

// 将自定义随从实体加入剔除白名单中
CameraCullingConfig.addClientBlacklist("mymod:custom_companion");

3. 直接调用零堆分配视线验证 ​

java
import net.vanillaoutsider.culling.util.CullingRaycastHelper;

// 执行一次完全零堆内存开销的视线检测
boolean visible = CullingRaycastHelper.hasLineOfSight(level, camPos, targetX, targetY, targetZ);

🔗 相关页面 ​

Official documentation & web portal for Dasik Igaijinn mods.