@takram/three-atmosphere
Version:
A Three.js and R3F implementation of Precomputed Atmospheric Scattering
40 lines (37 loc) • 816 B
text/typescript
import { type OverwriteMathProps } from '@takram/three-geospatial/r3f'
import { type AtmosphereMaterialProps } from '../AtmosphereMaterialBase'
export function separateProps<
T extends OverwriteMathProps<AtmosphereMaterialProps>
>(
params: T
): [
OverwriteMathProps<AtmosphereMaterialProps>,
Omit<T, keyof AtmosphereMaterialProps>
] {
const {
irradianceTexture,
scatteringTexture,
transmittanceTexture,
ellipsoid,
correctAltitude,
photometric,
sunDirection,
sunAngularRadius,
renderTargetCount,
...others
} = params
return [
{
irradianceTexture,
scatteringTexture,
transmittanceTexture,
ellipsoid,
correctAltitude,
photometric,
sunDirection,
sunAngularRadius,
renderTargetCount
},
others
]
}