WMS limited extent and GL shader error

Hello,

So here is what I am doing.

I am adding a WMS through the usual WebMapServiceImageryProvider, including an extent as a parameter;

var limitedTest = new Cesium.Extent(

Cesium.Math.toRadians(-58.84),

Cesium.Math.toRadians(87.155),

Cesium.Math.toRadians(90.92),

Cesium.Math.toRadians(88.18));

smWMS = new Cesium.WebMapServiceImageryProvider({

url: 'http://someURL/wms?’,

layers: layerArray,

extent: limitedTest,

parameters: {

transparent: ‘true’,

format: ‘image/png’

}

});

cb.getImageryLayers().addImageryProvider(smWMS);

So it adds it fine. And on load, I can see the WMS rendering. However when I zoom in over the area I of that extent, I always get this:

  1. [GL] Shader program link log: Pixel shader sampler count exceeds MAX_TEXTURE_IMAGE_UNITS (16).
    Cesium.js:79381

  2. createAndLinkProgramCesium.js:79381

  3. ShaderProgramCesium.js:79083

  4. Context.createShaderProgramCesium.js:82725

  5. ShaderCache.getShaderProgramCesium.js:77147

  6. CentralBodySurfaceShaderSet.getShaderProgramCesium.js:96170

  7. createRenderCommandsForSelectedTilesCesium.js:96003

  8. CentralBodySurface.updateCesium.js:95141

  9. CentralBody.updateCesium.js:97846

  10. CompositePrimitive.updateCesium.js:98563

  11. updatePrimitivesCesium.js:105784

  12. Scene.renderCesium.js:105841

  13. tickmainv02.js:139

  14. Uncaught RuntimeError: Program failed to link. Link log: Pixel shader sampler count exceeds MAX_TEXTURE_IMAGE_UNITS (16).
    Error
    at new RuntimeError (http://localhost:8081/Showcase/Magellium/NGI_Experimental/js/Cesium23/CesiumUnminified/Cesium.js:6785:17 )
    at createAndLinkProgram (http://localhost:8081/Showcase/Magellium/NGI_Experimental/js/Cesium23/CesiumUnminified/Cesium.js:79382:19 )
    at new ShaderProgram (http://localhost:8081/Showcase/Magellium/NGI_Experimental/js/Cesium23/CesiumUnminified/Cesium.js:79083:23 )
    at Context.createShaderProgram (http://localhost:8081/Showcase/Magellium/NGI_Experimental/js/Cesium23/CesiumUnminified/Cesium.js:82725:16 )
    at ShaderCache.getShaderProgram (http://localhost:8081/Showcase/Magellium/NGI_Experimental/js/Cesium23/CesiumUnminified/Cesium.js:77147:36 )
    at CentralBodySurfaceShaderSet.getShaderProgram (http://localhost:8081/Showcase/Magellium/NGI_Experimental/js/Cesium23/CesiumUnminified/Cesium.js:96170:47 )
    at createRenderCommandsForSelectedTiles (http://localhost:8081/Showcase/Magellium/NGI_Experimental/js/Cesium23/CesiumUnminified/Cesium.js:96003:55 )
    at CentralBodySurface.update (http://localhost:8081/Showcase/Magellium/NGI_Experimental/js/Cesium23/CesiumUnminified/Cesium.js:95141:9 )
    at CentralBody.update (http://localhost:8081/Showcase/Magellium/NGI_Experimental/js/Cesium23/CesiumUnminified/Cesium.js:97846:27 )
    at CompositePrimitive.update (http://localhost:8081/Showcase/Magellium/NGI_Experimental/js/Cesium23/CesiumUnminified/Cesium.js:98563:31) Cesium.js:79382

  15. createAndLinkProgramCesium.js:79382

  16. ShaderProgramCesium.js:79083

  17. Context.createShaderProgramCesium.js:82725

  18. ShaderCache.getShaderProgramCesium.js:77147

  19. CentralBodySurfaceShaderSet.getShaderProgramCesium.js:96170

  20. createRenderCommandsForSelectedTilesCesium.js:96003

  21. CentralBodySurface.updateCesium.js:95141

  22. CentralBody.updateCesium.js:97846

  23. CompositePrimitive.updateCesium.js:98563

  24. updatePrimitivesCesium.js:105784

  25. Scene.renderCesium.js:105841

  26. tickmainv02.js:139

Sorry for the length, but I thought all of it might help. Does anyone know what that means?

The strange thing is, I never get this, if I add the WMS without the limited extent.

Thanks for any help.

Toby

This isn’t my area of expertise, but this post should help explain what’s going on https://groups.google.com/d/msg/cesium-dev/MyuBy63l2XM/sR8I6CuRCxAJ

Yes I saw that, and I can understand that you’d hit limits with 6 layers. What I don’t get is why I get it with one and a limited extent, but not with one and not a limited extent. I will try and reproduce in one of the sandcastles and send some code…

T