updateUniforms method
void
updateUniforms()
Implementation
void updateUniforms() {
final far = math.min( data.camera.far, data.maxFar );
final shaders = this.shaders;
shaders.forEach((material,shader ) {
shader as WebGLParameters?;
material as Material;
if ( shader != null ) {
final uniforms = shader.uniforms;
getExtendedBreaks( uniforms!['CSM_cascades']['value'] );
uniforms['cameraNear']['value'] = data.camera.near;
uniforms['shadowFar']['value'] = far;
}
if ( !fade && material.defines != null && material.defines!.containsKey('CSM_FADE')) {//'CSM_FADE' in material.defines
//delete material.defines.CSM_FADE;
material.defines?.remove('CSM_FADE');
material.needsUpdate = true;
} else if(fade && material.defines != null && !material.defines!.containsKey('CSM_FADE')) {
material.defines!['CSM_FADE'] = '';
material.needsUpdate = true;
}
});
}