问题1:Deck.gl中vertex-shader中的attribute数据是如何通过layer.props更新的?
问题2: layer的props中函数型accessor是如何传入到vertex-shader中的?
首先,这两个问题并不太容易理解。第一个问题的背景如下:
Deck.lg很多图层(Layer)绘制是通过将几何对象的坐标通过attribute传入到vertex-shader中,比如ArcLayer的shader片段如下:
export default `\
#define SHADER_NAME arc-layer-vertex-shader
attribute vec3 positions;
attribute vec4 instanceSourceColors;
attribute vec4 instanceTargetColors;
attribute vec3 instanceSourcePositions;
// ...
void main(void) {
geometry.worldPosition = instanceSourcePositions;