Disposición sencilla del recorte de polígonos en el modelo de mosaico 3D de Cesium
Recientemente, el negocio de la empresa se ha ajustado y todo el negocio en cuestión se ha detenido. Solo queda el mantenimiento y no tiene sentido conservarlo. Mientras cambiaba de trabajo, resolví algunas cosas que había copiado, revisado y escrito antes. Si no está seguro de cuánto puede escribir, simplemente anótelo.
Ceisum tiene un clipPlane para recortar, pero no admite el recorte de polígonos. Se necesita mucho esfuerzo para admitir el recorte de polígonos.
Los principios fundamentales del recorte de polígonos:
1. Construir un polígono de recorte
2. Normalizar los puntos fijos del polígono construido a la parte local de; el modelo En el sistema de coordenadas, obtenga el rectángulo del modelo, regístrelo y transmítalo al chip shader;
3 Renderice el polígono a la textura construida, asigne el color del dibujo del polígono y asigne la textura al. patch shader;
Cuarto, pase el punto fijo obtenido del atributo al sombreador de chip en el sombreador de vértices, por ejemplo
GL _ Position = czm _ proyección * u _ modelViewMatrix * view pos ; //Matriz de proyección * matriz de vista del modelo * coordenadas de vértice
ViewPos.xyz en
5. En el sombreador de parches, juzgue según los vértices pasados en (4). el vértice está en el rectángulo de (2). Si es así, calcule las coordenadas uv de la textura del vértice en (3) y use textura2D (textura, uv) para obtener el valor de color del vértice actual. Si no está vacío, continúa; si está vacío, deséchalo y regresa.
A través de los pasos anteriores, se puede lograr el recorte del modelo con polígonos como límites.