Cesium学习_-着色器

着色器GLSL

CesiumJS PrimitiveAPI 高级着色入门 - 从参数化几何与 Fabric 材质到着色器 - 下篇 - 知乎

明确一个定义,在 Primitive API 中应用着色器,实际上是给 Appearancevertex- ShaderSourcefragmentShaderSource Material 中的 fabric.source 设置着色器代码,它们所能控制的层级不太一样。但是他们的共同目的都是为了 Geometry 服务的,它们会随着 CesiumJS 的每帧 update 过程, 创建 ShaderProgram,创建 DrawCommand,最终去到 WebGL 的底层渲染中

Cesium图元(三角形)着色

Cesium中的三角形着色可以通过以下步骤实现:

  1. 创建三角形几何体:使用Cesium提供的几何体创建函数,如Cesium.Geometry.fromPositions(),传入三个顶点的位置信息创建一个三角形几何体。
  2. 创建顶点属性:使用Cesium.VertexFormat对象定义顶点属性,包括位置、法线、纹理坐标、颜色等。
  3. 创建顶点数组:根据顶点属性的定义,创建一个包含顶点数据的数组,每个顶点的数据按照属性的顺序排列。
  4. 创建渲染实例:使用Cesium.Primitive对象创建一个渲染实例,将几何体和顶点数组传入。
  5. 设置着色器:使用Cesium.ShaderSource对象定义顶点着色器和片元着色器的代码,可以在着色器中实现三角形的着色逻辑。
  6. 应用着色器:将着色器代码应用到渲染实例中,通过Cesium.Material对象设置着色器的属性,如颜色、纹理等。
  7. 渲染三角形:将渲染实例添加到Cesium的场景中,通过场景的渲染循环将三角形绘制到屏幕上。

https://www.cnblogs.com/wanghui2011/articles/11301622.html

https://www.cnblogs.com/onsummer/p/14212009.html

https://blog.51cto.com/u_15080020/4200536

相关推荐
好奇龙猫1 小时前
【人工智能学习-AI入试相关题目练习-第十六次】
人工智能·学习
啊我不会诶2 小时前
Codeforces Round 1071 (Div. 3) vp补题
开发语言·学习·算法
星火开发设计2 小时前
命名空间 namespace:解决命名冲突的利器
c语言·开发语言·c++·学习·算法·知识
强子感冒了2 小时前
CSS基础学习:CSS选择器与优先级规则
前端·css·学习
修己xj3 小时前
一月存档,二月加载
学习
蒸蒸yyyyzwd3 小时前
c网络编程学习笔记
c语言·网络·学习
驱动探索者3 小时前
linux hwspinlock 学习
linux·运维·学习
近津薪荼3 小时前
优选算法——滑动窗口1(单调性)
c++·学习·算法
齐鲁九零3 小时前
【AI推荐】推荐适合学英语的美剧
学习
lxl13073 小时前
学习C++(6)日期类的实现+取地址运算符重载
开发语言·c++·学习