Variable: dirlight
constdirlight:object
Defined in: modules/lighting/no-material/dirlight.ts:68
Cheap lighting - single directional light, single dot product, one uniform
Type Declaration
bindingLayout
readonlybindingLayout: readonly [{group:2;name:"dirlight"; }]
defaultUniforms
readonlydefaultUniforms:object
defaultUniforms.lightDirection
readonlylightDirection: [1,1,2]
dependencies
readonlydependencies: [] =[]
firstBindingSlot
readonlyfirstBindingSlot:16=16
fs
readonlyfs: "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
readonlyname:"dirlight"='dirlight'
props
readonlyprops:DirlightProps
source
readonlysource: "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
readonlyuniforms:DirlightProps
uniformTypes
readonlyuniformTypes:object
uniformTypes.lightDirection
readonlylightDirection:"vec3<f32>"='vec3<f32>'
vs
readonlyvs: "out vec3 dirlight_vNormal;\n\nvoid dirlight_setNormal(vec3 normal) {\n dirlight_vNormal = normalize(normal);\n}\n" =VS_GLSL