react-native-filament
Version:
A real-time physically based 3D rendering engine for React Native
49 lines (48 loc) • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Skybox = Skybox;
var _react = _interopRequireDefault(require("react"));
var _useBuffer = require("../hooks/useBuffer");
var _useSkybox = require("../hooks/useSkybox");
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function Skybox(props) {
if ('colorInHex' in props) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(SkyboxByColor, {
...props
});
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(SkyboxBySource, {
...props
});
}
function SkyboxByColor(props) {
(0, _useSkybox.useSkybox)({
showSun: props.showSun,
envIntensity: props.envIntensity,
color: props.colorInHex
});
return null;
}
function SkyboxBySource(props) {
const textureBuffer = (0, _useBuffer.useBuffer)({
source: props.source,
releaseOnUnmount: false
});
if (textureBuffer == null) return null;
return /*#__PURE__*/(0, _jsxRuntime.jsx)(SkyboxByLoadedBuffer, {
...props,
buffer: textureBuffer
});
}
function SkyboxByLoadedBuffer(props) {
(0, _useSkybox.useSkybox)({
showSun: props.showSun,
envIntensity: props.envIntensity,
texture: props.buffer
});
return null;
}
//# sourceMappingURL=Skybox.js.map