New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] deckgl 9.0.1 did not render PathLayer and others #8694
Comments
From the logs looks like you are using |
I'm seeing a similar error with version
I turned
the code seems to be in this file from the luma.gl project and I see a hardcoded |
@Pessimistress The issue was caused by having more than one extensions: I copied from the playground to Add two extensions to ScatterPlotlayer, and the circle was not render. If there's on extension, the ScatterPlotLayer is rendered. |
WebGL has a hard limit of 16 attributes per vertex shader. There is not much we can do about that. @felixpalmer I think the features of DataFilterExtension should be behind a flag, similar to how PathStyleExtension handles dash and offset. Otherwise the new category attribute can be a breaking change as illustrated by this issue. |
@Pessimistress somehow it worked in 8.9.x. I'll investigate more. |
It seems like that v9.x.x add more attributes to DataFilterExtension for "Category Filtering" and break my application because of limits of max allowed attributes |
Description
PathLayer and or GeoJSONLayer render LineString correctly.
Flavors
Expected Behavior
PathLayer should render correctly,
Steps to Reproduce
copy
https://codepen.io/vis-gl/pen/mxxzdw
from the playground to
https://codepen.io/txtl-smith/pen/yLrPQpv
Add two extensions to ScatterPlotlayer, and the circle was not render. If there's on extension, the ScatterPlotLayer is rendered.
Environment
Logs
luma.gl: Model "TestPolygonLayer-child-fill-top: Ignoring constant supplied for unknown attribute "instanceElevations"
setConstantAttributes @ main.7fc60f3e.js:2
luma.gl: Model "TestPolygonLayer-child-fill-top: Ignoring constant supplied for unknown attribute "instanceLineColors"
setConstantAttributes @ main.7fc60f3e.js:2
luma.gl: Model "TestPolygonLayer-child-fill-top: Ignoring constant supplied for unknown attribute "instanceFilterCategoryValues"
setConstantAttributes @ main.7fc60f3e.js:2
luma.gl: Model "TestPolygonLayer-child-stroke: Ignoring constant supplied for unknown attribute "filterCategoryValues"
setConstantAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "positions-buffer" for unknown attribute "positions"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "instancePickingColors" for unknown attribute "instancePickingColors"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "vertexPositions" for unknown attribute "vertexPositions"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "vertexPositions" for unknown attribute "vertexPositions64Low"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "vertexPositions" for unknown attribute "instanceLeftPositions"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "vertexPositions" for unknown attribute "instanceLeftPositions64Low"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "vertexPositions" for unknown attribute "instanceStartPositions"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "vertexPositions" for unknown attribute "instanceStartPositions64Low"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "vertexPositions" for unknown attribute "instanceEndPositions"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "vertexPositions" for unknown attribute "instanceEndPositions64Low"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "vertexPositions" for unknown attribute "instanceRightPositions"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "vertexPositions" for unknown attribute "instanceRightPositions64Low"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "instanceTypes" for unknown attribute "instanceTypes"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "instanceStrokeWidths" for unknown attribute "instanceStrokeWidths"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "instanceColors" for unknown attribute "instanceColors"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "filterValues" for unknown attribute "filterValues"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "filterValues" for unknown attribute "instanceFilterValues"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestPathLayer-child): Ignoring buffer "instanceDashArrays" for unknown attribute "instanceDashArrays"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model "TestPathLayer-child: Ignoring constant supplied for unknown attribute "filterCategoryValues"
setConstantAttributes @ main.7fc60f3e.js:2
luma.gl: Model "TestPathLayer-child: Ignoring constant supplied for unknown attribute "instanceFilterCategoryValues"
setConstantAttributes @ main.7fc60f3e.js:2
luma.gl: Model "TestPathLayer-child: Ignoring constant supplied for unknown attribute "instanceDashOffsets"
setConstantAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "positions-buffer" for unknown attribute "positions"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "instancePickingColors" for unknown attribute "instancePickingColors"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "vertexPositions"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "vertexPositions64Low"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceLeftPositions"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceLeftPositions64Low"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceStartPositions"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceStartPositions64Low"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceEndPositions"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceEndPositions64Low"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceRightPositions"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceRightPositions64Low"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "instanceTypes" for unknown attribute "instanceTypes"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "instanceStrokeWidths" for unknown attribute "instanceStrokeWidths"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "instanceColors" for unknown attribute "instanceColors"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "filterValues" for unknown attribute "filterValues"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "filterValues" for unknown attribute "instanceFilterValues"
setAttributes @ main.7fc60f3e.js:2
luma.gl: Model(TestGeoJSONLayer-child-linestrings): Ignoring buffer "instanceDashArrays" for unknown attribute "instanceDashArrays"
setAttributes @ main.7fc60f3e.js:2
model.js:437 luma.gl: Model "TestGeoJSONLayer-child-linestrings: Ignoring constant supplied for unknown attribute "filterCategoryValues"
setConstantAttributes @ model.js:437
Show 1 more frame
Show less
model.js:437 luma.gl: Model "TestGeoJSONLayer-child-linestrings: Ignoring constant supplied for unknown attribute "instanceFilterCategoryValues"
setConstantAttributes @ model.js:437
Show 1 more frame
Show less
model.js:437 luma.gl: Model "TestGeoJSONLayer-child-linestrings: Ignoring constant supplied for unknown attribute "instanceDashOffsets"
setConstantAttributes @ model.js:437
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-points-circle): Ignoring buffer "positions-buffer" for unknown attribute "positions"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-points-circle): Ignoring buffer "instancePickingColors" for unknown attribute "instancePickingColors"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-points-circle): Ignoring buffer "instancePositions" for unknown attribute "instancePositions"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-points-circle): Ignoring buffer "instancePositions" for unknown attribute "instancePositions64Low"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-points-circle): Ignoring buffer "instanceRadius" for unknown attribute "instanceRadius"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-points-circle): Ignoring buffer "instanceFillColors" for unknown attribute "instanceFillColors"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-points-circle): Ignoring buffer "instanceLineColors" for unknown attribute "instanceLineColors"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-points-circle): Ignoring buffer "instanceLineWidths" for unknown attribute "instanceLineWidths"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-points-circle): Ignoring buffer "filterValues" for unknown attribute "filterValues"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-points-circle): Ignoring buffer "filterValues" for unknown attribute "instanceFilterValues"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-points-circle): Ignoring buffer "instanceStartAngle" for unknown attribute "instanceStartAngle"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-points-circle): Ignoring buffer "instanceEndAngle" for unknown attribute "instanceEndAngle"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:437 luma.gl: Model "TestGeoJSONLayer-child-points-circle: Ignoring constant supplied for unknown attribute "filterCategoryValues"
setConstantAttributes @ model.js:437
Show 1 more frame
Show less
model.js:437 luma.gl: Model "TestGeoJSONLayer-child-points-circle: Ignoring constant supplied for unknown attribute "instanceFilterCategoryValues"
setConstantAttributes @ model.js:437
Show 1 more frame
Show less
model.js:437 luma.gl: Model "TestGeoJSONLayer-child-points-circle: Ignoring constant supplied for unknown attribute "instanceDashSegments"
setConstantAttributes @ model.js:437
Show 1 more frame
Show less
model.js:437 luma.gl: Model "TestGeoJSONLayer-child-points-circle: Ignoring constant supplied for unknown attribute "instanceDashColors"
setConstantAttributes @ model.js:437
Show 1 more frame
Show less
model.js:437 luma.gl: Model "TestGeoJSONLayer-child-points-icon: Ignoring constant supplied for unknown attribute "filterCategoryValues"
setConstantAttributes @ model.js:437
Show 1 more frame
Show less
model.js:437 luma.gl: Model "TestGeoJSONLayer-child-points-text-characters: Ignoring constant supplied for unknown attribute "filterCategoryValues"
setConstantAttributes @ model.js:437
Show 1 more frame
Show less
model.js:437 luma.gl: Model "TestIconLayer-child: Ignoring constant supplied for unknown attribute "filterCategoryValues"
setConstantAttributes @ model.js:437
Show 1 more frame
Show less
model.js:437 luma.gl: Model "TestLabelLayerNormal-child-characters: Ignoring constant supplied for unknown attribute "filterCategoryValues"
setConstantAttributes @ model.js:437
Show 1 more frame
Show less
model.js:459 luma.gl: Model.updateModuleSettings is deprecated. Use Model.shaderInputs.setProps()
updateModuleSettings @ model.js:459
Show 1 more frame
Show less
webgl-render-pipeline.js:243 Uncaught (in promise) Error: Error during linking: Too many attributes (instancePickingColors)
webgl-render-pipeline.js:243 Uncaught (in promise) Error: Error during linking: Vertex shader is not compiled.
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "positions-buffer" for unknown attribute "positions"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "instancePickingColors" for unknown attribute "instancePickingColors"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "vertexPositions"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "vertexPositions64Low"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceLeftPositions"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceLeftPositions64Low"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceStartPositions"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceStartPositions64Low"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceEndPositions"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceEndPositions64Low"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceRightPositions"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "vertexPositions" for unknown attribute "instanceRightPositions64Low"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "instanceTypes" for unknown attribute "instanceTypes"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "instanceStrokeWidths" for unknown attribute "instanceStrokeWidths"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "Buffer-37" for unknown attribute "instanceColors"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "filterValues" for unknown attribute "filterValues"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "filterValues" for unknown attribute "instanceFilterValues"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "instanceDashArrays" for unknown attribute "instanceDashArrays"
setAttributes @ model.js:417
Show 1 more frame
Show less
model.js:437 luma.gl: Model "TestGeoJSONLayer-child-flash-linestrings: Ignoring constant supplied for unknown attribute "filterCategoryValues"
setConstantAttributes @ model.js:437
Show 1 more frame
Show less
model.js:437 luma.gl: Model "TestGeoJSONLayer-child-flash-linestrings: Ignoring constant supplied for unknown attribute "instanceFilterCategoryValues"
setConstantAttributes @ model.js:437
Show 1 more frame
Show less
model.js:437 luma.gl: Model "TestGeoJSONLayer-child-flash-linestrings: Ignoring constant supplied for unknown attribute "instanceDashOffsets"
setConstantAttributes @ model.js:437
Show 1 more frame
Show less
model.js:417 luma.gl: Model(TestGeoJSONLayer-child-flash-linestrings): Ignoring buffer "Buffer-36" for unknown attribute "instanceColors"
setAttributes @ model.js:417
Show 1 more frame
Show less
webgl-render-pipeline.js:243 Uncaught (in promise) Error: Error during linking: Too many attributes (instancePickingColors)
The text was updated successfully, but these errors were encountered: