Bootstrap

Cesium基础-(Primitive)

3、Primitive

Cesium 中 Primitive 的概念和组成部分:

1. 几何形状 (Geometry)

几何形状定义了一个 Primitive 的结构,它描述了要渲染的对象的形状。在 Cesium 中,Geometry 对象可以代表多种基本的 3D 形状,例如:

  • 三角形 (Triangle)
  • 线条 (Line)
  • 点 (Point)
  • 多边形 (Polygon)
  • 圆柱体 (Cylinder)
  • 球体 (Sphere)
  • 盒子 (Box)
  • 圆锥 (Cone)
  • 等等

这些几何形状可以通过顶点坐标和其他几何属性来定义。Geometry 对象通常是不可见的,它们只描述了顶点的位置和可能的其他属性,但不包含任何着色信息。

2. 外观 (Appearance)

外观定义了 Primitive 的着色方式。它包含了用于渲染几何形状的着色器程序(GLSL 代码)以及其他渲染状态,例如:

  • 顶点着色器 (Vertex Shader):负责处理顶点数据,如位置变换等。
  • 片段着色器 (Fragment Shader):决定像素的颜色,通常处理光照计算和纹理贴图。
  • 混合模式 (Blend Mode):如何将新绘制的像素与现有像素混合。
  • 深度测试 (Depth Test):是否启用深度测试以及如何处理深度比较。
  • 透明度 (Transparency):是否开启透明度,以及如何处理半透明对象。

优势

  • 性能:通过合并多个 Primitive 成一个更大的 Geometry,可以减少每次渲染调用时的 CPU 开销。这是因为每次 WebGL 渲染调用都会有一定的固定成本,包括上下文切换、状态更改等。合并 Primitive 可以显著降低这些成本。
  • 灵活性:由于 GeometryAppearance 分离,可以在不改变几何形状的情况下更改渲染样式,反之亦然。
  • 低级别访问:对于那些需要精细控制渲染流程的情况,可以直接编写 GLSL 着色器,这提供了极大的灵活性。
;