in examples/experimental/interleaved-buffer/app.js [20:83]
function onWebGLInitialized(gl) {
const buffer = new Buffer(gl, data);
const positions = {buffer, type: GL.FLOAT, size: 3, offset: 4, stride: 16};
const colors = {buffer, type: GL.UNSIGNED_BYTE, size: 4, offset: 0, stride: 16};
const indices = new Uint16Array([0, 1, 2, 3, 4, 5, 4, 5, 6]);
const layers = [
new SolidPolygonLayer({
id: 'polygons',
data: {
length: 2,
startIndices: [0, 3],
attributes: {
indices,
getPolygon: positions,
getFillColor: colors
}
},
pickable: true,
autoHighlight: true,
_normalize: false, // this instructs SolidPolygonLayer to skip normalization and use the binary as is
getWidth: 0.5
}),
new PathLayer({
id: 'paths',
data: {
length: 2,
startIndices: [0, 3],
attributes: {
// PathLayer expects padded positions (1 vertex to the left & 2 vertices to the right)
// So it cannot share the same buffer with other layers without padding
// TODO - handle in PathTesselator?
getPath: {value: data, size: 3, offset: 4, stride: 16},
getColor: colors
}
},
pickable: true,
autoHighlight: true,
_pathType: 'open', // this instructs PathLayer to skip normalization and use the binary as is
getWidth: 0.5
}),
new ScatterplotLayer({
id: 'points',
data: {
length: 7,
attributes: {
getPosition: positions,
getLineColor: colors
}
},
pickable: true,
autoHighlight: true,
stroked: true,
filled: false,
getRadius: 1,
getLineWidth: 0.5
})
];
deck.setProps({layers});
}