🔌 API e integración de mods (Minecraft 26.1.2)
Camera Culling está diseñado para operar a la perfección junto con mods de renderizado del cliente (como Sodium, Iris, Canvas) y mods de contenido que añaden entidades o entidades de bloque personalizadas.
🤝 Compatibilidad con renderizadores de terceros
1. Sodium y Embeddium
- Chunks de terreno estático: Sodium optimiza la creación de mallas de chunks y la geometría de caras de bloques.
- Entidades dinámicas: Camera Culling optimiza entidades dinámicas, cofres, carteles y partículas.
- Compatibilidad: 100% compatible sin colisiones de Mixin ni conflictos de estado.
2. Iris y Shaders
- Al usar paquetes de shaders, las sombras de las entidades se sincronizan limpiamente con la oclusión.
- Las comprobaciones de Camera Culling evitan llamadas de dibujo innecesarias en los búferes de mapas de sombras.
🛠️ Puntos de integración programática en Java
Otros mods pueden consultar el estado o interactuar con Camera Culling mediante fachadas de utilidades estáticas:
1. Consulta del estado del motor de oclusión
java
import net.vanillaoutsider.culling.CameraCullingClient;
// Comprobar si la oclusión maestra está activa
boolean isCullingActive = CameraCullingClient.isMasterCullingEnabled();2. Acceso a las opciones de configuración
java
import net.vanillaoutsider.culling.config.CameraCullingConfig;
import net.vanillaoutsider.culling.config.CullingProfile;
// Obtener el nivel de perfil de oclusión actual
CullingProfile currentProfile = CameraCullingConfig.getCullingLevel();
// Comprobar si la oclusión de partículas está habilitada
boolean cullingParticles = CameraCullingConfig.isCullParticles();3. Utilidad de trazado de rayos sin asignación de memoria
java
import net.vanillaoutsider.culling.util.CullingRaycastHelper;
// Comprobación rápida de línea de visión sin instanciar objetos Vec3
boolean visible = CullingRaycastHelper.hasLineOfSight(level, cameraPos, targetX, targetY, targetZ);