mylingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
58 lines (53 loc) • 1.62 kB
text/typescript
import setupStruct from "../engine/setupStruct"
import { SHADOW_BIAS, SHADOW_DISTANCE } from "../globals"
import Defaults from "./utils/Defaults"
import { ExtractProps } from "./utils/extractProps"
import NullableDefault from "./utils/NullableDefault"
type Type = typeof setupStruct
export default interface ISetup extends Type {}
export const setupSchema: Required<ExtractProps<ISetup>> = {
skybox: [String, Array],
defaultLight: [String, Boolean],
shadowDistance: Number,
shadowResolution: Number,
shadowBias: Number,
gridHelper: Boolean,
gridHelperSize: Number,
gravity: Number,
repulsion: Number,
centripetal: Boolean,
antiAlias: [Boolean, String],
logarithmicDepth: Boolean,
pixelRatio: Number,
fps: Number,
exposure: Number,
pbr: Boolean,
bloom: Boolean,
bloomStrength: Number,
bloomRadius: Number,
bloomThreshold: Number,
ambientOcclusion: [Boolean, String],
outlineColor: String,
outlineHiddenColor: String,
outlinePattern: String,
outlinePulse: Number,
outlineStrength: Number,
outlineThickness: Number,
bokeh: Boolean,
bokehAperture: Number,
bokehFocus: Number,
bokehMaxBlur: Number,
lensDistortion: Boolean,
lensIor: Number,
lensBand: Number,
motionBlur: Boolean,
motionBlurStrength: Number,
texture: String,
color: String
}
export const setupDefaults: Defaults<ISetup> = {
...setupStruct,
shadowDistance: new NullableDefault(SHADOW_DISTANCE),
shadowResolution: new NullableDefault(1024),
shadowBias: new NullableDefault(SHADOW_BIAS)
}