Cesium学习_-着色器

着色器GLSL

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

明确一个定义,在 Primitive API 中应用着色器,实际上是给 Appearance 的 vertex- ShaderSource、fragmentShaderSource 或 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

相关推荐
sunshine22 girl1 小时前
Java学习六 Java常见API-2--String-3-字符串的截取替换和其他方法
java·开发语言·学习
sunshine22 girl2 小时前
Java学习六 Java常见API-1-Radom随机数
java·开发语言·学习
Answer1st3 小时前
【嵌入式学习】嵌入式原理知识-DMA(九)
学习
传奇开心果编程3 小时前
【ArkUI进阶练中学】第11课:安全与合规进阶
学习·ui·华为·harmonyos
Mr_Macallon5 小时前
C++回顾(基础)(01)
c语言·开发语言·c++·学习
sunoo-2296 小时前
【ARM嵌入式学习笔记第十天】i.MX6ULL eLCDIF控制器驱动RGB LCD全解析(硬件原理+寄存器配置+裸机代码)
arm开发·笔记·学习
kaiyou20267 小时前
用户研究岗秋招,统计分析能力怎么学习和证明?
数据库·python·学习
知识分享小能手7 小时前
C++ 学习教程,从入门到精通,string类和标准模板库 — 完整知识点详解(16)
开发语言·c++·学习
inferno8 小时前
SVN学习笔记(二)
笔记·学习·svn
传奇开心果编程8 小时前
【ArkUI进阶练中学】第12课:应用架构演进与遗留系统迁移
学习·ui·华为·harmonyos