gltf 2.0 中的着色器

gin*_*gin 3 gltf

我以前曾在 gltf 1.0 上工作,现在正在尝试更新我的应用程序以呈现 khronos 提供的 gltf2.0 示例模型。我知道着色器(glsl)和技术不再是 gltf 2.0 中核心属性的一部分。

所以我的问题是:

  1. 着色器信息现在是否与 .gltf 分开?我知道有 KHR_technique_webgl 扩展,它由技术和着色器属性组成(就像 gltf1.0 表示着色器一样),如果我们的材料不是 pbr,我们是否应该使用它?

  2. 渲染引擎现在如何从普通 .gltf 中获取着色器信息(没有扩展名)?我们是否像老派的方式那样做,即加载我们自己的着色器并手动将模型属性映射到着色器属性?

Don*_*rdy 5

KHR_technique_webgl扩展最终将完成,并将提供一种将自定义着色器包含在您的 glTF2.0 模型中的方法。但在撰写本文时,扩展尚未完全定义,工具无法实现它。

更一般的情况(如果它适合您的需要,建议使用)是使用 PBR 或 Blinn-Phong 材料。这些在 glTF 中被抽象地声明,因此渲染引擎可以为这些材质类型构建自己的着色器,并且通常会更好地与引擎自己的照明和/或阴影集成。