if (CoreRegistry.get(Config.class).getRendering().isDynamicShadows()) {
GL13.glActiveTexture(GL13.GL_TEXTURE0 + texId);
DefaultRenderingProcess.getInstance().bindFboDepthTexture("sceneShadowMap");
program.setInt("texSceneShadowMap", texId++, true);
Camera lightCamera = CoreRegistry.get(WorldRenderer.class).getLightCamera();
Camera activeCamera = CoreRegistry.get(WorldRenderer.class).getActiveCamera();
if (lightCamera != null && activeCamera != null) {
program.setMatrix4("lightViewProjMatrix", lightCamera.getViewProjectionMatrix(), true);
program.setMatrix4("invViewProjMatrix", activeCamera.getInverseViewProjectionMatrix(), true);
Vector3f activeCameraToLightSpace = new Vector3f();
activeCameraToLightSpace.sub(activeCamera.getPosition(), lightCamera.getPosition());
program.setFloat3("activeCameraToLightSpace", activeCameraToLightSpace.x, activeCameraToLightSpace.y, activeCameraToLightSpace.z, true);
}
if (CoreRegistry.get(Config.class).getRendering().isCloudShadows()) {
Texture clouds = Assets.getTexture("engine:perlinNoiseTileable");