setupMaterial method
void
setupMaterial(
- Material material
Implementation
void setupMaterial(Material material) {
material.defines = material.defines ?? {};
material.defines!['USE_CSM'] = 1;
material.defines!['CSM_CASCADES'] = data.cascades;
if (fade ) {
material.defines!['CSM_FADE'] = '';
}
final List<Vector2> breaksVec2 = [];
final scope = data;
final shaders = this.shaders;
material.onBeforeCompile = ( shader,target ) {
shader as WebGLParameters;
final far = math.min( scope.camera.far, scope.maxFar );
getExtendedBreaks( breaksVec2 );
shader.uniforms!['CSM_cascades'] = { ['value']: breaksVec2 };
shader.uniforms!['cameraNear'] = { ['value']: scope.camera.near };
shader.uniforms!['shadowFar'] = { ['value']: far };
shaders[material] = shader;//.set material, shader );
};
shaders[material] = null;//.set( material, null );
}