Skip to main content

Variable: dirlight

const dirlight: object

Defined in: modules/lighting/no-material/dirlight.ts:68

Cheap lighting - single directional light, single dot product, one uniform

Type Declaration​

bindingLayout​

readonly bindingLayout: readonly [{ group: 2; name: "dirlight"; }]

defaultUniforms​

readonly defaultUniforms: object

defaultUniforms.lightDirection​

readonly lightDirection: [1, 1, 2]

dependencies​

readonly dependencies: [] = []

firstBindingSlot​

readonly firstBindingSlot: 16 = 16

fs​

readonly fs: "layout(std140) uniform dirlightUniforms {\n vec3 lightDirection;\n} dirlight;\n\nin vec3 dirlight_vNormal;\n\n// Returns color attenuated by angle from light source\nvec4 dirlight_filterColor(vec4 color) {\n float d = abs(dot(dirlight_vNormal, normalize(dirlight.lightDirection)));\n return vec4(color.rgb * d, color.a);\n}\n" = FS_GLSL

getUniforms​

getUniforms: (opts) => DirlightProps

Parameters​

opts?​

DirlightProps = dirlight.defaultUniforms

Returns​

DirlightProps

name​

readonly name: "dirlight" = 'dirlight'

props​

readonly props: DirlightProps

source​

readonly source: "struct dirlightUniforms {\n lightDirection: vec3<f32>,\n};\n\nalias DirlightNormal = vec3<f32>;\n\nstruct DirlightInputs {\n normal: DirlightNormal,\n};\n\n@group(2) @binding(auto) var<uniform> dirlight : dirlightUniforms;\n\n// For vertex\nfn dirlight_setNormal(normal: vec3<f32>) -> DirlightNormal {\n return normalize(normal);\n}\n\n// Returns color attenuated by angle from light source\nfn dirlight_filterColor(color: vec4<f32>, inputs: DirlightInputs) -> vec4<f32> {\n // TODO - fix default light direction\n // let lightDirection = dirlight.lightDirection;\n let lightDirection = vec3<f32>(1, 1, 1);\n let d: f32 = abs(dot(inputs.normal, normalize(lightDirection)));\n return vec4<f32>(color.rgb * d, color.a);\n}\n" = SOURCE_WGSL

uniforms​

readonly uniforms: DirlightProps

uniformTypes​

readonly uniformTypes: object

uniformTypes.lightDirection​

readonly lightDirection: "vec3<f32>" = 'vec3<f32>'

vs​

readonly vs: "out vec3 dirlight_vNormal;\n\nvoid dirlight_setNormal(vec3 normal) {\n dirlight_vNormal = normalize(normal);\n}\n" = VS_GLSL