3DTiles abnormal rendering

Hi,
I am new to Cesium and 3dtiles, and got a problem with rendering my model.
In my work, I want to reuse some of my *.gltf files, so I use a *.i3dm file as a reference of a *.gltf file, and I provided the POSITION, NORMAL_UP, NORMAL_RIGHT and SCALE_NON_UNIFORM in the feature table.
Part of the *.i3dm files are rendered quite well, however some of them will disappear in some viewing angles.
I simplified my 3dtiles into a single tile, which has the abnormal appearence that I metioned. It is attached. (POSITION=0,0,0; NORMAL_UP=0,0,-1;NORMAL_RIGHT =0,-1,0;SCALE_NON_UNIFORM =0.001,0.001,0.001)
And the abnormal rendering actually disappears in some lower version of Cesium, such as v1.96.
I’ll preciate if you can spend some time to help me figure it out.
Thanks.

abnormal.rar (3.8 KB)

Hi there,

Would you be able to pinpoint the version of CesiumJS which the abnormal rendering begins occurring? That will help us narrow down the cause.

Thanks!

Hi,

Thank you for your reply. I’ve tried some versions of CesiumJS, and v1.96 is the last version that can render the scene correctly. After that, begins from v1.97, things go wrong.

Best Regrads

Hi,
I want to show the reason that I want to update my CesiumJS version, which I think will help you to find out the cause.

Please download a simple gltf file (like a box here glTF-Sample-Models/2.0/Box/glTF at master · KhronosGroup/glTF-Sample-Models (github.com)).

"nodes": [
        {
            "children": [
                1
            ],
            "matrix": [
                1.0,
                0.0,
                0.0,
                0.0,
                0.0,
                0.0,
                -1.0,
                0.0,
                0.0,
                1.0,
                0.0,
                0.0,
                0.0,
                0.0,
                0.0,
                1.0
            ]
        },
        {
            "mesh": 0
        }
    ],

These are the nodes in the box gltf, it has a root node with a matrix, and a mesh node which contains the information of the box.

Change the matrix of the root to :

"matrix": [
                1.0,
                0.0,
                0.0,
                0.0,
                0.0,
                0.0,
                1.0,
                0.0,
                0.0,
                1.0,
                0.0,
                0.0,
                0.0,
                0.0,
                0.0,
                1.0
            ]

I remove the minus sign from the matrix, which will do a mirror transformation.

CesiumJS v1.96 can’t render this modified gltf correctly, the model rotate as my camera rotate. And it is fixed in v1.97.

Maybe you improved your algorithms of computing the matrix or the plane-normal or something else…