Red de conocimientos turísticos - Lugares de interés turístico - Disposición sencilla del recorte de polígonos en el modelo de mosaico 3D de Cesium

Disposición sencilla del recorte de polígonos en el modelo de mosaico 3D de Cesium

Han pasado casi tres años y he escrito cuatro artículos. Básicamente, no quiero escribir sobre cesio. Primero que nada, no tengo tiempo. En segundo lugar, soy muy vago. No he visto Cesium desde hace más de un año. Como máximo, simplemente preste atención al contenido actualizado del sitio web oficial. Realmente no hice el esfuerzo de aprender más sobre el cesio.

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.