MCPcopy
hub / github.com/visgl/deck.gl / _getShaderModuleProps

Method _getShaderModuleProps

modules/core/src/passes/layers-pass.ts:424–472  ·  view source on GitHub ↗
(
    layer: Layer,
    effects: Effect[] | undefined,
    pass: string,
    overrides: any
  )

Source from the content-addressed store, hash-verified

422 }
423
424 private _getShaderModuleProps(
425 layer: Layer,
426 effects: Effect[] | undefined,
427 pass: string,
428 overrides: any
429 ): any {
430 // @ts-expect-error TODO - assuming WebGL context
431 const devicePixelRatio = this.device.canvasContext.cssToDeviceRatio();
432 const layerProps = layer.internalState?.propsInTransition || layer.props;
433
434 const shaderModuleProps = {
435 layer: layerProps,
436 picking: {
437 isActive: false
438 } satisfies PickingProps,
439 project: {
440 viewport: layer.context.viewport,
441 devicePixelRatio,
442 modelMatrix: layerProps.modelMatrix,
443 coordinateSystem: layerProps.coordinateSystem,
444 coordinateOrigin: layerProps.coordinateOrigin,
445 autoWrapLongitude: layer.wrapLongitude
446 } satisfies ProjectProps
447 };
448
449 if (effects) {
450 for (const effect of effects) {
451 mergeModuleParameters(
452 shaderModuleProps,
453 effect.getShaderModuleProps?.(layer, shaderModuleProps)
454 );
455 }
456 }
457
458 // Ensure all default shader modules have an entry so their getUniforms is called.
459 // Without this, default modules added by effects (e.g. terrain) may not get their
460 // bindings set when rendered in passes that don't include those effects (e.g. mask pass).
461 for (const module of layer.context.defaultShaderModules) {
462 if (!(module.name in shaderModuleProps)) {
463 shaderModuleProps[module.name] = {};
464 }
465 }
466
467 return mergeModuleParameters(
468 shaderModuleProps,
469 this.getShaderModuleProps(layer, effects, shaderModuleProps),
470 overrides
471 );
472 }
473}
474
475// If the _index prop is defined, return a layer index that's relative to its parent

Callers 1

_getDrawLayerParamsMethod · 0.95

Calls 3

getShaderModulePropsMethod · 0.95
mergeModuleParametersFunction · 0.85
getShaderModulePropsMethod · 0.65

Tested by

no test coverage detected