Migrating to version 102

When I use the 101 version, there is no problem

But when I upgraded to version 102, some problems occurred

The rendering face of the geometry is incorrect. I have to set the side of the material to THREE.BackSide

The geometry can now be rendered correctly, but the direction of the SpotLight light is completely reversed.

The top surface did not receive any lighting effects

20190906105407

20190906110012

I didn’t find the information I wanted about release log and Migration-Guide.

My map object and three camera sync code,
Change the camera’s matrix and projection matrix

        const map = this.getMap();
        this.camera.matrix.elements = map.cameraWorldMatrix;
        this.camera.projectionMatrix.elements = map.projMatrix;

Complete code repository: https://github.com/maptalks/maptalks.three

I need a help, thank you all.

I think your the following fix in R102 introduces your problem:

R102 changed the logic how front faces are detected. It seems that your camera contains a negative scaling which is not supported anymore (because the detection now relies on just the world matrix of an object and not the normal matrix which is based on the modelViewMatrix).

The best solution is to fix this.camera.matrix by avoiding a negative scaling (in other words: a respective determinant smaller than 0). Otherwise you have to live with workarounds.

More information here: https://github.com/mrdoob/three.js/pull/14379#issuecomment-468033780