UNPKG

cube-parameters

Version:

A sophisticated 3D model viewer built with React, TypeScript, and Three.js, featuring advanced visualization tools, measurement capabilities, and lighting controls.

30 lines (24 loc) 672 B
import { useState } from 'react'; import type { SunlightSettings, AmbientLightSettings, ShadowQuality } from '../types/model'; export const useLightingState = () => { const [sunlight, setSunlight] = useState<SunlightSettings>({ intensity: 1, azimuth: 45, elevation: 45, color: '#ffffff', castShadow: true }); const [ambientLight, setAmbientLight] = useState<AmbientLightSettings>({ intensity: 0.3, color: '#ffffff' }); const [shadowQuality, setShadowQuality] = useState<ShadowQuality>('medium'); return { sunlight, setSunlight, ambientLight, setAmbientLight, shadowQuality, setShadowQuality }; };