Geometry is visible under globe's surface

Hello all,

My goal here is to draw a 3D dome on the surface of the globe.
To do that I'm drawing a sphere and put half of it under the surface. My problem here is that the hemisphere under the surface is not being occluded by the earth's surface.

Can you give me some clues on how can I achieve this, please?

My code (I also want the sphere's wireframe to be drawn):

height = -11000.0;
sphereModelMatrix = Cesium.Matrix4.multiplyByUniformScale(Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
        ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-98.0, 45.0))), new Cesium.Cartesian3(0.0, 0.0, height)), 90000.0);
        
    instances.push(new Cesium.GeometryInstance({
        geometry : sphereGeometry,
        modelMatrix : sphereModelMatrix,
        attributes : {
            color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromRandom({alpha : 0.5}))
        }
    }));
    outlineInstances.push(new Cesium.GeometryInstance({
        geometry : sphereOutlineGeometry,
        modelMatrix : sphereModelMatrix,
        attributes : {
            color : solidWhite
        }
    }));
   
    primitives.add(new Cesium.Primitive({
        geometryInstances : instances,
        appearance : new Cesium.PerInstanceColorAppearance({
            translucent : true,
            closed : true,
        })
    }));
    primitives.add(new Cesium.Primitive({
        geometryInstances : outlineInstances,
        appearance : new Cesium.PerInstanceColorAppearance({
            flat : true,
            renderState : {
                depthTest : {
                    enabled : true
                },
                lineWidth : Math.min(1.0, scene.getContext().getMaximumAliasedLineWidth())
            }
        })
    }));

Thank you

You could try to set

cesiumWidget.centralBody.depthTestAgainstTerrain = true;