glTF 2.0 KHR_gaussian_splatting 扩展完全指南:3D 高斯泼溅的标准存储与渲染

发布时间:2026/10/6 7:28:37
glTF 2.0 KHR_gaussian_splatting 扩展完全指南:3D 高斯泼溅的标准存储与渲染 图形学【免费下载链接】glTFglTF – Runtime 3D Asset Delivery项目地址https://gitcode.com/gh_mirrors/gl/glTF点击查看免费下载KHR_gaussian_splatting 是 Khronos Group 官方批准Ratified的 glTF 2.0 扩展它为在 glTF 资产中存储 3D 高斯泼溅3D Gaussian Splatting数据定义了统一规范将高斯泼溅场以点基元point primitive的形式接入 glTF 生态。读完本文你将掌握该扩展的属性语义、Ellipse 内核的渲染数学协方差重建、透视投影、球谐光照与 alpha 合成、回退行为以及如何在其基础上定义扩展从而能够在自己的渲染器、导出器或训练管线中实现或消费这一标准格式。文中所有结论均基于 KHR_gaussian_splatting 扩展规范 及其 JSON Schema 源码。扩展概览与设计目标3D 高斯泼溅技术使用高斯函数场表示场景从存储角度看这一高斯场可以被当作点云来处理。KHR_gaussian_splatting 扩展正是利用这一特性将每个 3D 高斯泼溅定义为由以下要素构成的实体位置position旋转rotation缩放scale不透明度opacity球谐系数spherical harmonics——同时提供漫反射diffuse与镜面反射specular颜色这些值全部作为点基元point primitive上的属性存储。由于扩展将高斯泼溅视为点基元因此当渲染器不支持该扩展时可以**优雅降级graceful fallback**为将数据渲染为稀疏点云这也构成了本扩展的兼容性基石。本扩展的关键设计目标是为 3D 高斯泼溅接入 glTF 资产奠定稳固基础同时刻意设计为可被自身扩展随着 3D 高斯泼溅技术演进未来的扩展可以在不修改基础扩展的情况下引入新的内核类型kernel types、色彩空间color spaces、投影方法projection methods和排序方法sorting methods使其逐步成为 glTF 生态内的标准。在 glTF 扩展前缀规范 中KHR前缀保留给 Khronos Group 已批准或计划批准的扩展本扩展即属此类。在 Mesh Primitive 上使用扩展当某个 mesh primitive 的extensions属性中包含KHR_gaussian_splatting时即向客户端渲染器表明该基元 SHOULD 被当作 3D 高斯泼溅场处理。依赖本扩展的其他扩展例如 3D 高斯泼溅压缩扩展MAY 要求本扩展被列入 glTF 顶层的extensionsRequired数组以确保不支持本扩展的渲染器不会错误渲染数据。扩展对象包含以下四个属性属性类型说明必填kernelstring用于生成高斯的内核类型。是colorSpacestring重建颜色值所处的色彩空间。是projectionstring渲染高斯时使用的投影方法。否默认perspectivesortingMethodstring渲染高斯时使用的排序方法。否默认cameraDistance上述必填项与默认值可以从 Schema 源码 中得到直接印证required: [colorSpace, kernel]且projection与sortingMethod两个属性各自声明了default值。此外Schema 中对四个属性均采用anyOf结构先匹配预定义的const取值如ellipse、srgb_rec709_display、perspective、cameraDistance否则接受任意字符串——这正是为未来扩展可新增取值预留的合法化通道。kernel内核类型高斯泼溅可以具有多种形状且这种形状可能随时间演进。kernel是必填属性它定义一个确切的 Gaussian 类型即其形状、属性、预期渲染技术以及与基础 glTF 特性的交互方式。本扩展仅定义一种内核类型ellipse一种 2D 椭圆内核用于投影三维空间中的椭球形状。其他内核类型可随时间推移由定义替代定义的扩展补充见下文 扩展基础扩展 与 Ellipse 内核详解。colorSpace色彩空间colorSpace是必填属性指定重建的 3D 高斯泼溅颜色值所处的色彩空间通常由泼溅的训练过程决定。该值仅作用于 3D 高斯泼溅数据不影响 glTF 中任何其他颜色数据。除非其他扩展另行规定此色彩空间信息针对的是重建后的泼溅颜色值因此所有中间渲染步骤包括但不限于 alpha 混合MUST 在色彩色域或传递函数转换之前完成。本扩展定义的可选色彩空间如下色彩空间说明srgb_rec709_displayBT.709 sRGB显示参考display-referred色彩空间。lin_rec709_displayBT.709 线性显示参考色彩空间。[!NOTE] 这些字符串值遵循 ASWF 色彩互操作论坛Color Interoperability Forum, CIF推荐的色彩空间标识模式Display Color Spaces 建议。更多取值可通过扩展随时间补充。projection投影方法projection是可选属性指定高斯如何被投影到内核形状上通常由泼溅的训练过程提供。该属性被设计为未来可扩展随着社区标准化新的投影方式而演进。本基础扩展仅定义一种投影方法perspective透视投影这也是其默认值。sortingMethod排序方法sortingMethod是可选属性指定渲染过程中高斯粒子particles的排序方式通常由泼溅的训练过程提供。该属性同样被设计为可扩展。本基础扩展仅定义一种排序方法cameraDistance相机距离即默认值。此方法基于从泼溅到相机原点观察者位置的向量长度对泼溅进行排序详见下文 Splat 合成。Ellipse 内核详解Ellipse2D 椭圆内核类型将 3D 高斯泼溅表示为椭球形状。对 glTF 的依赖使用 Ellipse 内核时基元需满足以下约束mesh primitive 的mode属性 MUST 为POINTS0。除非其他高斯泼溅扩展另行规定基元引用的 glTF 材质若存在在泼溅渲染中 MUST 被忽略。[!NOTE] 若本扩展不被支持实现方将遵循基础 glTF 规范将泼溅基元渲染为点云此时引用的 glTF 材质会被正常使用。包含泼溅基元的 mesh 所属节点的全局变换矩阵 SHOULD 满足以下全部条件最后一行是 $(0, 0, 0, 1)$基础 glTF 规范已隐式强制。前三列的列长度均为有限的正数。将每个矩阵元素除以其所在列的长度后所得左上角 3x3 矩阵的行列式接近正一。这些规则确保变换矩阵可分解为常规的平移、旋转与正缩放。使用不可分解的变换矩阵或负缩放值进行泼溅渲染是未定义行为undefined。用于泼溅渲染的相机 SHOULD 使用透视投影使用非透视投影进行泼溅渲染同样是未定义行为。属性定义Ellipse 内核为 mesh primitive 定义以下属性规范原文见文档Attributes小节泼溅数据属性语义Attribute SemanticAccessor 类型分量类型必填位置POSITIONVEC3继承自 glTF 规范是旋转KHR_gaussian_splatting:ROTATIONVEC4float、signed bytenormalized、signed shortnormalized是缩放KHR_gaussian_splatting:SCALEVEC3float、unsigned byte、unsigned bytenormalized、unsigned short、unsigned shortnormalized是不透明度KHR_gaussian_splatting:OPACITYSCALARfloat、unsigned bytenormalized、unsigned shortnormalized是球谐 0 阶KHR_gaussian_splatting:SH_DEGREE_0_COEF_0VEC3float是球谐 1 阶KHR_gaussian_splatting:SH_DEGREE_1_COEF_[0-2]VEC3float否若使用 2、3 阶则为是球谐 2 阶KHR_gaussian_splatting:SH_DEGREE_2_COEF_[0-4]VEC3float否若使用 3 阶则为是球谐 3 阶KHR_gaussian_splatting:SH_DEGREE_3_COEF_[0-6]VEC3float否各属性的语义说明均值向量mean由基元的POSITION提供定义高斯泼溅椭球在局部空间的中心。高斯泼溅的有效全局均值向量由POSITION属性值与实例化该 mesh 的 glTF 节点的全局变换矩阵按 glTF 规范定义共同推导得出。缩放SCALE属性值对应高斯沿其局部主轴的散布范围。缩放值是线性的且 MUST 不为负。旋转ROTATION属性值对应那些轴在局部空间中的朝向以单位四元数按常规 glTF 顺序存储。[!NOTE] 这保证了渲染器可以直接使用四元数值而无需重新归一化。有效协方差矩阵由ROTATION、SCALE属性与实例化 mesh 的 glTF 节点的有效变换矩阵推导得出推导公式见下文 Splat 重建。不透明度OPACITY存储归一化的线性值范围 $[0.0, 1.0]$0.0 表示透明、1.0 表示不透明。超出范围的值无效。[!NOTE] 训练过程中应用的 sigmoid 激活函数可确保该值保持在有效范围内从而保证渲染器可以直接使用存储的不透明度进行 alpha 混合无需任何额外处理。球谐属性KHR_gaussian_splatting:SH_DEGREE_0_COEF_0属性语义提供球谐的漫反射分量系数。0 阶球谐系数始终必填。KHR_gaussian_splatting:SH_DEGREE_l_COEF_n$l 0$保存更高阶球谐数据使用更高阶球谐时所有更低阶 MUST 同时定义。每递增一个球谐阶数都需要更多系数1 阶需要 3 组系数2 阶增加到 5 组3 阶增加到 7 组。三阶全部使用共需45 个球谐系数存储于SH_DEGREE_l_COEF_n属性中。属性按每阶从最低阶数 $m$ 到最高阶数打包。例如SH_DEGREE_1_COEF_0提供 $m -1$ 系数SH_DEGREE_1_COEF_1提供 $m 0$ 系数SH_DEGREE_1_COEF_2提供 $m 1$ 系数。每个系数包含三个值分别对应球谐的红、绿、蓝通道。球谐阶数不允许部分定义即某一阶及其所有更低阶的系数要么全部定义要么全部不定义。Ellipse 内核渲染流程要渲染一个 3D 高斯泼溅场渲染器使用与训练时相同的**前向传播算法forward pass**重建每个高斯泼溅将其投影到 2D 平面计算颜色再与其他泼溅合成。本内核假设正确的渲染采用3σ 截断Mahalanobis 距离 3 个单位。[!NOTE] 这正是原始论文 3D Gaussian Splatting for Real-Time Radiance Field Rendering 所使用的形状。本扩展的渲染模型与之保持一致。Splat 重建每个高斯泼溅表示一个 3D 高斯由如下方程定义G(x) \exp\left(-\frac{1}{2}(x-\mu)^T \Sigma^{-1} (x-\mu)\right)其中$G(x)$ 是位置 $x$ 处的高斯值。$x$ 是 3D 位置向量。$\mu$ 是均值向量表示高斯的中心。$\Sigma$ 是 3x3 协方差矩阵定义高斯的大小、形状与朝向。第一步将泼溅的缩放与旋转属性结合包含该泼溅基元的 glTF 节点的全局变换矩阵合成 3x3 协方差矩阵。3x3 的 3D 协方差矩阵 $\Sigma$ 按如下方式构造\Sigma \mathbf{M}\mathbf{C}\mathbf{C}^T\mathbf{M}^T其中$\mathbf{M}$ 是节点全局变换矩阵的 3x3 左上子矩阵$\mathbf{C}$ 是由泼溅的缩放与旋转属性组成的 3x3 矩阵定义如下$s_x, s_y, s_z$ 为三个缩放分量$q_w, q_x, q_y, q_z$ 为四元数分量\mathbf{C} \begin{pmatrix} s_x (1 - 2(q_y^2 q_z^2)) s_y (2(q_x q_y - q_w q_z)) s_z (2(q_x q_z q_w q_y)) \\ s_x (2(q_x q_y q_w q_z)) s_y (1 - 2(q_x^2 q_z^2)) s_z (2(q_y q_z - q_w q_x)) \\ s_x (2(q_x q_z - q_w q_y)) s_y (2(q_y q_z q_w q_x)) s_z (1 - 2(q_x^2 q_y^2)) \end{pmatrix}Splat 投影第二步基于相机的透视变换将每个泼溅投影到 2D 内核形状上。这包括投影泼溅的均值向量使用常规透视投影数学并将 3D 协方差矩阵 $\Sigma$ 变换为图像平面上的 2D 协方差矩阵 $\Sigma$该矩阵表示高斯在图像平面上的形状。协方差矩阵变换采用仿射近似affine approximation\Sigma \mathbf{J}\mathbf{W}\Sigma\mathbf{W}^T\mathbf{J}^T其中$\mathbf{W}$ 是执行从全局空间到相机空间的视相关变换的 3x3 矩阵通常是相机视图变换的 3x3 左上子矩阵。$\mathbf{J}$ 是透视投影变换函数含透视除法的雅可比矩阵Jacobian matrix该矩阵通常包含相机的焦距以及泼溅的 3D 均值向量经相机视图变换矩阵旋转与平移变换后的结果。[!NOTE] 由于视图矩阵与透视投影矩阵的构造细节是**实现特定implementation-specific**的本规范不提供 $\mathbf{W}$ 与 $\mathbf{J}$ 的形式化定义。Splat 光照每个泼溅的颜色由其球谐系数与归一化视线方向全局空间中从相机位置指向泼溅均值的向量计算得出详见下文 光照模型与球谐颜色计算。出于性能考虑实现方 MAY 忽略高阶系数。球谐系数 SHOULD 经实例化该 mesh 的 glTF 节点的全局变换矩阵的旋转分量进行变换。[!NOTE] 该变换通常使用 Wigner-D 矩阵完成。Splat 合成在上述步骤之后泼溅被排序并进行 alpha 混合以生成最终图像。alpha 混合是顺序相关的order-dependent因此正确的排序对准确渲染至关重要。排序基于相机位置与泼溅全局空间均值向量之间的距离按该深度值**从后到前back-to-front排序通常使用基数排序radix sort**以保证性能排序方法详见上文 sortingMethod。排序完成后每个像素的最终颜色通过在排序顺序上对泼溅进行 alpha 混合计算混合方程定义为C \sum_{i \in \mathscr{N}} c_i \alpha_i \prod_{j1}^{i-1} (1 - \alpha_j)其中$C$ 是像素的最终颜色。该值 MUST 以实现特定的方式被钳制clamp或色调映射tonemap以适配泼溅的色彩空间。$\mathscr{N}$ 是对该像素有贡献的泼溅集合。$c_i$ 是第 $i$ 个高斯的颜色。除非其他扩展另行规定负的 $c_i$ 值 MUST 被钳制为零。$\alpha_i \alpha \cdot G(x)$其中 $G(x)$ 是投影后 2D 高斯的概率密度函数在像素中心 $x$ 处的值$\alpha$ 是泼溅的不透明度属性值。$\prod_{j1}^{i-1} (1 - \alpha_j)$ 是累计透射率accumulated transmittance。[!NOTE] 在光栅化器实现中透射率通常由 GPU 的混合硬件处理。由于泼溅合成中间结果并未显式限制在任何范围内混合应使用浮点颜色缓冲格式执行——这更贴近原始论文的设计。当因性能或内存原因改用归一化颜色缓冲格式时应使用预乘 alphaalpha-premultiplied值进行混合将 $c_i \alpha_i$ 乘积传给混合单元并将源混合因子设为 1。这种方式虽然仍有损但相比分别传递颜色与 alpha 值能减少范围钳制。若使用无符号归一化unsigned normalized颜色缓冲$c_i 0$ 与 $C 1$ 的钳制会自动发生。光照模型与球谐颜色计算本扩展通过**实球谐real spherical harmonics**定义 3D 高斯泼溅光照。对应属性为每个泼溅存储球谐系数。0 阶球谐系数始终必填更高阶可选。每个颜色通道有独立的系数因此对于每一阶 $l$有 $(2l 1)$ 个系数每个系数包含对红、绿、蓝颜色分量的贡献。这些规则 MAY 被未来定义替代光照方法的扩展放宽或由对压缩有特定需求的扩展放宽例如压缩方法将漫反射颜色分量存储为线性颜色值而非 0 阶系数时。图像状态与重光照**图像状态image state**由 ISO 22028-1:2016 定义指示图像数据的渲染状态显示参考display-referredISO 22028-1:2016 中亦称 output-referred图像状态数据已进行了适合显示的色彩渲染。**场景参考scene-referred**图像状态数据表示场景的实际辐射度。本规范定义的 Ellipse 内核在训练与渲染中使用显示参考图像状态这与 KHR_materials_unlit 扩展描述的材质模型类似即glTF 场景光照、曝光设置与色调映射通常不影响渲染出的泼溅。尽管如此实现方仍可对泼溅进行重光照relight例如模拟阴影或附加光源或为与训练环境不同的环境调整渲染结果。这自然可能导致与原始结果存在视觉差异。从球谐计算颜色颜色与镜面反射使用带Condon–Shortley 相位的实球谐计算。3D 高斯泼溅最多可使用 45 个球谐系数每个系数被拆分为 3 个颜色通道因此每一阶的系数总数为SH_{n} \times 3 SH_{total}其中 $SH_{n}$ 表示第 $n$ 阶的系数个数0 阶 3 个、1 阶 9 个、2 阶 15 个、3 阶 21 个。泼溅的漫反射颜色可由 0 阶实球谐的 RGB 系数乘以归一化常数 $\approx0.282095$ 计算。该常数源自 0 阶 0 次实球谐的公式Y_{0,0}(θ, φ) \frac{1}{2} \sqrt{\frac{1}{π}} ≈ 0.282095为使球谐保持在 $[0, 1]$ 范围内训练过程的前向传播会对球谐的 0 阶分量施加0.5 偏置bias渲染过程在从球谐重建颜色时也应用该偏置。这使训练能够围绕 0 进行保证球谐的数值稳定性同时让系数保持在便于渲染的有效范围内。因此仅使用 0 阶分量计算漫反射 RGB 颜色的公式为Color_{diffuse} SH_{0,0} * 0.2820947917738781 0.5其中 $SH_{0,0}$ 表示 0 阶实球谐的 RGB 系数向量。Condon–Shortley 相位是某些球谐定义中包含的 $(-1)^m$ 符号因子用于保持其代数与归一化性质的一致性。该约定确保球谐正交且在旋转下行为良好。按此定义奇数阶数$m$被取负因此 2 阶与 3 阶的部分常数带负号。更高阶球谐用于计算更复杂的光照效果如环境光遮蔽与镜面高光基于表面法线与光线方向在合适角度处求值球谐。例如1 阶函数为\begin{aligned} Y_{1,-1}(θ, φ) -\sqrt{\frac{3}{4\pi}} \cdot \frac{y}{r}\\ Y_{1,0}(θ, φ) \sqrt{\frac{3}{4\pi}} \cdot \frac{z}{r}\\ Y_{1,1}(θ, φ) -\sqrt{\frac{3}{4\pi}} \cdot \frac{x}{r}\\ \end{aligned}所有球谐函数与常量含 Condon–Shortley 相位的完整列表见 附录 A球谐参考。上述函数中$r$ 表示位置向量的大小$r \sqrt{x^2 y^2 z^2}$。在 3D 高斯泼溅中归一化确保方向向量为单位向量因此在光照计算中对球谐求值时 $r$ 等于 $1$。将各阶函数与 0 阶分量结合即可计算高斯完整颜色\begin{aligned} Color_{SH_{0}} \,SH_{0,0} \cdot 0.2820947917738781\\\\ Color_{SH_{1}} \,SH_{1,-1} \cdot y \cdot -0.4886025119029199\,\\ SH_{1,0} \cdot z \cdot 0.4886025119029199\,\\ SH_{1,1} \cdot x \cdot -0.4886025119029199\\\\ Color_{SH_{2}} \,SH_{2,-2} \cdot xy \cdot 1.092548430592079\,\\ SH_{2,-1} \cdot yz \cdot -1.092548430592079\,\\ SH_{2,0} \cdot (2z^2 - x^2 - y^2) \cdot 0.3153915652525200\,\\ SH_{2,1} \cdot xz \cdot -1.092548430592079\,\\ SH_{2,2} \cdot (x^2 - y^2) \cdot 0.5462742152960395\\\\ Color_{SH_{3}} \,SH_{3,-3} \cdot y(3x^2 - y^2) \cdot -0.5900435899266435\,\\ SH_{3,-2} \cdot xyz \cdot 2.890611442640554\,\\ SH_{3,-1} \cdot y(4z^2 - x^2 - y^2) \cdot -0.4570457994644657\,\\ SH_{3,0} \cdot z(2z^2 - 3x^2 - 3y^2) \cdot 0.3731763325901154\,\\ SH_{3,1} \cdot x(4z^2 - x^2 - y^2) \cdot -0.4570457994644657\,\\ SH_{3,2} \cdot z(x^2 - y^2) \cdot 1.445305721320277\,\\ SH_{3,3} \cdot x(x^2 - 3y^2) \cdot -0.5900435899266435\\\\ Color_{final} \,Color_{SH_{0}} Color_{SH_{1}} Color_{SH_{2}} Color_{SH_{3}} 0.5 \end{aligned}其中 $SH_{l,m}$ 表示特定阶$l$与次$m$的 RGB 球谐系数$x$、$y$、$z$ 表示方向向量的独立分量。0 阶球谐始终必填以确保漫反射颜色可被准确重建更高阶球谐可选。若使用更高阶球谐则必须同时提供更低阶球谐。每一阶球谐 MUST 被完整定义不允许部分定义。扩展本扩展的扩展 MAY 定义替代光照方法、对压缩处理提出特定要求或定义不同的球谐处理方式。[!NOTE] 对于训练软件与导出器当目标是 glTF 时建议在glTF 坐标系内训练高斯可参考基础 glTF 2.0 规范的坐标系与单位章节见 规范目录。否则当把其他坐标系中预训练的数据转换到 glTF 坐标系时位置、四元数与球谐在加载时都必须被旋转。glTF JSON 示例以下是一个部分 glTF JSON 示例包含可选属性与属性attribute{ meshes: [{ primitives: [{ attributes: { POSITION: 0, COLOR_0: 1, KHR_gaussian_splatting:SCALE: 2, KHR_gaussian_splatting:ROTATION: 3, KHR_gaussian_splatting:OPACITY: 4, KHR_gaussian_splatting:SH_DEGREE_0_COEF_0: 5, KHR_gaussian_splatting:SH_DEGREE_1_COEF_0: 6, KHR_gaussian_splatting:SH_DEGREE_1_COEF_1: 7, KHR_gaussian_splatting:SH_DEGREE_1_COEF_2: 8 }, mode: 0, extensions: { KHR_gaussian_splatting: { kernel: ellipse, colorSpace: srgb_rec709_display, sortingMethod: cameraDistance, projection: perspective } } }] }] }要点说明mode: 0对应POINTS是 Ellipse 内核的强制要求。attributes中的键即上文 属性定义 中的语义名值为对应 accessor 的索引本例还通过COLOR_0提供了回退用漫反射颜色见下文。扩展对象同时给出了必填的kernel、colorSpace与可选的sortingMethod、projection此处显式写出默认值也可省略后两项。回退行为为支持回退功能基础 glTF 规范的COLOR_0属性语义 MAY 被用来提供 3D 高斯泼溅的漫反射颜色使渲染器在不支持 3D 高斯泼溅时能为稀疏点云中的点着色。COLOR_0的值通过将 3D 高斯泼溅的 3 个漫反射颜色分量与 0 阶球谐常数$l 0$相乘得出其 alpha 通道 SHOULD 包含泼溅的不透明度。[!NOTE] 若色彩空间为srgb_rec709_display或lin_rec709_display适用于COLOR_0回退的 Ellipse 内核漫反射颜色可从KHR_gaussian_splatting:SH_DEGREE_0_COEF_0属性计算得到将每个 RGB 分量乘以球谐常数值0.282095加上0.5并将和钳制到 $[0, 1]$ 范围若色彩空间为srgb_rec709_display还需将钳制后的值从 sRGB 解码为线性因为按 glTF 规范COLOR_0属性包含的是线性值。扩展基础扩展3D 高斯泼溅是一项不断演进的技术新方法与技术层出不穷。为在 glTF 中为 3D 高斯泼溅提供稳固基础同时允许未来成长与创新本扩展被设计为可扩展extensible新的内核类型、色彩空间、投影方法与排序方法可随时间添加而无需修改基础扩展。扩展编写规则扩展 MAY 按需定义附加属性或自定义属性属性语义 SHOULD 以其扩展名前缀开头以避免命名冲突。扩展 MAY 为kernel、colorSpace、projection、sortingMethod定义新取值。自定义属性 SHOULD 被包含在新扩展对象的**主体body**中。[!NOTE] 两个属性可通过引用相同的 accessor 索引共享数据这可用于优化数据存储。对 3D 高斯泼溅数据做压缩的扩展 SHOULD 扩展本基础扩展以保证兼容压缩扩展 SHOULD 定义数据如何解码回本扩展定义的基础 3D 高斯泼溅格式但 MAY 也允许针对其压缩方法的优化例如直接将纹理或其他数据传给 GPU 解码。要使用扩展KHR_gaussian_splatting的扩展该扩展 MUST 被包含在KHR_gaussian_splatting扩展对象的extensions属性中且新扩展 MUST 被列入 glTF 顶层的extensionsUsed。鼓励扩展作者为不认识新扩展的渲染器定义回退行为非强制若无法回退新扩展 SHOULD 同时列入extensionsRequired以确保不支持该扩展的渲染器不会错误渲染数据。从 Schema 源码 可以印证Schema 本身保留了extensions: {}与extras: {}字段以承接嵌套扩展对象anyOf分支中的兜底type: string为新增取值开放了通道。示例添加新的内核类型本小节为非规范non-normative说明。要添加新的内核类型应定义一个扩展KHR_gaussian_splatting的新扩展由新扩展定义新内核类型及其所需参数。识别新内核类型的渲染器即可使用新扩展中的参数正确渲染泼溅不识别新内核类型的渲染器应回退到默认的ellipse类型。例如可定义一个扩展EXT_gaussian_splatting_kernel_customShape添加带额外参数的新内核类型customShapemeshes: [{ primitives: [{ // ...此处省略... extensions: { KHR_gaussian_splatting: { kernel: customShape, extensions: { EXT_gaussian_splatting_kernel_customShape: { customParameter1: 1.0, customParameter2: [0.0, 1.0, 0.0] } } }, } }] }]若新内核类型需要附加属性这些属性应在新扩展中定义并使用唯一语义名以避免冲突meshes: [{ primitives: [{ attributes: { POSITION: 0, KHR_gaussian_splatting:SCALE: 1, KHR_gaussian_splatting:ROTATION: 2, EXT_gaussian_splatting_kernel_customShape:CUSTOM_ATTRIBUTE: 3 }, // ...此处省略... extensions: { KHR_gaussian_splatting: { kernel: customShape, extensions: { EXT_gaussian_splatting_kernel_customShape: { customParameter1: 1.0 } } } } }] }]新扩展还必须被列入 glTF 顶层的extensionsUsedextensionsUsed : [ KHR_gaussian_splatting, EXT_gaussian_splatting_kernel_customShape ]附录 A球谐参考本附录为非规范内容仅供参考。实球谐基函数0 至 3 阶笛卡尔坐标表示包含 Condon–Shortley 相位 $(-1)^m$。\textbf{Degree 0, l 0}\\ \begin{aligned} Y_{0,0}(θ, φ) \frac{1}{2} \sqrt{\frac{1}{\pi}}\\\\ \end{aligned}\textbf{Degree 1, l 1}\\ \begin{aligned} Y_{1,-1}(θ, φ) -\sqrt{\frac{3}{4\pi}} \cdot \frac{y}{r}\\ Y_{1,0}(θ, φ) \sqrt{\frac{3}{4\pi}} \cdot \frac{z}{r}\\ Y_{1,1}(θ, φ) -\sqrt{\frac{3}{4\pi}} \cdot \frac{x}{r}\\\\ \end{aligned}\textbf{Degree 2, l 2}\\ \begin{aligned} Y_{2,-2}(θ, φ) \frac{1}{2} \sqrt{\frac{15}{\pi}} \cdot \frac{xy}{r^2}\\ Y_{2,-1}(θ, φ) -\frac{1}{2} \sqrt{\frac{15}{\pi}} \cdot -\frac{yz}{r^2}\\ Y_{2,0}(θ, φ) \frac{1}{4} \sqrt{\frac{5}{\pi}} \cdot \frac{3z^2 - r^2}{r^2}\\ Y_{2,1}(θ, φ) -\frac{1}{2} \sqrt{\frac{15}{\pi}} \cdot -\frac{xz}{r^2}\\ Y_{2,2}(θ, φ) \frac{1}{4} \sqrt{\frac{15}{\pi}} \cdot \frac{x^2 - y^2}{r^2}\\\\ \end{aligned}\textbf{Degree 3, l 3}\\ \begin{aligned} Y_{3,-3}(θ, φ) -\frac{1}{4} \sqrt{\frac{35}{2\pi}} \cdot \frac{y(3x^2 - y^2)}{r^3}\\ Y_{3,-2}(θ, φ) \frac{1}{2} \sqrt{\frac{105}{\pi}} \cdot \frac{xyz}{r^3}\\ Y_{3,-1}(θ, φ) -\frac{1}{4} \sqrt{\frac{21}{2\pi}} \cdot \frac{y(5z^2 - r^2)}{r^3}\\ Y_{3,0}(θ, φ) \frac{1}{4} \sqrt{\frac{7}{\pi}} \cdot \frac{z(5z^2 - 3r^2)}{r^3}\\ Y_{3,1}(θ, φ) -\frac{1}{4} \sqrt{\frac{21}{2\pi}} \cdot \frac{x(5z^2 - r^2)}{r^3}\\ Y_{3,2}(θ, φ) \frac{1}{4} \sqrt{\frac{105}{\pi}} \cdot \frac{z(x^2 - y^2)}{r^3}\\ Y_{3,3}(θ, φ) -\frac{1}{4} \sqrt{\frac{35}{2\pi}} \cdot \frac{x(x^2 - 3y^2)}{r^3}\\ \end{aligned}常量表用于表达式近似常量$Y_{0,0}(θ, φ)$$\frac{1}{2} \sqrt{\frac{1}{\pi}}$$0.2820947917738781$$Y_{1,-1}(θ, φ)$、$Y_{1,1}(θ, φ)$$\sqrt{\frac{3}{4\pi}}$$-0.4886025119029199$$Y_{1,0}(θ, φ)$$\sqrt{\frac{3}{4\pi}}$$0.4886025119029199$$Y_{2,-2}(θ, φ)$$\frac{1}{2} \sqrt{\frac{15}{\pi}}$$1.092548430592079$$Y_{2,-1}(θ, φ)$、$Y_{2,1}(θ, φ)$$-\frac{1}{2} \sqrt{\frac{15}{\pi}}$$-1.092548430592079$$Y_{2,0}(θ, φ)$$\frac{1}{4} \sqrt{\frac{5}{\pi}}$$0.3153915652525200$$Y_{2,2}(θ, φ)$$\frac{1}{4} \sqrt{\frac{15}{\pi}}$$0.5462742152960395$$Y_{3,-3}(θ, φ)$、$Y_{3,3}(θ, φ)$$-\frac{1}{4} \sqrt{\frac{35}{2\pi}}$$-0.5900435899266435$$Y_{3,-2}(θ, φ)$、$Y_{3,2}(θ, φ)$$\frac{1}{2} \sqrt{\frac{105}{\pi}}$$2.890611442640554$$Y_{3,-1}(θ, φ)$、$Y_{3,1}(θ, φ)$$-\frac{1}{4} \sqrt{\frac{21}{2\pi}}$$-0.4570457994644657$$Y_{3,0}(θ, φ)$$\frac{1}{4} \sqrt{\frac{7}{\pi}}$$0.3731763325901154$$Y_{3,2}(θ, φ)$$\frac{1}{4} \sqrt{\frac{105}{\pi}}$$1.445305721320277$已知实现本小节为非规范内容仅供参考。规范文档中列出的已知实现包括CesiumJSCesium 官方 JavaScript 引擎Cesium NativeCesium 原生 C 引擎JSplatJava 实现的泼溅查看器3dgs_ply2gltfHuawei 出品的 PLY 格式 3D 高斯泼溅转 glTF 导出工具这些实现从渲染器与导出器两侧验证了本扩展的可用性实现方亦可参考 glTF 2.0 基础规范 与 KHR_materials_unlit 扩展其图像状态模型与本扩展一致并对照 Schema 定义 校验自己的资产与实现。赞分享图形学【免费下载链接】glTFglTF – Runtime 3D Asset Delivery项目地址https://gitcode.com/gh_mirrors/gl/glTF点击查看免费下载相关推荐XV3DGS-UEPluginUE5高斯泼溅渲染完整指南XV3DGS UEPluginUE5高斯泼溅渲染完整指南 想要在Unreal Engine 5中实现惊艳的3D重建效果吗XV3DGS UEPlugin这款高图形学3D渲染计算机视觉深度学习3D高斯泼溅渲染插件虚幻引擎5实时渲染技术完全指南3D高斯泼溅渲染插件虚幻引擎5实时渲染技术完全指南 想要将普通视频瞬间转化为惊艳的3D场景吗XV3DGS UEPlugin基于前沿的3D高斯泼溅技术为你带图形学3D渲染计算机视觉深度学习Unity高斯泼溅技术完全指南从零开始掌握实时3D渲染传统3D渲染技术在处理大规模点云数据时常常面临性能瓶颈和存储压力。Unity Gaussian Splatting项目基于SIGGRAPH 2023的突破性研究图形学3D渲染上一篇TanStack TablePreactTable Context 完全指南Context 提供机制、类型安全 Hook 与嵌套表格隔离方案下一篇告别卡顿Helix tree-sitter语法高亮让代码阅读速度提升300%创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询