类 | |
| struct | AdapterDone |
| Instance + adapter resolved. 更多... | |
| class | BindGroupLayoutBuilder |
| Fluent builder for wgpu::BindGroupLayout. 更多... | |
| class | Capabilities |
| Read-only snapshot of WebGPU adapter/device limits and surface capabilities, queried once after device creation. 更多... | |
| struct | DeviceDone |
| Instance + adapter + device + queue + capability snapshot. 更多... | |
| struct | GpuMesh |
| Vertex/index buffers for one mesh. 更多... | |
| struct | GpuShader |
| A compiled shader: one WebGPU pipeline + layout. Also holds the WGSL sources so custom shaders can be re-pipelined for offscreen targets. 更多... | |
| struct | GpuTexture |
| Texture resources backed by a wgpu texture + view + sampler + bind groups. 更多... | |
| class | Graphics |
| EVENGINE_API_BACKENDS public API. 更多... | |
| class | InitFlow |
| Typed, blocking WebGPU initialization flow. 更多... | |
| struct | InstanceDone |
| Instance created, no adapter yet. 更多... | |
| struct | Mesh3DClusteredUBO |
| Clustered-forward mesh UBO (matches the Vulkan Mesh3DClusteredUBO and the WGSL clustered Frame block). 更多... | |
| struct | Mesh3DUBO |
Frame UBO for the mesh3d pipeline. Mirrors the std140 layout of the WGSL Frame block and the legacy Vulkan Mesh3DUBO (so custom shader prefixes stay compatible). See wgsl_shaders.h. 更多... | |
| struct | MeshVertex |
| MeshVertex public API. 更多... | |
| class | OffscreenCanvas |
| Offscreen render target (RGBA8Unorm color, optional Depth32Float). 2D batches are flushed into the canvas texture by Graphics::flush2DToCanvas. 更多... | |
| struct | PbrSpecializedSources |
| Owning WGSL stages after unreachable texture operations and declarations are removed. 更多... | |
| struct | PbrVariantLimits |
| Device resource limits relevant to one extended PBR shader variant. 更多... | |
| struct | PbrVariantPlan |
| Stable resource-layout key and checked stage counts for a PBR snapshot. 更多... | |
| struct | PbrVariantSources |
| Reproducibly generated full PBR WGSL sources before resource specialization. 更多... | |
| class | PipelineBuilder |
| Fluent builder for wgpu::RenderPipeline. 更多... | |
| class | SamplerBuilder |
| Fluent builder for wgpu::Sampler. 更多... | |
| struct | SkinPassUBO |
| SkinPassUBO public API. 更多... | |
枚举 | |
| enum | PbrFragmentResourceFlag : std::uint32_t { PbrEnvironment = 1u << 0 , PbrShadows = 1u << 1 , PbrExtras = 1u << 2 , PbrColors = 1u << 3 , PbrFadeNoise = 1u << 4 } |
| PbrFragmentResourceFlag public API. 更多... | |
| enum | PbrVertexResourceFlag : std::uint32_t { PbrVertexField = 1u << 0 , PbrMotionField = 1u << 1 , PbrMotionNoise = 1u << 2 } |
| PbrVertexResourceFlag public API. 更多... | |
函数 | |
| void | fillMeshAttributes (WGPUVertexAttribute(&attrs)[6]) |
| Result< PbrVariantPlan > | planPbrVariant (const PbrSurface &surface, bool environment, bool shadows, const PbrVariantLimits &limits={}) |
| Plan only resources reachable for an immutable PBR draw snapshot. | |
| PbrVariantSources | pbrVariantBaseSources () |
| Return immutable full PBR WGSL generated from the canonical GLSL implementation. | |
| PbrSpecializedSources | specializePbrVariantSources (const PbrVariantPlan &plan) |
| Specialize the generated WGSL for the resource reachability encoded by a checked plan. | |
| WGPUStringView | sv (const char *s) |
| Build a WGPUStringView from a C string (null-safe, length auto-computed). | |
| WGPUStringView | sv (const std::string &s) |
| Build a WGPUStringView from a std::string. | |
| wgpu::ShaderModule | makeWgslModule (wgpu::Device &dev, const char *wgsl) |
| Create an owning shader module; retain it until pipeline creation completes. | |
变量 | |
| const char * | kColorVertWgsl |
| const char * | kColorFragWgsl |
| const char * | kTexturedVertWgsl |
| const char * | kTexturedFragWgsl |
| const char * | kCustom2DFragWgsl |
| const char * | kLit2DVertWgsl |
| const char * | kLit2DFragWgsl |
| const char * | kMesh3DVertWgsl |
| Immutable shader source. @borrowed Static storage; valid for the process lifetime. | |
| const char * | kMesh3DFragWgsl |
| const char * | kMesh3DClusteredVertWgsl |
| const char * | kMesh3DClusteredFragWgsl |
| const char * | kMesh3DShadowVertWgsl |
| Immutable shader source. @borrowed Static storage; valid for the process lifetime. | |
| const char * | kMesh3DShadowAlphaVertWgsl |
| Immutable shader source. @borrowed Static storage; valid for the process lifetime. | |
| const char * | kMesh3DShadowAlphaFragWgsl |
| const char * | kMesh3DGbufferVertWgsl |
| Immutable shader source. @borrowed Static storage; valid for the process lifetime. | |
| const char * | kMesh3DGbufferFragWgsl |
| Immutable GBuffer fill WGSL. @borrowed Static storage; valid for the process lifetime. | |
| const char * | kMesh3DGbufferAlphaFragWgsl |
| Immutable GBuffer alpha-cutout WGSL. @borrowed Static storage; valid for the process lifetime. | |
| const char * | kDecalVertWgsl |
| const char * | kDecalFragWgsl |
| const char * | kSSAOFragWgsl |
| const char * | kVoxelRectVertWgsl |
| const char * | kVoxelRectFragWgsl |
| const char * | kDeferredLightingVertWgsl |
| Immutable deferred-lighting vertex WGSL. @borrowed Static storage; valid for the process lifetime. | |
| const char * | kDeferredLightingFragWgsl |
| Immutable clustered deferred lighting fragment WGSL (core metallic-roughness PBR + CSM + clustered points; mirrors Vulkan deferred_lighting.frag). @borrowed Static storage; valid for the process lifetime. | |
枚举类型说明
◆ PbrFragmentResourceFlag
| enum eve::graphics::webgpu::PbrFragmentResourceFlag : std::uint32_t |
PbrFragmentResourceFlag public API.
| 枚举值 | |
|---|---|
| PbrEnvironment | |
| PbrShadows | |
| PbrExtras | |
| PbrColors | |
| PbrFadeNoise | |
在文件 PbrVariantPlan.h 第 13 行定义.
◆ PbrVertexResourceFlag
| enum eve::graphics::webgpu::PbrVertexResourceFlag : std::uint32_t |
PbrVertexResourceFlag public API.
| 枚举值 | |
|---|---|
| PbrVertexField | |
| PbrMotionField | |
| PbrMotionNoise | |
在文件 PbrVariantPlan.h 第 22 行定义.
函数说明
◆ fillMeshAttributes()
| void eve::graphics::webgpu::fillMeshAttributes | ( | WGPUVertexAttribute(&) | attrs[6] | ) |
在文件 Graphics.cpp 第 2766 行定义.
◆ makeWgslModule()
|
inline |
Create an owning shader module; retain it until pipeline creation completes.
- 参数
-
dev Borrowed device used synchronously. wgsl Borrowed source; no pointer is retained after this call.
- 返回
- Reference-counted shader module. Device error callbacks report validation errors.
在文件 wgpu_types.h 第 34 行定义.
引用了 desc.
◆ pbrVariantBaseSources()
| PbrVariantSources eve::graphics::webgpu::pbrVariantBaseSources | ( | ) |
Return immutable full PBR WGSL generated from the canonical GLSL implementation.
- 返回
- Process-lifetime views; callers must specialize resource declarations before pipeline creation. @thread Worker-safe and reentrant.
在文件 PbrVariantSource.cpp 第 104 行定义.
被这些函数引用 eve::graphics::webgpu::Graphics::debugValidatePbrVariantBaseSources() , 以及 specializePbrVariantSources().
◆ planPbrVariant()
| Result< PbrVariantPlan > eve::graphics::webgpu::planPbrVariant | ( | const PbrSurface & | surface, |
| bool | environment, | ||
| bool | shadows, | ||
| const PbrVariantLimits & | limits = {} |
||
| ) |
Plan only resources reachable for an immutable PBR draw snapshot.
- 参数
-
surface Validated material snapshot; texture pointers are inspected for presence only. environment True when the draw samples an environment cube. shadows True when the draw samples the shadow array. limits Captured WebGPU per-stage device limits.
- 返回
- A stable variant plan, or a structured Unsupported diagnostic before GPU mutation. @thread Worker-safe and reentrant; no texture pointer is dereferenced.
在文件 PbrVariantPlan.cpp 第 25 行定义.
引用了 eve::graphics::webgpu::PbrVariantPlan::canonicalSamplerRepresentatives, eve::graphics::webgpu::PbrVariantPlan::canonicalTextureMask, eve::graphics::Count, eve::graphics::webgpu::PbrVariantPlan::detailSamplerRepresentatives, eve::graphics::webgpu::PbrVariantPlan::detailTextureMask, eve::graphics::PbrVegetationAlpha::enabled, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::graphics::webgpu::PbrVariantPlan::fragmentFlags, eve::graphics::webgpu::PbrVariantPlan::fragmentSamplers, eve::graphics::webgpu::PbrVariantPlan::fragmentTextures, eve::graphics::GpuFields, limits, eve::graphics::PbrVegetationMotion::mode, eve::graphics::PbrVegetationMotion::noise, eve::graphics::PbrVegetationAlpha::noise, eve::graphics::Object, PbrColors, PbrEnvironment, PbrExtras, PbrFadeNoise, PbrMotionField, PbrMotionNoise, PbrShadows, PbrVertexField, resource, eve::graphics::PbrVegetationVertex::source, eve::Result< T >::success(), eve::graphics::PbrVegetationExtras::texture, eve::graphics::PbrVegetationColors::texture, eve::graphics::PbrVegetationVertex::texture, eve::graphics::PbrVegetationMotion::texture, eve::graphics::PbrVegetationDetail::textures, eve::graphics::PbrSurface::textures, u, eve::Unsupported, valid, eve::graphics::validatePbrSurface(), eve::graphics::PbrVegetationDetail::value, eve::graphics::PbrSurface::vegetationAlpha, eve::graphics::PbrSurface::vegetationColors, eve::graphics::PbrSurface::vegetationDetail, eve::graphics::PbrSurface::vegetationExtras, eve::graphics::PbrSurface::vegetationMotion, eve::graphics::PbrSurface::vegetationVertex, eve::graphics::webgpu::PbrVariantPlan::vertexFlags, eve::graphics::webgpu::PbrVariantPlan::vertexSamplers , 以及 eve::graphics::webgpu::PbrVariantPlan::vertexTextures.
被这些函数引用 eve::graphics::webgpu::Graphics::setMesh3DPbrSurface().
◆ specializePbrVariantSources()
| PbrSpecializedSources eve::graphics::webgpu::specializePbrVariantSources | ( | const PbrVariantPlan & | plan | ) |
Specialize the generated WGSL for the resource reachability encoded by a checked plan.
- 参数
-
plan Plan returned by planPbrVariant for the same immutable draw snapshot.
- 返回
- Owning stages whose static texture declarations match the reachable resource set.
在文件 PbrVariantSource.cpp 第 109 行定义.
引用了 eve::graphics::webgpu::PbrVariantPlan::canonicalSamplerRepresentatives, eve::graphics::webgpu::PbrVariantPlan::canonicalTextureMask, eve::graphics::Count, eve::graphics::webgpu::PbrVariantPlan::detailSamplerRepresentatives, eve::graphics::webgpu::PbrVariantPlan::detailTextureMask, eve::graphics::webgpu::PbrVariantPlan::fragmentFlags, index, PbrColors, PbrEnvironment, PbrExtras, PbrFadeNoise, PbrMotionField, PbrMotionNoise, PbrShadows, pbrVariantBaseSources(), PbrVertexField, u , 以及 eve::graphics::webgpu::PbrVariantPlan::vertexFlags.
◆ sv() [1/2]
|
inline |
Build a WGPUStringView from a C string (null-safe, length auto-computed).
在文件 wgpu_types.h 第 20 行定义.
引用了 s.
被这些函数引用 eve::graphics::webgpu::Graphics::beginFrameReadback(), eve::graphics::webgpu::Graphics::drawVoxelFaceInstances(), eve::graphics::webgpu::Graphics::filterHDRReflectionCubemap(), eve::graphics::webgpu::Graphics::initWithWindow(), eve::graphics::webgpu::Graphics::newCubemap(), eve::graphics::webgpu::Graphics::newHDRCubemap(), eve::graphics::webgpu::Graphics::newMeshFromArraysColored(), eve::graphics::webgpu::Graphics::newTexture(), eve::graphics::webgpu::OffscreenCanvas::OffscreenCanvas(), eve::graphics::webgpu::Graphics::present(), eve::graphics::webgpu::InitFlow::requestDevice() , 以及 eve::graphics::webgpu::Graphics::updateMeshVertices().
◆ sv() [2/2]
|
inline |
变量说明
◆ kColorFragWgsl
|
inline |
在文件 wgsl_shaders.h 第 32 行定义.
◆ kColorVertWgsl
|
inline |
在文件 wgsl_shaders.h 第 11 行定义.
◆ kCustom2DFragWgsl
|
inline |
在文件 wgsl_shaders.h 第 86 行定义.
◆ kDecalFragWgsl
|
inline |
在文件 wgsl_shaders.h 第 1733 行定义.
◆ kDecalVertWgsl
|
inline |
在文件 wgsl_shaders.h 第 1721 行定义.
◆ kDeferredLightingFragWgsl
|
inline |
Immutable clustered deferred lighting fragment WGSL (core metallic-roughness PBR + CSM + clustered points; mirrors Vulkan deferred_lighting.frag). @borrowed Static storage; valid for the process lifetime.
在文件 wgsl_shaders.h 第 2175 行定义.
◆ kDeferredLightingVertWgsl
|
inline |
Immutable deferred-lighting vertex WGSL. @borrowed Static storage; valid for the process lifetime.
在文件 wgsl_shaders.h 第 2154 行定义.
◆ kLit2DFragWgsl
|
inline |
在文件 wgsl_shaders.h 第 134 行定义.
◆ kLit2DVertWgsl
|
inline |
在文件 wgsl_shaders.h 第 108 行定义.
◆ kMesh3DClusteredFragWgsl
|
inline |
在文件 wgsl_shaders.h 第 1035 行定义.
◆ kMesh3DClusteredVertWgsl
|
inline |
在文件 wgsl_shaders.h 第 959 行定义.
◆ kMesh3DFragWgsl
|
inline |
在文件 wgsl_shaders.h 第 363 行定义.
被这些函数引用 eve::graphics::webgpu::Graphics::newMeshShaderFromWgsl().
◆ kMesh3DGbufferAlphaFragWgsl
|
inline |
Immutable GBuffer alpha-cutout WGSL. @borrowed Static storage; valid for the process lifetime.
在文件 wgsl_shaders.h 第 1665 行定义.
◆ kMesh3DGbufferFragWgsl
|
inline |
Immutable GBuffer fill WGSL. @borrowed Static storage; valid for the process lifetime.
在文件 wgsl_shaders.h 第 1609 行定义.
◆ kMesh3DGbufferVertWgsl
|
inline |
Immutable shader source. @borrowed Static storage; valid for the process lifetime.
在文件 wgsl_shaders.h 第 1537 行定义.
◆ kMesh3DShadowAlphaFragWgsl
|
inline |
在文件 wgsl_shaders.h 第 1511 行定义.
◆ kMesh3DShadowAlphaVertWgsl
|
inline |
Immutable shader source. @borrowed Static storage; valid for the process lifetime.
在文件 wgsl_shaders.h 第 1463 行定义.
◆ kMesh3DShadowVertWgsl
|
inline |
Immutable shader source. @borrowed Static storage; valid for the process lifetime.
在文件 wgsl_shaders.h 第 1420 行定义.
◆ kMesh3DVertWgsl
|
inline |
Immutable shader source. @borrowed Static storage; valid for the process lifetime.
在文件 wgsl_shaders.h 第 250 行定义.
被这些函数引用 eve::graphics::webgpu::Graphics::newHairShaderFromWgsl() , 以及 eve::graphics::webgpu::Graphics::newMeshShaderFromWgsl().
◆ kSSAOFragWgsl
|
inline |
在文件 wgsl_shaders.h 第 1986 行定义.
◆ kTexturedFragWgsl
|
inline |
在文件 wgsl_shaders.h 第 69 行定义.
◆ kTexturedVertWgsl
|
inline |
在文件 wgsl_shaders.h 第 45 行定义.
被这些函数引用 eve::graphics::webgpu::Graphics::newShaderFromWgsl().
◆ kVoxelRectFragWgsl
|
inline |
在文件 wgsl_shaders.h 第 2128 行定义.
◆ kVoxelRectVertWgsl
|
inline |
在文件 wgsl_shaders.h 第 2059 行定义.