lingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
14 lines • 723 B
JavaScript
import isOpaque from "../../memo/isOpaque";
import { shadowModePtr } from "../../pointers/shadowModePtr";
import { createLoadedEffectSystem } from "../utils/createLoadedEffectSystem";
export const configCastShadowSystem = createLoadedEffectSystem("configCastShadowSystem", {
effect: (self) => {
const physicsShadow = !!(shadowModePtr[0] === "physics" &&
"physics" in self &&
(self.physics || self.$jointCount));
const bool = self.castShadow && (physicsShadow || shadowModePtr[0] === true);
self.outerObject3d.traverse((child) => (child.castShadow =
bool && child.receiveShadow && isOpaque(child)));
}
});
//# sourceMappingURL=configCastShadowSystem.js.map