📄️ BindGroupDesc
用于创建 GPUBindGroup 的描述符。布局的 groupIndex
📄️ BindGroupLayoutDesc
用于创建 GPUBindGroupLayout 的描述符。始终从着色器派生——
📄️ BlendFactor
用于源/目标颜色和 alpha 的混合因子(WebGPU 规范字符串)。
📄️ BlendOp
混合方程运算符。
📄️ BlendState
单个颜色目标的混合方程。
📄️ BufferUsage
GPU 缓冲区的使用方式。传递给 GPUBuffer.new。
📄️ BufferUsageArg
一个缓冲区用途,或用途数组。数组形式预留给未来的多用途标志;目前仅支持一个用途。
📄️ Canvas
一个 Rive 2D 渲染器画布。使用 .image 配合 renderer:drawImage()。
📄️ ColorAttachment
用于 canvas:beginRenderPass 的颜色附件描述符。
📄️ ColorTarget
颜色目标格式和可选的混合状态。
📄️ CompareFunction
用于管线深度模板状态和阴影采样器的深度比较函数。
📄️ CullMode
三角形面剔除模式。
📄️ DepthStencilAttachment
canvas:beginRenderPass 的深度/模板附件描述符。
📄️ DepthStencilState
深度/模板固定功能状态。从管线中省略以禁用深度测试。
📄️ Filter
纹理过滤模式。
📄️ GPUBindGroup
预烘焙的资源绑定,可在多个绘制调用中重用。避免每次绘制都创建新的绑定组——对 3D 场景性能至关重要。持有所有绑定资源(Buffer、TextureView、Sampler)的强引用,在 BindGroup 生命周期内保持它们存活。
📄️ GPUBindGroupLayout
公开的 BindGroupLayout — 描述 BindGroup 遵循的契约,以及管线为其某个 @group(N) 插槽引用的契约。
📄️ GPUBuffer
一个用于顶点、索引或统一数据的 GPU 缓冲区。
📄️ GPUBufferDesc
GPUBuffer.new 的描述符。
📄️ GPUCanvas
一个 GPU 画布 —— 1× 呈现目标,作用类似于 WebGPU surface texture。使用 .image 配合 rendererbeginRenderPass({ color = {{ loadOp = 'clear', storeOp = 'store', ... }} }) 渲染到它。MSAA 需要由用户自行分配 GPUTexture.new({ sampleCount = N, renderTarget = true }) 作为显式 color view,并将画布的 colorView() 设置为 resolveTarget。其格式始终为 'rgba8unorm',在延迟分配纹理的 deferred canvas 上也会报告该格式。
📄️ GPUColor
RGBA 清除颜色,范围 0–1(例如,{0, 0, 0, 1} 表示不透明黑色)。支持超过 1.0 的 HDR 值用于浮点渲染目标。使用 Color.toFloat() 从打包的 ARGB 颜色转换。
📄️ GPUFeatures
可选的 GPU 功能。由 context:features() 返回。
📄️ GPUPipeline
已编译的 GPU 渲染管线(着色器 + 固定功能状态)。
📄️ GPURenderPass
活跃的渲染通道。在调用 finish() 之前执行所有绘制调用。
📄️ GPUSampler
GPUTextureView 在共享的 "rive/gpu_types" 内建中声明(在 rive/image 之前加载),以便使用统一的单一名义类型——无论是 Image:view() 还是 GPU 渲染通道 API。描述纹理在着色器中如何被采样。
📄️ GPUTarget
渲染 pass 可以绘制到的目标。它不保证可采样,也不保证帧与帧之间保留内容;GPUCanvas 同时提供这两点。
📄️ GPUTexture
GPU 纹理(二维、立方体、三维或数组)。
📄️ LoadOp
在渲染通道开始时要对附件执行的操作。
📄️ PipelineStage
一个管线阶段:可以是 Shader,也可以是 WebGPU 风格的 { module = Shader, entryPoint = name }。Shader 的 @vertex/@fragment 函数是可选择的入口点;省略 entryPoint 时会使用该阶段的第一个入口点(类似 WebGPU)。
📄️ PrimitiveTopology
GPU 图元装配拓扑。
📄️ RenderPassDesc
用于 canvas:beginRenderPass 的渲染 pass 描述符。必须包含至少一个颜色附件或一个 depthStencil 附件。所有附件(颜色视图 + 深度)必须共享一个 sampleCount,按 WebGPU 规则推导——pass 的 sampleCount 从视图中推断,而不是显式声明。
📄️ SamplerEntry
将采样器绑定到 BindGroup 的条目。
📄️ Shader
不透明的已编译着色器模块。通过 context:loadShader 创建。
📄️ StoreOp
在渲染通道结束时要对附件执行的操作。
📄️ TextureAspect
视图暴露的深度/模板纹理的平面。使用 'depth-only' 表示在 WGSL 中作为 texturedepth2d 采样的深度纹理。
📄️ TextureEntry
将纹理视图绑定到 BindGroup 的条目。
📄️ TextureType
纹理维度(WebGPU 规范字符串)。
📄️ UBOEntry
将统一缓冲区绑定到 BindGroup 的条目。
📄️ VertexAttribute
顶点缓冲区布局中的逐顶点属性。
📄️ VertexBufferLayout
描述一个顶点缓冲区如何向顶点着色器提供属性。
📄️ VertexFormat
逐顶点属性格式(WebGPU 规范字符串)。
📄️ WrapMode
纹理寻址/环绕模式。