in modules/layers/src/path-layer/path-layer.js [63:131]
initializeState() {
const noAlloc = true;
const attributeManager = this.getAttributeManager();
/* eslint-disable max-len */
attributeManager.addInstanced({
positions: {
size: 3,
// Start filling buffer from 1 vertex in
vertexOffset: 1,
type: GL.DOUBLE,
fp64: this.use64bitPositions(),
transition: ATTRIBUTE_TRANSITION,
accessor: 'getPath',
update: this.calculatePositions,
noAlloc,
shaderAttributes: {
instanceLeftPositions: {
vertexOffset: 0
},
instanceStartPositions: {
vertexOffset: 1
},
instanceEndPositions: {
vertexOffset: 2
},
instanceRightPositions: {
vertexOffset: 3
}
}
},
instanceTypes: {
size: 1,
type: GL.UNSIGNED_BYTE,
update: this.calculateSegmentTypes,
noAlloc
},
instanceStrokeWidths: {
size: 1,
accessor: 'getWidth',
transition: ATTRIBUTE_TRANSITION,
defaultValue: 1
},
instanceColors: {
size: this.props.colorFormat.length,
type: GL.UNSIGNED_BYTE,
normalized: true,
accessor: 'getColor',
transition: ATTRIBUTE_TRANSITION,
defaultValue: DEFAULT_COLOR
},
instancePickingColors: {
size: 3,
type: GL.UNSIGNED_BYTE,
accessor: (object, {index, target: value}) =>
this.encodePickingColor(object && object.__source ? object.__source.index : index, value)
}
});
/* eslint-enable max-len */
this.setState({
pathTesselator: new PathTesselator({
fp64: this.use64bitPositions()
})
});
if (this.props.getDashArray && !this.props.extensions.length) {
log.removed('getDashArray', 'PathStyleExtension')();
}
}