Emphasisng specific colors in 3D tiles

I am looking for a way to emphasise specific colors (red colors for instance) in my 3D tiles. I do not have the ability to use batch table properties so I was looking for a way to do this using shaders, but with no success so far.
I would like to make the red colors bolder and the rest of the colors less visible (more opacity or greyer for example).
Thanks!

1 Like

There certainly are different options, and the details may depend on details of the intended behavior and application case. But one option would be to use a CustomShader that can basically perform arbitrary modifications to the colors, for 3D models and for tilesets. For example, a fragment shader with

        float r = material.diffuse.r;
        float g = material.diffuse.g;
        float b = material.diffuse.b;
        if (r > 0.4 && g > 0.4 && b > 0.4) {
          material.diffuse.r = 1.0;
          material.diffuse.g = 0.0;
          material.diffuse.b = 0.0;
        }

could be used to change any white/light gray color into ‘red’, as shown here:

Cesium Shader Colors

Here’s a sandcastle for this example:

@Marco13 Thanks allot for your response!
This example works with GLB models, but in my case I do not use a GLB but instead use simple 3D tiles and want to emphasis or “blur” these tiles based on each point’s color.

You can also assign a custom shader to a tileset. An example for this can be found in Cesium Sandcastle . If this does not help, it might be necessary to describe the requirements in more detail.