UNPKG

react-native-filament

Version:

A real-time physically based 3D rendering engine for React Native

35 lines (33 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EnvironmentalLight = EnvironmentalLight; var _useBuffer = require("../hooks/useBuffer"); var _useFilamentContext = require("../hooks/useFilamentContext"); var _useWorkletEffect = require("../hooks/useWorkletEffect"); /** * Sets the light of the scene. An environmental light uses an image file to simulate indirect light. * @note You can only have one environmental light in the scene. */ function EnvironmentalLight({ source, intensity = 25_000, irradianceBands }) { const { engine } = (0, _useFilamentContext.useFilamentContext)(); const lightBuffer = (0, _useBuffer.useBuffer)({ source: source, releaseOnUnmount: false }); (0, _useWorkletEffect.useWorkletEffect)(() => { 'worklet'; if (lightBuffer == null) return; engine.setIndirectLight(lightBuffer, intensity, irradianceBands); lightBuffer.release(); }); return null; } //# sourceMappingURL=EnvironmentalLight.js.map