当前位置: 首页 > news >正文

glTF和glb格式与模型渲染,CesiumJS 中的 glTF 渲染系统以该类为核心

CesiumJS 中的 glTF 渲染系统以该类为核心,该类为加载和渲染 3D 资产提供了高层次的抽象。该系统支持 glTF 2.0 规范,包括多种压缩、元数据和实例化的扩展。该架构采用模块化的“流水线阶段”设计,将 glTF 组件转换为 GPU 可用的绘制命令。Model
模型架构
该类是3D资产的主要入口,无论是独立文件还是内嵌的图块。它通过场景图来协调加载过程,并管理视觉状态。ModelCesium3DTilesetGltfLoader
  • 模型:glTF资产的主要原语。它应通过以下方式构造Model.fromGltfAsync packages/engine/Source/Scene/Model/Model.js49-52
  • ModelSceneGraph:管理 glTF 中定义的节点、皮肤和动画的层级结构packages/engine/Source/Scene/Model/Model.js38
  • ModelRuntimePrimitive:表示单个可渲染单元(glTF 原语),并存储渲染所需的流水线阶段序列packages/engine/Source/Scene/Model/ModelRuntimePrimitive.js49-108
模型实体关系
下图展示了高层类与底层渲染原语及发送给 的命令之间的关系。ModelContext
 
资料来源:packages/engine/Source/Scene/Model/Model.js38 packages/engine/Source/Scene/Model/ModelRuntimePrimitive.js49-108 packages/engine/Source/Renderer/Context.js41-71
渲染流水线阶段
CesiumJS 采用解耦流水线架构处理 glTF 数据。每个配置一个列表ModelRuntimePrimitivepipelineStages packages/engine/Source/Scene/Model/ModelRuntimePrimitive.js98这些阶段负责更新着色器的源代码、统一和顶点属性。
艺名
目的
GeometryPipelineStage
处理基本顶点属性(位置、法线、tex坐标)packages/engine/Source/Scene/Model/ModelRuntimePrimitive.js16
MaterialPipelineStage
处理 glTF PBR(物理基渲染)材料packages/engine/Source/Scene/Model/ModelRuntimePrimitive.js19
FeatureIdPipelineStage
摘录功能包含用于拣选和样式的 IDpackages/engine/Source/Scene/Model/ModelRuntimePrimitive.js15
SkinningPipelineStage
为动画角色应用GPU蒙皮packages/engine/Source/Scene/Model/ModelRuntimePrimitive.js30
DequantizationPipelineStage
用于解压压缩顶点数据的句柄KHR_mesh_quantizationpackages/engine/Source/Scene/Model/ModelRuntimePrimitive.js12
有关具体阶段和绘制命令生成的详细信息,请参见模型流水线
着色器系统
模型着色器(和)通过从活跃流水线阶段拼接的片段动态生成。ModelVS.glslModelFS.glsl
  • 顶点着色器(ModelVS):处理坐标变换、变形、蒙皮以及将属性传递给片段着色器packages/engine/Source/Shaders/Model/ModelVS.glsl10-171
  • 片段着色器(ModelFS):处理材质、光照(PBR)和可见性效果,如裁剪平面packages/engine/Source/Shaders/Model/ModelFS.glsl43-155
着色器执行流程
下图展示了 glTF 片段着色器内的执行顺序。
 
资料来源:packages/engine/Source/Shaders/Model/ModelFS.glsl64-155
定制化与专业渲染
glTF 系统可扩展支持用户定义逻辑和专用数据格式:
  • 自定义着色器:用户可以通过 API 向模型流水线注入 GLSL 代码。这允许自定义程序纹理、顶点位移和材质覆盖。详情请参见自定义着色器CustomShader
  • 高斯Splats:通过扩展支持高保真基于点的渲染。详情请参见高斯散块KHR_gaussian_splatting
  • 全景:将全景影像和街景服务整合进场景。详情请参见全景和街景
选取与元数据
在 glTF 系统中,拨片由PickingPipelineStage packages/engine/Source/Scene/Model/ModelRuntimePrimitive.js24它会渲染独特的“选色”到PickFramebuffer packages/engine/Source/Scene/PickFramebuffer.js15-32系统还支持 ,允许着色器在EXT_structural_metadatametadataStage packages/engine/Source/Shaders/Model/ModelFS.glsl72-75
http://www.jsqmd.com/news/591106/

相关文章:

  • 春联生成模型快速入门:Anaconda虚拟环境配置全攻略
  • GSE高级宏编译器:解决魔兽世界技能循环难题的智能方案
  • 胡桃工具箱:原神玩家的全能桌面助手与数据管理神器
  • 3分钟终极指南:如何用KMS_VL_ALL_AIO一键激活Windows和Office全版本
  • Node.js后端集成InternLM2-Chat-1.8B:环境配置与API服务开发
  • 快速上手MedGemma-X:拖拽图片+自然提问,轻松生成结构化诊断报告
  • Wan2.2-I2V-A14B快速上手:10分钟完成首次图像生成
  • 如何在25分钟内完成700+飞书文档批量导出:终极自动化解决方案指南
  • OpenClaw+百川2-13B省钱方案:4bits量化模型降低AI助手运行成本
  • 效率提升实践:用快马生成可集成流水线的openclaw标准化卸载模块
  • Tao-8k企业级AI中台构建:基于开源模型的私有化解决方案
  • 分析成都别墅装修服务商性价比,成都欢乐佳园装饰费用多少钱? - 工业设备
  • ZLUDA终极指南:让非NVIDIA显卡也能运行CUDA程序的完整解决方案
  • 【2026年最新600套毕设项目分享】springboot大学生就业招聘系统(14334)
  • SEO_手把手教你完成网站SEO诊断与优化
  • 拯救旧iOS设备:Legacy iOS Kit让过时iPhone/iPad重获新生的完整指南
  • 如何用猫抓构建智能命名系统:5个提升文件管理效率的技巧
  • 5个效率倍增技巧:让Kazumi成为你的番剧追更得力助手
  • 告别手敲代码!用这个脚本轻松搞定头歌(EduCoder)实践平台的复制需求
  • UE5.3移动端项目卡成PPT?别慌,这份保姆级渲染优化清单请收好
  • FieldTrip完全指南:从数据采集到结果可视化的全流程解析
  • JPEGView:Windows上最快速的轻量级图像查看与编辑工具完全指南
  • Jimeng AI Studio Z-Image Turbo性能压测:并发生成请求处理能力实测
  • CUDA并行优化实战:从TopK问题剖析共享内存与规约算法设计
  • 3大核心优势:d2s-editor如何重塑暗黑破坏神2存档管理体验
  • AIGlasses_for_navigation完整指南:视障人群定制化方案部署与多场景适配
  • 微信聊天记录数据管理:WeChatMsg开源工具的完整应用指南
  • 3步掌控OmenSuperHub:解锁惠普游戏本隐藏性能的终极指南
  • GPU显存稳定性终极解决方案:memtest_vulkan专业诊断指南
  • 2025-2026年国内充电桩加盟品牌评测:五家口碑产品推荐评价 - 品牌推荐