卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局参数。 数据模型与渲染/交互逻辑见 CardTypes.h。 更多...
命名空间 | |
| namespace | cubemap_prefilter_detail |
| namespace | detail |
| namespace | display |
| namespace | fog |
| namespace | grass |
| t3ssel8r-style stylized grass. | |
| namespace | hair |
| Procedural hair/fur card meshes + material/LOD helpers (no strand simulation). | |
| namespace | raytracing |
| namespace | shaders |
| namespace | vulkan |
| namespace | webgpu |
类 | |
| class | AlphaMask |
| Reusable two-texture alpha mask for immediate 2D composition. 更多... | |
| class | AmbientOcclusion |
| Screen-space ambient occlusion. 更多... | |
| class | AntiAliasing |
| Classic image-space anti-aliasing. 更多... | |
| class | AtmosphereClipmap |
| Nested world-space volume grids for stable large-range participating media. 更多... | |
| struct | AtmosphereClipmapLevel |
| One camera-centered, world-space atmosphere clipmap level. 更多... | |
| class | AtmosphereVolume |
| Camera-frustum volume used by the volumetric fog passes and CPU references. 更多... | |
| class | Batcher |
| Accumulates solid / textured quads in logical (Y-down) coordinates. Used by RenderSystem; not a public script API. 更多... | |
| struct | BatchVertex |
| CPU-side vertex for 2D batching (logical or NDC depending on stage). 更多... | |
| class | Bloom |
| Linear-HDR bloom pyramid with selectable Karis/tent or Gaussian/scatter reconstruction. 更多... | |
| struct | BloomFilterSettings |
| Value-owned Gaussian bloom settings, independent of camera intensity and threshold. 更多... | |
| class | Camera |
| 2D/3D 摄像机基类:持有变换栈并暴露投影矩阵。 更多... | |
| class | Camera2D |
| Declarative 2D camera (viewport center + zoom). 更多... | |
| class | Camera3D |
| EVENGINE_API_BACKENDS public API. 更多... | |
| class | Canvas |
| Canvas public API. 更多... | |
| struct | ClusteredLightConfig |
| Clustered forward grid (CPU assign, GPU consume). 更多... | |
| struct | ClusteredLightingUpload |
| CPU-built clustered lighting upload for one frame/camera. Point lights are clustered; directional lights become the primary dir (first by intensity). 更多... | |
| struct | ClusterTableEntry |
| ClusterTableEntry public API. 更多... | |
| struct | DashPattern |
| Owning alternating draw/gap pattern for stroked primitives. 更多... | |
| class | DepthOfField |
| Separable Gaussian depth-of-field for the final HDR scene. 更多... | |
| struct | DepthOfFieldFocusInput |
| One frame of caller-owned raycast or target observations. 更多... | |
| struct | DepthOfFieldFocusOutput |
| Focus and lens values ready for a depth-of-field renderer. 更多... | |
| struct | DepthOfFieldFocusSettings |
| Provider-neutral autofocus configuration. 更多... | |
| struct | DepthOfFieldFocusState |
| Persistent autofocus state owned by the caller. 更多... | |
| class | DepthPyramid |
| Cross-backend min/max hardware-depth pyramid packed into one texture atlas. 更多... | |
| class | DiffuseLightProbeRegistry |
| Owns generated diffuse probes and samples their baked L0 irradiance. 更多... | |
| struct | DiffuseLightProbeSample |
| DiffuseLightProbeSample public API. 更多... | |
| struct | DiffuseLightProbeVolumeSample |
| DiffuseLightProbeVolumeSample public API. 更多... | |
| class | Drawable |
| Drawable base (textures, meshes, canvases). 更多... | |
| struct | DrawItem2D |
| Shared 2D draw queue item (sprites + tiles). 更多... | |
| class | Exposure |
| GPU percentile metering, eye adaptation, and linear HDR pre-exposure. 更多... | |
| struct | FlattenedContour2D |
| One flattened owning contour produced from a Path2D. 更多... | |
| struct | FogFroxel |
| Participating-media coefficients stored in one froxel. 更多... | |
| class | FogVolume |
| Analytic local participating-media volume injected into atmospheric fog. 更多... | |
| class | Font |
GPU-side font: wraps a decoded font::FontData and rasterizes a fixed set of codepoints into a single RGBA8 glyph atlas texture up front, so Graphics::drawText() and Graphics::print() can draw text with plain textured-quad draws. 更多... | |
| struct | FrameDrawList3D |
| Double-buffered per-frame draw list written by the prep jobs and only read by the render thread. Vectors keep their capacity across frames, so the steady state does not allocate per frame. 更多... | |
| class | GBuffer |
| Screen-space buffers for mid/post effects and Hybrid deferred lighting. 更多... | |
| class | GlobalIllumination |
| Screen-space single-bounce GI (SSGI). @lifetime All texture arguments are borrowed for the duration of each call. 更多... | |
| struct | GpuIndirectCommand |
| Indirect draw command; layout identical to VkDrawIndexedIndirectCommand. 更多... | |
| struct | GpuInstance |
| Per-instance GPU record (std430). Mirrors GLSL GpuInstance. 更多... | |
| struct | GpuMaterialRecord |
| GPU material table record (std430). Mirrors GLSL GpuMaterialRecord. 更多... | |
| struct | GpuMeshRecord |
| GPU mesh table record (std430). Mirrors GLSL GpuMeshRecord. 更多... | |
| struct | GpuParticleDraw |
| Parameters for rendering a resident GPU particle emitter. 更多... | |
| struct | GpuParticleSpawn |
| GPU particle state uploaded only for newly spawned particles. 更多... | |
| struct | GpuParticleStats |
| Delayed non-blocking counters from a resident GPU emitter. 更多... | |
| struct | GpuParticleUpdate |
| Parameters for one resident GPU simulation step. 更多... | |
| struct | GpuResidentInstanceBatch |
| Direct-render description for a GPU-authored array of GpuInstance records. @ownership buckets and buffer are borrowed for this call; the native buffer remains caller-owned through the frame fence as required by GpuResidentBufferView. 更多... | |
| struct | GpuResidentInstanceBucket |
| One contiguous mesh/material bucket in a sorted resident instance buffer. 更多... | |
| struct | GpuVegetationVertexRecord |
| Optional per-vertex streams used by vegetation-capable GPU-driven shaders. 更多... | |
| struct | GpuVgAssetUpload |
| Neutral GPU upload for one virtual-geometry asset. Raw arrays so the graphics module does not depend on the virtualgeometry module. @lifetime Every array is borrowed for the upload call only and is never retained. 更多... | |
| struct | GpuVgCluster |
| GPU-packed cluster node (std430, 4 x uvec4). Mirrors the virtualgeometry module's VgGpuCluster layout. 更多... | |
| class | Graphics |
| struct | GraphicsArtifactDescriptor |
| Backend-neutral mesh descriptor shared by Vulkan and WebGPU adapters. 更多... | |
| struct | GraphicsArtifactHandleTag |
| Owner tag for graphics artifact runtime handles. 更多... | |
| class | GraphicsArtifactProvider |
| Real graphics-module provider for generated mesh publication. 更多... | |
| struct | GraphicsArtifactResource |
| Queryable backend-neutral mesh resource owned by the graphics module. 更多... | |
| class | GraphicsArtifactStage |
| class | GrassField |
| Dense grass + sparse dark tufts on a mesh. Caller owns GrassField*; GPU Mesh / Shader / Texture are owned by Graphics. 更多... | |
| class | ICanvasFactory |
| Narrow offscreen-Canvas allocation boundary for tools and optional modules. 更多... | |
| class | ICanvasTarget |
| Narrow render-target binding boundary for optional tooling modules. 更多... | |
| class | IGraphics2D |
| 2D immediate-mode drawing surface (screen or offscreen Canvas). 更多... | |
| class | IGraphics3D |
| 3D frame / mesh / light / shadow rendering surface. 更多... | |
| class | IImageResourceFactory |
| Backend-owned RGBA8 texture upload and release operations. 更多... | |
| class | IMeshResourceFactory |
| Backend-owned mesh upload and release operations. 更多... | |
| class | IndirectBuilder |
| CPU-side builder for GPU-driven indirect draws (stage 1). 更多... | |
| class | IPostFX |
| Post-process / special-effect object factory. 更多... | |
| class | IRayTracing |
| Optional hardware ray-tracing backend (Vulkan KHR RT). 更多... | |
| class | IResourceFactory |
| Texture / mesh / shader / canvas creation and release. 更多... | |
| class | ISolidRectRenderer |
| Narrow solid-rectangle draw boundary for UI/debug tooling. 更多... | |
| class | Light2D |
| Declarative 2D light. Collected by RenderSystem (max 8 per canvas/frame). type: "point" | "dir" | "spot" (≤15 chars). 更多... | |
| struct | Light2DGpu |
| GPU light packing for lit2d (std140-friendly). 更多... | |
| class | Light3D |
| Declarative 3D light. Collected by RenderSystem3D (max 8 per frame). type: "point" | "dir" | "spot" (≤15 chars). 更多... | |
| struct | Light3DGpu |
| GPU light packing for mesh3d / PBR (std140-friendly). 更多... | |
| struct | Lighting2DUBO |
| Lighting2DUBO public API. 更多... | |
| struct | Lighting3DPack |
| Lighting3DPack public API. 更多... | |
| struct | LocalShadowSlot |
| One allocated local (spot/point-face) shadow slot for the frame. @ownership Ephemeral CPU descriptor; GPU layer index is valid for the frame. 更多... | |
| class | MapFog |
| SLG / large-map war-fog overlay driven by a dual-scrolling cloud texture and an RGBA mask bridge (R unlock, G select, B dissolve). 更多... | |
| class | Material |
| Packages shading method + surface parameters into one attachable asset. 更多... | |
| class | Mesh |
| GPU mesh handle (+ optional CPU morph targets). 更多... | |
| struct | MeshBackendDescriptor |
| Backend-owned layout facts for a mesh uploaded through Graphics. 更多... | |
| struct | MeshInstanceRange |
| Value-owned subset of a resource shader's static instances. 更多... | |
| struct | MeshShaderRasterState |
| Value snapshot of custom mesh rasterization state, independent of blending/culling. 更多... | |
| struct | ModelPart |
| One mesh + material slot on a multi-part model (Assimp mesh / body region). When Material* is null, the owning Renderable3D MeshRenderer fields are used. 更多... | |
| class | Outline |
| Screen-space model outline (t3ssel8r-style), computed from the GBuffer hardware depth + world-normal buffers. 更多... | |
| struct | ParallaxParams |
| CPU reference for simple offset parallax (matches the scale / height convention of parallax_map.glsl POM; used by unit tests, not the GPU path). 更多... | |
| class | Path2D |
| Owning backend-neutral 2D vector path. 更多... | |
| struct | PbrSurface |
| Owning material parameter snapshot; texture pointers remain borrowed. Base color/metallic/roughness continue to be owned by Material's existing fields. This value owns extension parameters and all eleven texture bindings. 更多... | |
| struct | PbrTextureBinding |
| One borrowed texture plus independently owned UV/sampler parameters. Texture is graphics-factory-owned and must outlive this binding and queued draws. 更多... | |
| struct | PbrTranslucency |
| Owning vegetation translucency controls, evaluated per light after normal mapping. Intensity zero disables the contribution. Color is linear HDR; intensity, direct, ambient, shadow, maskAmount, and normalDistortion are [0,1], strength is [0,50], and scattering is [1,50]. Global/overlay multipliers are finite nonnegative values. 更多... | |
| struct | PbrVegetationAlpha |
| TVE global-alpha controls applied after optional detail alpha blending. When enabled, masked clipping uses the Extras alpha channel and mesh variation. 更多... | |
| struct | PbrVegetationColors |
| Borrowed TVE Colors RGBA16F array and owning layer sampling controls. RGB is linear tint and alpha is influence; projection matches PbrVegetationExtras. 更多... | |
| struct | PbrVegetationColorStages |
| Owning per-fragment TVE surface-stage inputs in linear space. Scalar controls are [0,1]. Overlay RGB is finite nonnegative HDR. Overlay variation uses the mesh-authored variation channel; projection uses the 更多... | |
| struct | PbrVegetationDetail |
| TVE secondary material layer evaluated after primary texture sampling. Three borrowed bindings contain secondary albedo, normal and mask data. UV mode 0 uses the primary mesh UV, 1 uses the authored TVE detail UV and 2 projects world XZ. All scalar masks are remapped with the TVE 0.0001 epsilon; reversed endpoints are valid. 更多... | |
| struct | PbrVegetationEmission |
| TVE emissive remap and global Extras modulation for the borrowed emissive texture binding. 更多... | |
| struct | PbrVegetationExtras |
| Borrowed TVE Extras RGBA16F array and owning sampling controls. Channels are emissive, wetness, overlay and alpha. UV equals coords.zw plus coords.xy times world XZ, or the model pivot XZ when usePivotPosition is true. Usage selects the sampled layer when at least 0.5 and the stored value otherwise. 更多... | |
| struct | PbrVegetationGradient |
| TVE mesh-height gradient tint, masked by the blended main/detail blue channel. 更多... | |
| struct | PbrVegetationMotion |
| Borrowed TVE Motion atlas/noise and owning explicit object-motion controls. Object mode requires an unskinned Mesh nine-float vegetation-deformation stream. Motion sampling uses the authored pivot, while repeat-addressed noise varies over each vertex's world position. Time and all controls are caller-owned snapshots; the renderer reads no clock or mutable global shader state. 更多... | |
| struct | PbrVegetationVertex |
| Borrowed TVE Vertex RGBA16F array and object-level size controls. TVE Plant Standard 12.6 consumes the selected layer's alpha as the object size multiplier; RGB is preserved in the atlas but is not consumed by that shader. GPU deformation samples the model pivot XZ at LOD zero and supports unskinned object-mode meshes. A Mesh vegetation-deformation stream supplies an authored local pivot; meshes without that stream use the local origin. 更多... | |
| class | PcgGraphicsPhotoModeAuthority |
| Explicit owner that projects Pcg graphics fields into the live render pipeline. 更多... | |
| struct | PcgGraphicsPhotoModeState |
| Pcg graphics quality values retained by the active render composition. 更多... | |
| class | PcgWaterPhotoModeAuthority |
| Explicit, caller-owned authority for Pcg photo-mode water reflection and underwater fog values. 更多... | |
| struct | PolylineCommand2D |
| One owning 2D polyline command recorded for the current frame. 更多... | |
| struct | PolylineCommand3D |
| One owning 3D polyline command recorded for the current frame. 更多... | |
| struct | PostEffectDesc |
| Backend-neutral scheduling contract supplied by post-effect modules. 更多... | |
| struct | PrimitiveAabb3D |
| PrimitiveAabb3D public API. 更多... | |
| struct | PrimitiveArc3D |
| PrimitiveArc3D public API. 更多... | |
| struct | PrimitiveArrow3D |
| PrimitiveArrow3D public API. 更多... | |
| struct | PrimitiveBatchUpdate |
| PrimitiveBatchUpdate public API. 更多... | |
| class | PrimitiveCanvas2D |
| Frame-local Skia-style recorder for 2D line primitives. 更多... | |
| struct | PrimitiveCapsule3D |
| PrimitiveCapsule3D public API. 更多... | |
| struct | PrimitiveCone3D |
| PrimitiveCone3D public API. 更多... | |
| struct | PrimitiveCylinder3D |
| PrimitiveCylinder3D public API. 更多... | |
| struct | PrimitiveDescriptor3D |
| One persistent scene primitive owned by PrimitiveScene. 更多... | |
| struct | PrimitiveDisk3D |
| PrimitiveDisk3D public API. 更多... | |
| struct | PrimitiveDrawStatistics |
| Per-frame observable primitive workload. 更多... | |
| struct | PrimitiveFrustum3D |
| PrimitiveFrustum3D public API. 更多... | |
| struct | PrimitiveGrid3D |
| PrimitiveGrid3D public API. 更多... | |
| class | PrimitiveHandle |
| Instance-qualified persistent primitive handle. 更多... | |
| struct | PrimitiveObb3D |
| PrimitiveObb3D public API. 更多... | |
| struct | PrimitivePaint |
| Backend-neutral fill and stroke paint. 更多... | |
| struct | PrimitivePolyline3D |
| Owning persistent polyline descriptor. 更多... | |
| class | PrimitiveScene |
| Authoritative owner for primitives that persist across frames. 更多... | |
| class | PrimitiveSceneCanvas3D |
| Frame-local scene recorder for 3D line primitives. 更多... | |
| struct | PrimitiveSphere3D |
| PrimitiveSphere3D public API. 更多... | |
| struct | PrimitiveTriangleVertex |
| Resolved triangle vertex consumed by primitive GPU backends. 更多... | |
| class | Quad |
| Pixel-space sub-rectangle of a Texture (atlas cell / sprite frame). UV conversion uses the texture's logical width/height. 更多... | |
| struct | RadialTessellation |
| Quality and screen-error policy used by circles and curved spatial primitives. 更多... | |
| struct | RayTracingCaps |
| Hardware ray-tracing capabilities probed once at Vulkan device creation. 更多... | |
| class | ReflectionProbeCapture |
| Incremental six-face HDR scene capture for a runtime reflection probe. 更多... | |
| class | ReflectionProbeRegistry |
| Scene-level stable selection of published reflection probes for a camera. 更多... | |
| struct | ReflectionProbeUpload |
| ReflectionProbeUpload public API. 更多... | |
| class | Renderable2D |
| Default renderable entity for declarative 2D sprites / solid quads. 更多... | |
| class | Renderable3D |
| EVENGINE_API_BACKENDS public API. 更多... | |
| class | RenderControl |
| Declarative, compilable 3D render control. 更多... | |
| struct | RenderItem3D |
| One resolved 3D draw, produced by the frame data prep jobs. 更多... | |
| class | RenderSystem |
| Walks ECS Renderable2D views and draws via Graphics batch path. 更多... | |
| class | RenderSystem3D |
| EVENGINE_API_BACKENDS public API. 更多... | |
| struct | ResolvedPrimitiveBatch2D |
| One contiguous 2D blend/order batch in the resolved vertex stream. 更多... | |
| struct | ResolvedPrimitiveBatch3D |
| One contiguous 3D pipeline/sort batch in the resolved vertex stream. 更多... | |
| struct | ResolvedPrimitiveTriangles |
| Owning backend-neutral triangle stream for one primitive pass. 更多... | |
| struct | SceneDrawContext |
| Immutable camera and viewport facts used to resolve one 3D draw list. Projection uses the engine's RH, zero-to-one depth, Vulkan Y-down convention and backends adapt these shared clip coordinates at submission. 更多... | |
| struct | ScenePrimitivePaint |
| Additional scene-pass state carried by every 3D command. 更多... | |
| class | ScreenSpaceReflection |
| Screen-space reflections (SSR) as a fullscreen post pass. @lifetime All Graphics and texture arguments are borrowed by this effect. 更多... | |
| class | Shader |
| Custom GPU program. 更多... | |
| struct | ShaderImageInput |
| Synchronous borrowed input for one immutable shader image. @ownership The caller owns bytes; upload copies them before returning. @lifetime All spans need remain valid only for the upload call; never retained. 更多... | |
| struct | ShaderImageRegion |
| One validated byte region for an image's layer/mip upload. 更多... | |
| struct | ShaderResourceInputs |
| Inputs for descriptor set 1 of a resource mesh program. 更多... | |
| struct | ShadowConfig |
| ShadowConfig public API. 更多... | |
| struct | ShadowPagingView |
| Camera context used to score local shadow candidates for atlas paging. @ownership Ephemeral; valid only for the selectShadowCasters call. 更多... | |
| struct | ShadowSchemeSettings |
| Process-wide defaults for creating shadows per light family. 更多... | |
| struct | ShadowUBO |
| Per-frame / per-draw CSM + local-spot constants (std140). 更多... | |
| struct | ShadowUpload |
| ShadowUpload public API. 更多... | |
| struct | SkyAtmosphereFrame |
| One atomic render snapshot, independent of view count or wall-clock time. 更多... | |
| struct | SkyAtmosphereParameters |
| Spherical atmospheric coefficients in inverse kilometres and kilometre heights. 更多... | |
| class | SkyAtmospherePass |
| Prepared HDR atmospheric sky draw with independent optical parameters and lookup tables. 更多... | |
| struct | SkyCelestialLight |
| Explicit celestial lighting snapshot; unit direction points towards the light. 更多... | |
| struct | SkyDaylightLayer |
| Immutable clear-sky daylight material controls, copied during sky preparation. 更多... | |
| struct | SkyHeightFogParameters |
| Analytic background height fog in metre units, independent of legacy scene fog. 更多... | |
| class | SkyWispsAsset |
| Immutable owned sky mesh and textures, loaded from a pack or generated procedurally. 更多... | |
| struct | SkyWispsLayer |
| Borrowed authored thin-cloud layer, consumed synchronously by sky preparation. 更多... | |
| class | SparseVolumeTexture |
| Brick-sparse, pre-bakeable participating-media texture. 更多... | |
| struct | StrokeStyle |
| Backend-neutral stroke state shared by 2D and 3D canvases. 更多... | |
| struct | TexCellBombParams |
| CPU reference for texture cell-bombing math (matches tex_cell_bomb.glsl). Used by unit tests; the GPU path lives in mesh3d*.frag. 更多... | |
| class | Texture |
| GPU texture created via Graphics::newTexture. Owns GPU resources through an opaque backend handle. 更多... | |
| struct | TextureCreateInfo |
| Options for Graphics::newTexture / newCubemap. When generateMipmaps is true and sampler.mipmap is Disabled, mipmap mode becomes Linear. 更多... | |
| struct | TextureRegionUpload |
One borrowed RGBA8 source rectangle for a batched texture update. @ownership rgba remains owned by the caller and is never retained. @lifetime The byte span must remain valid through updateTextureRegions(). 更多... | |
| struct | TextureSampler |
| Sampler state for a Texture (filter, wrap, mip LOD, anisotropy). Defaults match historical engine behaviour: linear, clamp, no mips, no aniso. 更多... | |
| class | Transform |
| 矩阵变换栈(2D/3D):旋转/缩放/平移 + push/pop。 更多... | |
| struct | TreeWindProfile |
| Caller-owned tree prototype wind geometry matching Pcg ResourceProtoTree inputs. 更多... | |
| struct | TriangleCommand2D |
| One owning filled 2D triangle command. 更多... | |
| struct | TriangleCommand3D |
| One owning filled 3D triangle command. 更多... | |
| struct | TvePackedVertex |
| Immediate adapter input for TVE 12.x packed mesh streams, before UV truncation. This is an owning CPU value, not a persistent native file format. UV0 and UV1 must retain all four source components; Unity UV4 is texcoord3 here. 更多... | |
| class | UnderwaterColorGradient |
| Caller-owned ordered color gradient used for depth or time-of-day fog. 更多... | |
| struct | UnderwaterColorStop |
| One normalized RGB key in a Pcg underwater fog gradient. 更多... | |
| class | UnderwaterScalarCurve |
| Caller-owned normalized scalar curve used by Pcg underwater post exposure. 更多... | |
| struct | VegetationAtlas |
| Four owning arrays in row-major X/Z order at texel centers. 更多... | |
| struct | VegetationChannelAtlas |
| One owning vegetation channel in row-major X/Z order at texel centers. Channel atlases may use independent dimensions and world mappings when published as a GPU field set. 更多... | |
| struct | VegetationDetailRuntime |
| Detached render values produced from one validated Global Details publication. PBR texture pointers remain borrowed with the same lifetime as the input surface. 更多... | |
| struct | VegetationDetailSettings |
| TVE Global Details values, independent of scene components and global shader state. 更多... | |
| struct | VegetationElement |
| Owning element definition; no scene, texture or entity pointers survive admission. Center/extents are world units; yaw is radians around +Y. Layer bits select 0..8. Mask alpha multiplies opacity and mask RGB multiplies the target RGB. Equal priorities preserve input order. Seasons interpolate winter/spring/summer/autumn. 更多... | |
| class | VegetationField |
| Backend-independent, owning vegetation influence field. Single writer; concurrent const evaluation is safe while no replace occurs. No callbacks, external resources, global singleton, ECS mutation or wall clock. Returned samples/atlases are owning projections, never additional mutable authority. 更多... | |
| struct | VegetationGeometry |
| Owning geometry projection, packed world XYZ positions and unit normals. 更多... | |
| struct | VegetationGlobals |
| Owning global defaults. Extras = emission, wetness, overlay, alpha. Motion = signed world X/Z direction, wind power, interaction displacement. Vertex = signed X/Z tilt, world height offset, size multiplier. Color = linear RGB tint and replacement factor; zero multiplies, one replaces. 更多... | |
| struct | VegetationGpuAtlas |
| Immutable GPU projection of nine layers from one vegetation field channel. The source field remains authoritative; fieldRevision detects stale projections. Texture ownership remains with factory and the caller must release it through that factory. 更多... | |
| struct | VegetationGpuFieldSet |
| Coherent detached projections for all four vegetation channels. Textures are factory-owned. The caller must release the set through releaseVegetationGpuFieldSet on the same graphics thread and factory. 更多... | |
| struct | VegetationGpuRuntime |
| Runtime-owned global inputs shared by one coherent vegetation field binding. Time is explicit for deterministic replay. Noise and atlas textures remain borrowed. 更多... | |
| struct | VegetationMask |
| Owning linear RGBA mask, sampled bilinearly with clamped addressing. 更多... | |
| struct | VegetationMotion |
| Source-equivalent plant motion parameters with explicit time and texture inputs. All data is owned. No wall clock/RNG/global shader state is read. Noise is linear RGBA with bilinear repeat addressing. The built-in 2x2 pattern is a native default; matching an authored appearance requires the same noise texture as the source. Speed/scale/amplitude controls retain TVE 12.6 plant shader units. Object transforms must be finite, affine and invertible. Output geometry is world space. 更多... | |
| struct | VegetationSample |
| Owning sampled field channels; no lifetime dependency on the field. 更多... | |
| struct | VegetationSurface |
| Owning surface inputs, supplied afresh to avoid accumulating tint/wetness across frames. Color inputs are linear. Overlay, wetness, projection and occlusion controls are [0,1]. The fragment stage derives the final overlay mask from mesh variation and occlusion, the mapped normal and textured luminance. It then applies overlay color/normal/material response followed by wetness color/normal/smoothness. 更多... | |
| struct | VegetationVertex |
| Owning rest vertex in object space, with unpacked authoring channels. Bending/branch/flutter/variation/occlusion/detail are [0,1]. Bounds are meters. A pivot and variation shared by one plant preserve coherent motion after mesh combining. 更多... | |
| struct | VegetationWindAudioState |
| Caller-owned state for Pcg WindManager's looping wind-audio volume controller. 更多... | |
| struct | VegetationWindInput |
| Explicit source PW_GeneralWind inputs in object/world coordinates. 更多... | |
| struct | VegetationWindProfile |
| Caller-owned material wind controls; billboard suppresses source branch and leaf motion. AlphaTest controls leaf motion only, independently of the renderer's alpha discard. 更多... | |
| struct | VegetationWindState |
| Caller-owned wind globals; no hidden clock, singleton or retained scene link. 更多... | |
| class | VirtualTextureBlend |
| CPU reference implementation of a tiled, height-aware material virtual texture. 更多... | |
| struct | VirtualTextureBlendConfig |
| Backend-neutral configuration for a paged material-attribute texture. 更多... | |
| struct | VirtualTextureBlendLayer |
| One immutable source layer copied into a VirtualTextureBlend. 更多... | |
| struct | VirtualTextureBlendStats |
| Observable residency counters for virtual-texture diagnostics. 更多... | |
| struct | VirtualTexturePageId |
| Mip-zero virtual page selected for physical residency. 更多... | |
| struct | VirtualTextureResidentSet |
| CPU images and sampling metadata for one atomically publishable physical cache. 更多... | |
| class | VolumeDensityGraph |
| Compact acyclic program that evaluates procedural volume density. 更多... | |
| class | Volumetric |
| Volumetric light + fog. 更多... | |
| struct | VolumetricLight |
| Local light injected into participating media. 更多... | |
| class | Water |
| Dynamic water surface with sky reflection and animated ripples. 更多... | |
| struct | WaterDepthGradient |
| Caller-owned color and alpha keys used to bake a water depth-ramp texture. 更多... | |
| class | Waterfall |
| Flowing waterfall (falling water sheet) rendered on a vertical plane. 更多... | |
| struct | WaterGradientAlphaStop |
| One linear alpha stop in a Pcg-compatible water depth gradient. 更多... | |
| struct | WaterGradientColorStop |
| One linear RGB stop in a Pcg-compatible water depth gradient. 更多... | |
| struct | WaterMeshSettings |
| Authored dimensions and density for Pcg-compatible procedural water geometry. 更多... | |
| struct | WaterPlanarReflectionInput |
| Immutable camera and horizontal water-plane inputs for a reflection capture. 更多... | |
| struct | WaterPlanarReflectionPlan |
| Complete, caller-owned plan for configuring a mirrored capture camera. 更多... | |
| struct | WaterPlanarReflectionSettings |
| Authored planar-reflection policy with no camera or texture ownership. 更多... | |
| class | WaterReflectionMasker |
| Own a CPU snapshot of Pcg's planar-reflection mask and evaluate player movement against it. 更多... | |
| struct | WaterSceneConditions |
| Immutable scene inputs used to decide whether water reflections are stale. 更多... | |
| struct | WaterStyleConfig |
| Versioned, backend-neutral configuration for the built-in stylized water surface. 更多... | |
| struct | WaterSurfaceFogSnapshot |
| Caller-owned surface fog values restored after leaving or disabling underwater effects. 更多... | |
| struct | WaterSurfaceMaterialSnapshot |
| Caller-owned water-renderable tint restored outside the underwater state. 更多... | |
| struct | WaterSurfacePostFxSnapshot |
| Caller-owned surface post-processing values restored above water. 更多... | |
| struct | WaterSystemSettings |
| Authored policy for Pcg-compatible water placement and reflection refresh. 更多... | |
| struct | WaterSystemState |
| Caller-owned water-system state; contains no scene pointers or hidden clock. 更多... | |
| struct | WaterUnderwaterDisableTriggerState |
| Caller-owned enable state driven by Pcg disable-underwater trigger events. 更多... | |
| struct | WaterUnderwaterInput |
| Immutable per-frame water, camera and lighting snapshot. 更多... | |
| struct | WaterUnderwaterOutput |
| Effects snapshot for graphics, audio, particles and VFX providers to consume. 更多... | |
| struct | WaterUnderwaterSettings |
| Authored Pcg underwater-effects policy; owns no renderer, audio source or scene object. 更多... | |
| struct | WaterUnderwaterState |
| Persistent caller-owned transition and caustic animation state. 更多... | |
| struct | WaterUnderwaterTriggerEvent |
| Immutable normalized 3D trigger event snapshot supplied by the physics owner. 更多... | |
| class | WebGpuArtifactDescriptorAdapter |
| Computes the same descriptor a WebGPU backend would expose without a device. 更多... | |
类型定义 | |
| using | GraphicsArtifactHandle = eve::RuntimeHandle< GraphicsArtifactHandleTag > |
| Generation-qualified handle for a graphics artifact resource. | |
| using | BlendMode = eve::BlendMode |
| Compatibility alias for the shared 2D blend mode. | |
| using | ClusteredLightGpu = Light3DGpu |
| using | Color = eve::Color |
| RGBA color used by every graphics draw call. Lives inside eve::graphics so including a graphics header cannot pollute the global namespace. Kept in its own tiny header so modules that only need the color type (e.g. map, particles) do not have to include Canvas.h. | |
| using | GpuParticleHandle = std::uint64_t |
| Opaque backend-owned GPU particle emitter handle. | |
| using | PrimitiveGeometry3D = std::variant< PrimitivePolyline3D, PrimitiveAabb3D, PrimitiveObb3D, PrimitiveDisk3D, PrimitiveArc3D, PrimitiveSphere3D, PrimitiveCapsule3D, PrimitiveCylinder3D, PrimitiveCone3D, PrimitiveGrid3D, PrimitiveArrow3D, PrimitiveFrustum3D > |
| using | VegetationExtrasGpuAtlas = VegetationGpuAtlas |
| using | VegetationColorsGpuAtlas = VegetationGpuAtlas |
| using | VegetationMotionGpuAtlas = VegetationGpuAtlas |
| using | VegetationVertexGpuAtlas = VegetationGpuAtlas |
| using | ViewPreparation = std::function< Result< void >(Graphics &, const glm::mat4 &, const glm::vec3 &)> |
| Prepare view-dependent resources before any forward target is opened. @thread Graphics thread only. Arguments are borrowed for the synchronous call. @reentrancy Must not register/remove preparers, recursively render a view, or leave a render pass open. | |
枚举 | |
| enum class | BloomFilter { KarisTent , GaussianScatter , GaussianPyramid } |
| Linear HDR reconstruction filter; KarisTent preserves the default pipeline. 更多... | |
| enum class | DepthOfFieldTracking { FollowScreen = 0 , FollowTarget = 1 , FixedOffset = 2 } |
| Pcg-compatible autofocus tracking mode. 更多... | |
| enum class | GpuResidentSubmitStatus : uint8_t { Submitted , Unsupported , InvalidArgument , BackendMismatch , ResourceUnavailable , CapacityExceeded } |
| Structured result for direct resident-instance submission. 更多... | |
| enum class | GpuParticleFacingMode : std::uint32_t { ParticleRotation = 0 , Velocity = 1 , Axis = 2 , Ribbon = 3 } |
| Sprite orientation supported by the resident GPU particle renderer. 更多... | |
| enum class | GpuParticleSortMode : std::uint32_t { None = 0 , Oldest = 1 , Youngest = 2 , Distance = 3 , Birth = 4 } |
| Transparent ordering for the resident GPU particle renderer. 更多... | |
| enum class | SkinInfluenceLimit : int { One = 1 , Two = 2 , Four = 4 } |
| Number of strongest vertex influences retained by GPU skinning. 更多... | |
| enum class | LightingMode : uint8_t { ForwardPlus = 0 , Hybrid = 1 } |
| 3D lighting strategy for opaque geometry. 更多... | |
| enum class | LightingPreset : uint8_t { Desktop = 0 , Mobile = 1 , Ci = 2 } |
| Platform lighting quality preset (does not replace an explicit setLightingMode). 更多... | |
| enum class | MaterialVirtualTextureMode { Conventional , AtlasPageTable } |
| Selects conventional or atlas/page-table material sampling. 更多... | |
| enum class | MeshDepthCompare { Less , LessEqual , Always } |
| Depth comparison for an ordinary custom mesh pipeline. 更多... | |
| enum class | PbrNormalMode : uint32_t { TangentXYZ = 0 , VegetationRG = 1 , VegetationRAG = 2 , VegetationAG = 3 } |
| Per-fragment normal decoding, evaluated after texture filtering. 更多... | |
| enum class | PbrVegetationBackfaceNormalMode : uint32_t { Flip = 0 , Mirror = 1 , Same = 2 } |
| TVE tangent-space normal treatment for back-facing fragments. 更多... | |
| enum class | PbrCullMode : uint32_t { Inherit = 0 , None = 1 , Back = 2 , Front = 3 } |
| Raster face culling requested by a PBR material. 更多... | |
| enum class | PbrTextureSlot : uint32_t { BaseColor , MetallicRoughness , Normal , Occlusion , Emissive , Specular , SpecularColor , Anisotropy , Clearcoat , ClearcoatRoughness , ClearcoatNormal , Count } |
| Canonical glTF texture roles, with fixed semantic channels (not a UV set limit). 更多... | |
| enum class | PbrVegetationDeformationSource : uint32_t { RestMesh , CpuDeformed , GpuFields } |
| Select the single owner of vegetation vertex deformation for a draw. RestMesh leaves authored positions unchanged. CpuDeformed declares that the mesh already contains deformVegetation output. GpuFields applies borrowed global-field inputs in the vertex shader. A draw must never combine CpuDeformed geometry with GpuFields. 更多... | |
| enum class | PbrVegetationMotionMode : uint32_t { Disabled , Object } |
| Select source-equivalent GPU motion evaluation for rest vegetation geometry. 更多... | |
| enum class | PostEffectStage { AfterOpaque , BeforeTransparent , BeforeTonemap , AfterTonemap } |
| Stable insertion points for full-screen effects. 更多... | |
| enum | PostEffectInput : uint32_t { PostInputColor = 1u << 0u , PostInputDepth = 1u << 1u , PostInputNormal = 1u << 2u , PostInputMotion = 1u << 3u , PostInputObjectId = 1u << 4u } |
| PostEffectInput public API. 更多... | |
| enum class | PathFillRule : std::uint8_t { NonZero , EvenOdd } |
| Fill rule applied to closed 2D path contours. 更多... | |
| enum class | PrimitiveUpdateStatus : std::uint8_t { Updated , Unchanged } |
| PrimitiveUpdateStatus public API. 更多... | |
| enum class | PrimitiveRemoveStatus : std::uint8_t { Removed } |
| PrimitiveRemoveStatus public API. 更多... | |
| enum class | PaintMode : std::uint8_t { Fill , Stroke , FillAndStroke } |
| Whether a primitive paints its interior, boundary, or both. 更多... | |
| enum class | LineCap : std::uint8_t { Butt , Square , Round } |
| Shape applied to each open line endpoint. 更多... | |
| enum class | LineJoin : std::uint8_t { Miter , Bevel , Round } |
| Shape used where adjacent line segments meet. 更多... | |
| enum class | WidthSpace : std::uint8_t { ScreenPixels , WorldUnits } |
| Coordinate space in which stroke width is measured. 更多... | |
| enum class | DashSpace : std::uint8_t { ScreenPixels , WorldUnits } |
| Coordinate space in which dash intervals are measured. 更多... | |
| enum class | PrimitiveDepthMode : std::uint8_t { TestAndWrite , TestOnly , Ignore } |
| Depth behavior of one 3D primitive. 更多... | |
| enum class | PrimitiveCullMode : std::uint8_t { None , Back , Front } |
| Face culling used by filled 3D primitives. 更多... | |
| enum class | PrimitiveQuality : std::uint8_t { Low , Medium , High , Adaptive } |
| Reusable quality policy for radial primitive tessellation. 更多... | |
| enum class | PrimitiveRecordStatus : std::uint8_t { Recorded } |
| Successful outcome of one atomic primitive recording operation. 更多... | |
| enum class | ShaderImageFormat { R8 , RG8 , R16 , RGBA8 , BGRA8 , RGBA8Srgb , BGRA8Srgb , BC1 , BC1Srgb , BC3 , BC3Srgb , BC7 , BC7Srgb , RGBA16Unorm , RGBA16Float , RGBA32Float } |
| Explicit sampled-image storage; sRGB conversion never affects alpha. 更多... | |
| enum class | ShaderImageDimension { Image2D , Array2D , Cube , Image3D } |
| Sampled image view dimension; arrays retain all authored layers. 更多... | |
| enum class | ShadowMethod : std::uint8_t { Auto = 0 , None , CascadedDirectional , PerspectiveSpot , CubePoint } |
How a Light3D produces real-time shadows. Auto resolves per light type (dir→CSM, spot→perspective, point→cube). 更多... | |
| enum class | SurfaceMode { Opaque = 0 , Masked = 1 , Transparent = 2 } |
| How a 3D surface contributes to depth and color passes. 更多... | |
| enum class | FilterMode { Nearest , Linear } |
| Mag/min filter for texture sampling. 更多... | |
| enum class | MipmapMode { Disabled , Nearest , Linear } |
| Mipmap filter; Disabled turns off mip sampling (maxLod clamped to 0). 更多... | |
| enum class | VegetationChannel : uint8_t { Color , Extras , Motion , Vertex } |
| Independent vegetation field channels; values use linear color and world units. 更多... | |
| enum class | VegetationBlend : uint8_t { Replace , Add , Multiply , Minimum , Maximum } |
| Ordered field composition operation. 更多... | |
| enum class | VegetationShape : uint8_t { Ellipsoid , Box } |
| Analytic influence shape in an element's local coordinates. 更多... | |
| enum class | VegetationBatchMode { Object , Batched } |
| Object mode rotates around pivots; batched mode uses height-scaled offsets. 更多... | |
| enum class | VegetationNormalEncoding { RedGreen , RedAlphaGreen , AlphaGreen } |
| Channel layout of an already filtered, linear vegetation normal sample. 更多... | |
| enum class | GlslStage { eVertex , eFragment , eCompute } |
| GLSL stage accepted by compileGlslToSpirv. 更多... | |
| enum class | WaterMeshType : std::uint8_t { Plane = 0 , Circle = 1 } |
| Pcg procedural water mesh shape. Custom meshes remain caller-supplied Mesh resources. 更多... | |
| enum class | WaterReflectionResolution : std::uint8_t { Full = 0 , Half = 1 , Third = 2 , Quarter = 3 } |
| Pcg-compatible render-size multiplier for planar water reflections. 更多... | |
| enum class | WaterReflectionMaskChannel { R = 0 , G = 1 , B = 2 , A = 3 , RGBA = 4 } |
| Pcg ReflectionMasker channel selection. 更多... | |
| enum class | WaterReflectionMaskTransition { Unchanged = 0 , Enabled = 1 , Disabled = 2 } |
| Observable reflection-state transition after one player-position sample. 更多... | |
| enum class | WaterAutoUpdateMode : std::uint8_t { Interval = 0 , SceneConditions = 1 } |
| Reflection refresh policy used by the caller-owned water controller. 更多... | |
函数 | |
| GraphicsArtifactProvider & | graphicsArtifactProvider () noexcept |
| Return the process-owned graphics artifact provider singleton. | |
| void | registerGraphicsArtifactProvider (Graphics *graphics=nullptr) |
| Register the graphics provider in the common capability registry. | |
| void | detachGraphicsArtifactProvider (Graphics *graphics) noexcept |
| Detach a Graphics instance before its derived backend is destroyed. | |
| EVENGINE_API_BACKENDS Result< void > | validateBloomFilterSettings (const BloomFilterSettings &settings) |
| Validate enum, finite scatter [0,1], iterations [1,16], and finite clamp (0,65504]. | |
| void | exposeCanvasScriptBindings (ssq::Table &table) |
| Register canvas bindings on the VM owner thread; retains no table reference. | |
| glm::mat4 | perspectiveVulkanRH_ZO (float fovyRad, float aspect, float zNear, float zFar) |
| Right-handed, zero-to-one depth perspective for Vulkan swapchains. | |
| glm::mat4 | orthoVulkanRH_ZO (float left, float right, float bottom, float top, float zNear, float zFar) |
| Ortho vulkan rh zo. | |
| glm::mat4 | cameraProjectionVulkanRH_ZO (bool orthographic, float fovyRad, float orthoHeight, float aspect, float zNear, float zFar) |
| Camera projection shared by rendering, picking, and diagnostic passes. | |
| ClusteredLightingUpload | buildClusteredLighting (const std::vector< ClusteredLightGpu > &points, const std::vector< ClusteredLightGpu > &dirs, const glm::mat4 &view, float nearZ, float farZ, int screenW, int screenH, float fovYRad, const glm::vec4 &ambient) |
| Build clustered tables for point lights in view space. | |
| std::vector< uint8_t > | buildGgxCubemapMipChain (const uint8_t *rgbaFaces, uint32_t faceSize, uint32_t mipLevels, uint32_t sampleCount=32u) |
| Build a mip-major RGBA8 IBL chain: GGX specular mips plus final diffuse irradiance. | |
| Result< void > | evaluateDepthOfFieldFocus (DepthOfFieldFocusState *state, DepthOfFieldFocusOutput *output, const DepthOfFieldFocusSettings *settings, const DepthOfFieldFocusInput *input) |
| Evaluate Pcg AutoDepthOfField tracking and smoothing for one frame. | |
| void | exposeDepthOfFieldFocusBindings (ssq::Table &table) |
| Register Pcg autofocus value types and evaluator. | |
| void | sortDrawItems2D (std::vector< DrawItem2D > &items) |
| Sort draw items 2 d. | |
| uint32_t | nextCodepointUtf8 (const std::string &text, size_t &i) |
Decodes one UTF-8 codepoint from text starting at byte offset i, advancing i past it. Returns 0 at end of string; invalid/truncated sequences decode as U+FFFD and advance by one byte. | |
| Module_IMPL (Graphics, new vulkan::Graphics()) | |
| void | registerGraphicsCapabilities () |
| Registers graphics capabilities. | |
| Result< void > | applyGrassWind (Shader &shader, const VegetationWindState &state, const VegetationWindProfile &profile, double seconds) |
| Atomically apply a validated wind snapshot to a grass shader's CPU uniform storage. | |
| EVENGINE_API_BACKENDS void | exposeGrassWindBindings (ssq::Table &table) |
| Register wind state/profile and checked operations on the VM owner thread, retaining no table reference. | |
| void | lightSpotCosines (float angleDeg, float softness, float &cosOuter, float &cosInner) |
| Convert spot angle/softness into GPU cosines (outer < inner). Shared by Light2D and Light3D flashlight cones. | |
| void | light2dSpotCosines (float angleDeg, float softness, float &cosOuter, float &cosInner) |
| Backward-compatible alias for lightSpotCosines. | |
| LightingPreset | suggestedLightingPreset () |
| Suggest a lighting preset from OS, GPU type/name, and env. | |
| Result< LightingMode > | lightingModeFromEnv () |
Optional explicit mode from EVENGINE_LIGHTING_MODE=forwardPlus|hybrid. | |
| Result< void > | validateMeshInstanceRange (const MeshInstanceRange &range) |
| Worker-safe validation of value-owned range and culling metadata. | |
| bool | meshInstanceRangeVisible (const MeshInstanceRange &range, const glm::mat4 &model, const glm::mat4 &viewProjection, const glm::vec3 &eye) |
| Test transformed bounds against Vulkan clip planes and horizontal distance. | |
| Result< void > | validateMeshShaderRasterState (const MeshShaderRasterState &state) |
| Validate a borrowed value without touching graphics state; safe on any thread. | |
| void | parallaxOffsetUV (float u, float v, float height01, float viewTSx, float viewTSy, float viewTSz, float scale, float &ou, float &ov) |
| Single-sample offset mapping (cheap approximation of the first POM step). | |
| float | silPomCoverage (float displacedU, float displacedV, float padding=0.f) |
| Silhouette POM coverage in raw mesh UV space [0,1]. | |
| float | silPomCoverageSoft (float displacedU, float displacedV, float feather) |
| Soft chart coverage in [0,1] — feathers near the UV border (full SilPOM). | |
| float | silPomHorizonTrim (float height01, float ndotv, float strength, float bias=0.02f) |
| View-dependent horizon trim (SPOM-style) for grazing SilPOM limbs. | |
| void | ssdmScreenOffset (float height01, float viewNdcX, float viewNdcY, float scale, float &outX, float &outY) |
| Screen-space displacement offset (educational SSDM CPU reference). | |
| float | ssdmCoverage (float baseU, float baseV, float offsetU, float offsetV, float padding=0.f) |
| Whether an SSDM-displaced screen sample still covers the surface footprint. | |
| void | clampParallaxParams (ParallaxParams &p) |
| Clamp parallax params. | |
| Result< void > | validatePbrSurface (const PbrSurface &surface) |
| Validate finite material factors and sampler enums without changing the input. | |
| void | exposePcgWaterPhotoModeBindings (ssq::Table &table) |
| Register Pcg water photo-mode authority bindings. | |
| const char * | postEffectStageName (PostEffectStage stage) |
| Post effect stage name. | |
| void | exposePrimitiveScriptBindings (ssq::Table &table, ssq::Class &cls) |
| Registers owning primitive proxies on the VM owner thread; retains no table references. | |
| ResolvedPrimitiveTriangles | resolvePrimitiveStrokes2D (const PrimitiveCanvas2D &canvas, glm::ivec2 viewport) |
| Resolves 2D stroke segment bodies into clip-space triangles. | |
| ResolvedPrimitiveTriangles | resolvePrimitiveStrokes3D (const PrimitiveSceneCanvas3D &canvas) |
| Resolves 3D stroke segment bodies with near-plane clipping. | |
| std::uint32_t | resolveRadialSegments (const RadialTessellation &tessellation, float projectedRadiusPixels) |
| Resolves a radial tessellation policy to a validated segment count. | |
| Result< std::vector< ShaderImageRegion > > | shaderImageRegions (const ShaderImageInput &image) |
| Validate layout, dimensions, sampler compatibility and exact payload size. | |
| Result< std::uint32_t > | shaderInstanceMatrixCount (std::span< const std::byte > bytes) |
| Validate packed instance records without GPU access; returns the record count. | |
| void | exposeShaderScriptBindings (ssq::Table &table, ssq::Class &cls) |
| Register shader loading and binary replacement on the VM owner thread. Borrows both tables for this call only; invokes no script callbacks. | |
| ShadowUpload | buildDirectionalCSM (const glm::vec3 &lightDirTowardSurface, const glm::vec3 &eye, const glm::vec3 &target, const glm::vec3 &up, float fovYRad, float aspect, float nearZ, float farZ, float bias, float strength) |
| Build 3 cascade light view-proj matrices for a directional light. | |
| void | resetShadowLocalPageCache () |
| Clear sticky local-page cache (tests / scheme resets). | |
| Result< ShadowMethod > | parseShadowMethod (std::string_view name) |
| Parse a script/editor method name into ShadowMethod. | |
| const char * | shadowMethodName (ShadowMethod method) |
Canonical lowercase name for a ShadowMethod (auto, none, csm, …). | |
| Result< ShadowMethod > | resolveShadowMethod (std::string_view lightType, ShadowMethod requested) |
| Resolve Auto / validate an explicit method for a concrete light type. | |
| glm::mat4 | buildSpotShadowVP (const glm::vec3 &position, const glm::vec3 &direction, float range, float outerAngleDeg) |
| Build a perspective light VP for a spot caster (Vulkan RH, ZO depth). | |
| Result< glm::mat4 > | buildPointShadowFaceVP (const glm::vec3 &position, int faceIndex, float range) |
| Build one cube-face light VP for a point caster. | |
| float | scoreSpotShadowCandidate (const Light3D::Data &light, const ShadowPagingView &view, const ShadowSchemeSettings &settings, bool hadSlot) |
| Score a spot caster for local-shadow paging (higher = more important). | |
| void | selectShadowCasters (const std::vector< Light3D::Data * > &lights, const std::vector< bool > &isPointFlags, const ShadowSchemeSettings &settings, const ShadowPagingView &view, Light3D::Data *&directionalCaster, std::vector< LocalShadowSlot > &localSlots) |
| Select directional CSM caster + paged local spot slots for one frame. | |
| void | texBombHash22 (float x, float y, float &ox, float &oy) |
| Tex bomb hash 22. | |
| void | texCellBombSampleUV (float u, float v, const TexCellBombParams &p, float &ou, float &ov) |
| Map UV → bombed sample UV for the dominant (floor) cell; strength≤0 → identity. | |
| int | mipmapCountForSize (int width, int height) |
| Full mip chain count for a 2D image (including base level). | |
| Result< void > | applyTreeWind (Shader &shader, const VegetationWindState &state, const VegetationWindProfile &vegetation, const TreeWindProfile &tree, double seconds) |
| Atomically publish one validated tree wind snapshot to CPU-side shader parameters. | |
| Shader * | createTreeWindShader (Graphics *graphics) |
| Create a backend-native tree Mesh3D shader using the engine PBR fragment stage. | |
| Result< VegetationDetailRuntime > | configureVegetationDetails (const PbrSurface &baseSurface, const VegetationMotion &baseMotion, const VegetationDetailSettings &settings) |
| Validate and project TVE Global Details into native PBR and motion snapshots. | |
| Result< Value > | snapshotVegetationDetails (const VegetationDetailSettings &settings) |
Encode one owning Global Details document using eve.graphics.vegetation-details/1. | |
| Result< VegetationDetailSettings > | restoreVegetationDetails (const Value &document) |
| Decode one exact Global Details document transactionally. | |
| Result< VegetationGpuAtlas > | uploadAtlas (IResourceFactory &factory, const VegetationField &field, VegetationChannel channel, glm::vec3 center, glm::vec3 extent, uint32_t width, uint32_t height, bool snapToTexel) |
| Result< VegetationExtrasGpuAtlas > | uploadVegetationExtrasAtlas (IResourceFactory &factory, const VegetationField &field, glm::vec3 center, glm::vec3 extent, uint32_t width, uint32_t height, bool snapToTexel=true) |
| Bake and atomically upload all nine Extras layers as a linear RGBA16F 2D array. | |
| Result< VegetationColorsGpuAtlas > | uploadVegetationColorsAtlas (IResourceFactory &factory, const VegetationField &field, glm::vec3 center, glm::vec3 extent, uint32_t width, uint32_t height, bool snapToTexel=true) |
| Bake and atomically upload all nine Colors layers as a linear RGBA16F 2D array. Ownership, revision, geometry, budget and threading contracts match uploadVegetationExtrasAtlas. | |
| Result< VegetationMotionGpuAtlas > | uploadVegetationMotionAtlas (IResourceFactory &factory, const VegetationField &field, glm::vec3 center, glm::vec3 extent, uint32_t width, uint32_t height, bool snapToTexel=true) |
| Bake and atomically upload all nine Motion layers as a linear RGBA16F 2D array. | |
| Result< VegetationVertexGpuAtlas > | uploadVegetationVertexAtlas (IResourceFactory &factory, const VegetationField &field, glm::vec3 center, glm::vec3 extent, uint32_t width, uint32_t height, bool snapToTexel=true) |
| Bake and atomically upload all nine Vertex layers as a linear RGBA16F 2D array. | |
| Result< void > | releaseVegetationGpuFieldSet (IResourceFactory &factory, VegetationGpuFieldSet &set) |
| Release every texture still present in a detached field set. Successful entries are nulled. If a foreign/already-released entry is found, remaining entries are still attempted and the set retains only failed pointers. | |
| Result< VegetationGpuFieldSet > | uploadVegetationGpuFieldSet (IResourceFactory &factory, const VegetationField &field, glm::vec3 center, glm::vec3 extent, uint32_t width, uint32_t height, bool snapToTexel=true) |
| Bake and upload all four nine-layer projections as one publication. Earlier uploads are released if any later channel fails. The returned set is coherent by revision, snapped bounds and dimensions and owns no factory lifetime. | |
| Result< VegetationGpuFieldSet > | uploadVegetationGpuFieldSet (IResourceFactory &factory, std::span< const VegetationAtlas, 9 > layers, std::uint64_t sourceRevision) |
| Atomically upload nine pre-baked layer atlases into four coherent RGBA16F arrays. | |
| Result< VegetationGpuFieldSet > | uploadVegetationGpuFieldSet (IResourceFactory &factory, std::span< const VegetationChannelAtlas, 9 > colors, std::span< const VegetationChannelAtlas, 9 > extras, std::span< const VegetationChannelAtlas, 9 > motion, std::span< const VegetationChannelAtlas, 9 > vertex, std::uint64_t sourceRevision) |
| Atomically upload four independently sized groups of nine pre-baked channel layers. Each group must be internally coherent. The combined RGBA16F upload is limited to 256 MiB. | |
| Result< void > | bindVegetationGpuFields (PbrSurface &surface, const VegetationField &field, const VegetationExtrasGpuAtlas &extras, const VegetationColorsGpuAtlas &colors, const VegetationMotionGpuAtlas &motion, const VegetationVertexGpuAtlas &vertex, const VegetationGpuRuntime &runtime) |
| Atomically bind four coherent GPU projections to an owning PBR parameter snapshot. | |
| Result< void > | bindVegetationGpuFields (PbrSurface &surface, const VegetationField &field, const VegetationGpuFieldSet &set, const VegetationGpuRuntime &runtime) |
| Convenience overload for a coherent detached four-channel set. | |
| Result< void > | bindVegetationGpuFields (PbrSurface &surface, const VegetationGpuFieldSet &set, std::uint64_t expectedRevision, const VegetationGpuRuntime &runtime) |
| Bind a coherent field set owned by a scene/runtime revision rather than VegetationField. | |
| Result< VegetationMask > | packVegetationOrm (const VegetationMask &source, float occlusion, float smoothness) |
| Project a TVE main/detail linear mask into the native PBR ORM channel convention. Source G is occlusion, A is smoothness, B is retained as the authored color mask. Output RGBA is occlusion, roughness, zero metallic, original color mask. This is an owning derived texture; source pixels remain unchanged and authoritative. Factors are [0,1]. Use the source UV transform and sampler for the derived texture. Source pixels must already be linear; this function never applies sRGB conversion. Admits at most 16 million texels, including 4096-square source masks. Worker-safe and reentrant; input is borrowed synchronously without callbacks. | |
| Result< VegetationGeometry > | deformVegetation (const VegetationField &field, std::span< const VegetationVertex > vertices, const VegetationMotion &motion) |
| Evaluate plant bending, squash, rolling, flutter, interaction and perspective. Worker-safe with immutable field/inputs; no retained borrows, callbacks or GPU calls. Normals use a local deformation Jacobian with masks held constant, followed by the inverse-transpose transform. Evaluating derivatives before world translation avoids large-coordinate cancellation. Geometry is tolerance-bounded across platforms; no bit-exact transcendental or GPU half-precision equivalence is claimed. | |
| Result< glm::vec3 > | decodeVegetationNormal (glm::vec4 sample, VegetationNormalEncoding encoding, float strength) |
| Evaluate TVE 12.6 primary/detail tangent normal reconstruction. | |
| Result< std::vector< VegetationVertex > > | decodeTveVegetationVertices (std::span< const TvePackedVertex > vertices) |
| Decode TVE 12.x color/motion/bounds/detail/pivot packing to native rest vertices. Borrows input only during this call; worker-safe and reentrant, no callbacks/resources. Encoded pairs must be exact unsigned 22-bit integers. Mask channels must be [0,1]. | |
| Result< void > | updateVegetationMesh (Graphics &graphics, Mesh &mesh, const VegetationField &field, std::span< const VegetationVertex > vertices, const VegetationMotion &motion, std::span< const float > texcoords, std::span< const uint32_t > indices) |
| Deform rest geometry then update an existing mesh through the active Graphics backend. Render-thread only; graphics owns mesh and must outlive this call and subsequent draws. All references/spans are immediate borrows; no callbacks or pointers are retained. Rest geometry is object-space with an explicit motion.objectToWorld transform. Render the resulting world-space mesh with the identity model transform. Updated positions and bounds are shared by color, depth and shadow passes. | |
| Result< void > | applyVegetationSurface (Material &material, const VegetationSample &sample, const VegetationSurface &surface) |
| Apply an independently sampled field to a masked double-sided PBR material. Render-thread only, no callbacks; material is borrowed during this call only. Existing texture bindings are retained by their existing material lifetime contract. | |
| void | exposeVegetationScriptBindings (ssq::Table &table, ssq::Class &graphicsClass) |
| Register vegetation field bindings on the VM owner thread. Borrows tables for this call; no script callbacks or retained table references. | |
| Result< std::array< float, 14 > > | packVegetationWind (const VegetationWindState &state, const VegetationWindProfile &profile, double seconds) |
| Pack a wind snapshot into the grass shader's final 14 float slots. | |
| Result< void > | initializeVegetationWind (VegetationWindState &state, glm::vec3 forward, float strength) |
| Apply Pcg WindManager.InstantWindApply semantics without smoothing. | |
| Result< void > | advanceVegetationWind (VegetationWindState &state, glm::vec3 forward, float strength, float dt) |
| Advance source WindManager smoothing and phase using explicit nonnegative dt. Direction Y follows -max(forward.y, length(forward.xz)*0.5); strength clamps to [0,1.2]. Lerp factor clamps dt*0.25; phase uses the smoothed strength and subtracts 100 once if >100. | |
| Result< void > | advanceVegetationWindAudio (VegetationWindAudioState &state, float windStrength, float transitionTime, float dt, bool enabled, bool clipAvailable) |
| Advance Pcg WindManager CheckWindVolume and ProcessWindAudio as a pure state transition. | |
| Result< glm::vec3 > | evaluateVegetationWind (const VegetationWindInput &input, const VegetationWindState &state) |
| Evaluate the source main/branch/leaf deformation for one vertex without mutation. Requires finite inputs, invertible object transform, positive dimensions/distance, unit sine inputs and finite wind globals. Source branch/leaf compile switches are explicit flags. Resolves the source root 0/0 volume normalization as zero displacement; other nonrepresentable results fail. | |
| Result< uint64_t > | addViewPreparation (ViewPreparation callback) |
| Register a preparer for main and offscreen views; empty callbacks fail. @ownership Registry owns the callable until removal; captured objects must outlive registration. | |
| void | removeViewPreparation (uint64_t token) noexcept |
| Remove a registration; missing/zero tokens are harmless. @thread Graphics thread outside dispatch. Does not invoke the callback. | |
| bool | glslRuntimeCompilationAvailable () |
| Whether this build can compile GLSL text to SPIR-V at runtime. | |
| std::vector< std::uint32_t > | compileGlslToSpirv (const std::string &source, GlslStage stage, const std::string &debugName) |
| Compile GLSL text to SPIR-V words. | |
| Result< int > | calculateWaterMeshTriangles (const WaterMeshSettings &settings) |
| Calculate Pcg PWS_WaterSystem's triangle count without allocating a mesh. | |
| Shader * | newWaterShader (Graphics *gfx) |
| Create the embedded water fragment shader (owned by Graphics). | |
| Shader * | newWaterfallShader (Graphics *gfx) |
| Create the embedded waterfall fragment shader (owned by Graphics). | |
| Result< WaterPlanarReflectionPlan > | buildWaterPlanarReflectionPlan (const WaterPlanarReflectionSettings &settings, const WaterPlanarReflectionInput &input) |
| Build the mirror-camera plan used by PcgPlanarReflections without retaining scene objects. | |
| EVENGINE_API_BACKENDS void | exposeWaterPlanarReflectionBindings (ssq::Table &table) |
| Register planar water-reflection value types and checked planner with the VM owner thread. | |
| void | exposeWaterReflectionMaskerBindings (ssq::Table &table) |
| Register Pcg reflection-mask bindings. | |
| Result< void > | initializeWaterSystem (WaterSystemState &state, const WaterSystemSettings &settings, const WaterSceneConditions &scene, int initialSceneCheckFrames) |
| Initialize a water controller from an authored policy and current scene snapshot. | |
| Result< bool > | advanceWaterSystem (WaterSystemState &state, const WaterSystemSettings &settings, const WaterSceneConditions &scene, float playerX, float playerZ, float dt, int nextSceneCheckFrames) |
| Advance infinite placement and Pcg-compatible reflection refresh scheduling. | |
| Result< bool > | updateWaterSeaLevel (WaterSystemState &state, float seaLevel, bool regenerateReflections) |
| Atomically move the water surface to a new sea level. | |
| void | exposeWaterSystemBindings (ssq::Table &table) |
| Register water-system value types and checked operations with the VM owner thread. | |
| Result< void > | advanceWaterUnderwaterEffects (WaterUnderwaterState &state, WaterUnderwaterOutput &output, const WaterUnderwaterSettings &settings, const WaterUnderwaterInput &input, const UnderwaterColorGradient &depthGradient, const UnderwaterColorGradient &timeGradient, const UnderwaterScalarCurve &postExposureCurve, const UnderwaterColorGradient &postColorGradient) |
| Advance Pcg underwater transitions and derive provider-neutral effects. | |
| Result< void > | advanceWaterUnderwaterDisableTrigger (WaterUnderwaterDisableTriggerState &state, const WaterUnderwaterTriggerEvent &event, int expectedSensorTag, int expectedVisitorTag) |
| Apply one Box3D trigger event using Pcg DisableUnderwaterFXTrigger semantics. | |
| Result< void > | applyWaterUnderwaterFog (Volumetric *volumetric, const WaterUnderwaterOutput &output, const WaterSurfaceFogSnapshot &surface) |
| Apply a water-effects snapshot to an existing EVEngine volumetric fog provider. | |
| Result< void > | applyWaterUnderwaterPostFx (Graphics *graphics, Camera3D *camera, const WaterUnderwaterOutput &output, const WaterSurfacePostFxSnapshot &surface) |
| Apply underwater exposure and final-composite color to borrowed graphics providers. | |
| Result< void > | applyWaterUnderwaterHorizon (Renderable3D *horizon, const WaterUnderwaterOutput &output) |
| Synchronize Pcg's underwater horizon mesh visibility. | |
| Result< void > | applyWaterUnderwaterMaterial (Renderable3D *renderable, const WaterUnderwaterOutput &output, const WaterSurfaceMaterialSnapshot &surface) |
| Apply Pcg's per-frame underwater material color to a dedicated water renderable. | |
| void | exposeWaterUnderwaterEffectsBindings (ssq::Table &table) |
| Register underwater-effects value types and checked transition with the VM owner thread. | |
变量 | |
| constexpr uint32_t | kInvalidGpuDrivenSlot = 0xFFFFFFFFu |
| GPU-driven rendering shared constants + std430 GPU layouts. | |
| constexpr uint32_t | kMaxGpuDrivenTextures = 1024 |
| constexpr uint32_t | kMaxGpuDrivenCubemaps = 64 |
| constexpr GpuParticleHandle | kInvalidGpuParticleHandle = 0 |
| Invalid GPU particle handle returned when the backend cannot allocate the resource. | |
详细描述
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局参数。 数据模型与渲染/交互逻辑见 CardTypes.h。
Capability for the camera math a scene picking / culling call needs.
卡牌游戏 UI 工具模块:数据模型与渲染/交互逻辑(功能参考 ycarowr/UiCard)。 模块入口 eve.Card() 见 Card.h;本文件是 CardData/Deck/Zone/Hand 等 ECS 实体与布局渲染实现。
@ownership Implementations are registered by the module that owns the camera (graphics) and borrow every argument for the duration of one call; nothing is retained. @threadsafety screenRay writes the ray back into the borrowed camera, so it inherits that call's caller-side serialization; clipForViewport is reentrant.
scene (L1) exposes picking and frustum-culling entry points that take a graphics::Camera3D; turning a screen pixel into a world ray, and building the view-projection matrix, needs a complete Camera3D, which is graphics (L4) territory. Implementing those calls inside scene would force an upward include, so the projection lives with graphics and reaches scene through this capability, declared here by the consumer as common/Capability.h prescribes.
The implementation is registered by graphics/ScenePicking.cpp; scene queries it per call and degrades explicitly when nothing provides it: Scene::pickScreenAt returns an empty id, Scene::collectFrustumIdsAt an empty list and Scene::applyPcgTerrainCullingAt a DiagnosticCode::Unsupported failure. Callers that must tell "no provider" apart from "nothing hit" can query this capability themselves.
@cost One cap::query per call, then the caller's own traversal; both entry points run per user action, not per frame.
类型定义说明
◆ BlendMode
| using eve::graphics::BlendMode = typedef eve::BlendMode |
Compatibility alias for the shared 2D blend mode.
在文件 BlendMode.h 第 8 行定义.
◆ ClusteredLightGpu
| using eve::graphics::ClusteredLightGpu = typedef Light3DGpu |
在文件 ClusteredLight.h 第 21 行定义.
◆ Color
| using eve::graphics::Color = typedef eve::Color |
RGBA color used by every graphics draw call. Lives inside eve::graphics so including a graphics header cannot pollute the global namespace. Kept in its own tiny header so modules that only need the color type (e.g. map, particles) do not have to include Canvas.h.
◆ GpuParticleHandle
| using eve::graphics::GpuParticleHandle = typedef std::uint64_t |
Opaque backend-owned GPU particle emitter handle.
在文件 GpuParticles.h 第 36 行定义.
◆ GraphicsArtifactHandle
Generation-qualified handle for a graphics artifact resource.
在文件 ArtifactProvider.h 第 25 行定义.
◆ PrimitiveGeometry3D
在文件 PrimitiveScene.h 第 136 行定义.
◆ VegetationColorsGpuAtlas
| using eve::graphics::VegetationColorsGpuAtlas = typedef VegetationGpuAtlas |
在文件 VegetationFieldGpu.h 第 30 行定义.
◆ VegetationExtrasGpuAtlas
| using eve::graphics::VegetationExtrasGpuAtlas = typedef VegetationGpuAtlas |
在文件 VegetationFieldGpu.h 第 29 行定义.
◆ VegetationMotionGpuAtlas
| using eve::graphics::VegetationMotionGpuAtlas = typedef VegetationGpuAtlas |
在文件 VegetationFieldGpu.h 第 31 行定义.
◆ VegetationVertexGpuAtlas
| using eve::graphics::VegetationVertexGpuAtlas = typedef VegetationGpuAtlas |
在文件 VegetationFieldGpu.h 第 32 行定义.
◆ ViewPreparation
| using eve::graphics::ViewPreparation = typedef std::function<Result<void>(Graphics&, const glm::mat4&, const glm::vec3&)> |
Prepare view-dependent resources before any forward target is opened. @thread Graphics thread only. Arguments are borrowed for the synchronous call. @reentrancy Must not register/remove preparers, recursively render a view, or leave a render pass open.
A failure cancels this view before its forward draw; callbacks own their resource transactions.
在文件 ViewPreparation.h 第 14 行定义.
枚举类型说明
◆ BloomFilter
|
strong |
◆ DashSpace
|
strong |
Coordinate space in which dash intervals are measured.
| 枚举值 | |
|---|---|
| ScreenPixels | |
| WorldUnits | |
在文件 PrimitiveTypes.h 第 26 行定义.
◆ DepthOfFieldTracking
|
strong |
Pcg-compatible autofocus tracking mode.
| 枚举值 | |
|---|---|
| FollowScreen | |
| FollowTarget | |
| FixedOffset | |
在文件 DepthOfFieldFocus.h 第 12 行定义.
◆ FilterMode
|
strong |
◆ GlslStage
|
strong |
GLSL stage accepted by compileGlslToSpirv.
| 枚举值 | |
|---|---|
| eVertex | |
| eFragment | |
| eCompute | |
在文件 GlslCompiler.h 第 12 行定义.
◆ GpuParticleFacingMode
|
strong |
Sprite orientation supported by the resident GPU particle renderer.
| 枚举值 | |
|---|---|
| ParticleRotation | |
| Velocity | |
| Axis | |
| Ribbon | Connect birth-ordered neighbors into ribbon segments. |
在文件 GpuParticles.h 第 12 行定义.
◆ GpuParticleSortMode
|
strong |
Transparent ordering for the resident GPU particle renderer.
Index permutation only: particle buffers stay compacted in nondeterministic atomic order. Oldest/youngest use normalized age; distance sorts far-to-near using the draw camera when enabled. Birth orders by spawn serial for ribbons.
| 枚举值 | |
|---|---|
| None | |
| Oldest | |
| Youngest | |
| Distance | |
| Birth | |
在文件 GpuParticles.h 第 27 行定义.
◆ GpuResidentSubmitStatus
|
strong |
Structured result for direct resident-instance submission.
| 枚举值 | |
|---|---|
| Submitted | |
| Unsupported | |
| InvalidArgument | |
| BackendMismatch | |
| ResourceUnavailable | |
| CapacityExceeded | |
在文件 GpuDrivenTypes.h 第 48 行定义.
◆ LightingMode
|
strong |
3D lighting strategy for opaque geometry.
Transparent / hair draws always use Forward+ (or the legacy transparent forward path). Hybrid selects clustered deferred lighting for core PBR opaque/masked geometry once that pass is available.
- 参见
- docs/dev/superpowers/specs/2026-09-26-hybrid-clustered-deferred-forward-plus-design.md
| 枚举值 | |
|---|---|
| ForwardPlus | Clustered-forward for opaque (default). |
| Hybrid | Opaque: clustered deferred; transparent: Forward+. |
在文件 LightingMode.h 第 20 行定义.
◆ LightingPreset
|
strong |
Platform lighting quality preset (does not replace an explicit setLightingMode).
Desktop → Hybrid when deferred lighting is available; Mobile / Ci → ForwardPlus. Suggested by OS + GPU (Lavapipe / CPU ICD → Ci) and optional env overrides.
| 枚举值 | |
|---|---|
| Desktop | Prefer Hybrid when the backend supports deferred lighting. |
| Mobile | Bandwidth-sensitive; keep ForwardPlus. |
| Ci | Headless / software Vulkan (Lavapipe); keep ForwardPlus. |
在文件 LightingMode.h 第 31 行定义.
◆ LineCap
|
strong |
◆ LineJoin
|
strong |
◆ MaterialVirtualTextureMode
|
strong |
Selects conventional or atlas/page-table material sampling.
| 枚举值 | |
|---|---|
| Conventional | |
| AtlasPageTable | |
在文件 Material.h 第 21 行定义.
◆ MeshDepthCompare
|
strong |
Depth comparison for an ordinary custom mesh pipeline.
| 枚举值 | |
|---|---|
| Less | |
| LessEqual | |
| Always | |
在文件 MeshShaderRasterState.h 第 7 行定义.
◆ MipmapMode
|
strong |
Mipmap filter; Disabled turns off mip sampling (maxLod clamped to 0).
| 枚举值 | |
|---|---|
| Disabled | |
| Nearest | |
| Linear | |
在文件 TextureSampler.h 第 17 行定义.
◆ PaintMode
|
strong |
Whether a primitive paints its interior, boundary, or both.
| 枚举值 | |
|---|---|
| Fill | |
| Stroke | |
| FillAndStroke | |
在文件 PrimitiveTypes.h 第 18 行定义.
◆ PathFillRule
|
strong |
◆ PbrCullMode
|
strong |
Raster face culling requested by a PBR material.
| 枚举值 | |
|---|---|
| Inherit | |
| None | |
| Back | |
| Front | |
在文件 PbrSurface.h 第 20 行定义.
◆ PbrNormalMode
|
strong |
Per-fragment normal decoding, evaluated after texture filtering.
| 枚举值 | |
|---|---|
| TangentXYZ | Conventional signed XYZ tangent normal. |
| VegetationRG | TVE RG remap with fixed Z=1. |
| VegetationRAG | TVE R*A and G remap with fixed Z=1. |
| VegetationAG | TVE A and G remap with fixed Z=1. |
在文件 PbrSurface.h 第 11 行定义.
◆ PbrTextureSlot
|
strong |
Canonical glTF texture roles, with fixed semantic channels (not a UV set limit).
| 枚举值 | |
|---|---|
| BaseColor | |
| MetallicRoughness | |
| Normal | |
| Occlusion | |
| Emissive | |
| Specular | |
| SpecularColor | |
| Anisotropy | |
| Clearcoat | |
| ClearcoatRoughness | |
| ClearcoatNormal | |
| Count | |
在文件 PbrSurface.h 第 22 行定义.
◆ PbrVegetationBackfaceNormalMode
|
strong |
TVE tangent-space normal treatment for back-facing fragments.
| 枚举值 | |
|---|---|
| Flip | |
| Mirror | |
| Same | |
在文件 PbrSurface.h 第 18 行定义.
◆ PbrVegetationDeformationSource
|
strong |
Select the single owner of vegetation vertex deformation for a draw. RestMesh leaves authored positions unchanged. CpuDeformed declares that the mesh already contains deformVegetation output. GpuFields applies borrowed global-field inputs in the vertex shader. A draw must never combine CpuDeformed geometry with GpuFields.
| 枚举值 | |
|---|---|
| RestMesh | |
| CpuDeformed | |
| GpuFields | |
在文件 PbrSurface.h 第 146 行定义.
◆ PbrVegetationMotionMode
|
strong |
Select source-equivalent GPU motion evaluation for rest vegetation geometry.
| 枚举值 | |
|---|---|
| Disabled | |
| Object | |
在文件 PbrSurface.h 第 162 行定义.
◆ PostEffectInput
| enum eve::graphics::PostEffectInput : uint32_t |
PostEffectInput public API.
| 枚举值 | |
|---|---|
| PostInputColor | |
| PostInputDepth | |
| PostInputNormal | |
| PostInputMotion | |
| PostInputObjectId | |
在文件 PostEffect.h 第 11 行定义.
◆ PostEffectStage
|
strong |
Stable insertion points for full-screen effects.
| 枚举值 | |
|---|---|
| AfterOpaque | |
| BeforeTransparent | |
| BeforeTonemap | |
| AfterTonemap | |
在文件 PostEffect.h 第 8 行定义.
◆ PrimitiveCullMode
|
strong |
◆ PrimitiveDepthMode
|
strong |
◆ PrimitiveQuality
|
strong |
Reusable quality policy for radial primitive tessellation.
| 枚举值 | |
|---|---|
| Low | |
| Medium | |
| High | |
| Adaptive | |
在文件 PrimitiveTypes.h 第 32 行定义.
◆ PrimitiveRecordStatus
|
strong |
Successful outcome of one atomic primitive recording operation.
| 枚举值 | |
|---|---|
| Recorded | |
在文件 PrimitiveTypes.h 第 34 行定义.
◆ PrimitiveRemoveStatus
|
strong |
◆ PrimitiveUpdateStatus
|
strong |
◆ ShaderImageDimension
|
strong |
Sampled image view dimension; arrays retain all authored layers.
| 枚举值 | |
|---|---|
| Image2D | |
| Array2D | |
| Cube | |
| Image3D | |
在文件 ShaderResources.h 第 33 行定义.
◆ ShaderImageFormat
|
strong |
Explicit sampled-image storage; sRGB conversion never affects alpha.
| 枚举值 | |
|---|---|
| R8 | |
| RG8 | |
| R16 | |
| RGBA8 | |
| BGRA8 | |
| RGBA8Srgb | |
| BGRA8Srgb | |
| BC1 | |
| BC1Srgb | |
| BC3 | |
| BC3Srgb | |
| BC7 | |
| BC7Srgb | |
| RGBA16Unorm | |
| RGBA16Float | |
| RGBA32Float | |
在文件 ShaderResources.h 第 14 行定义.
◆ ShadowMethod
|
strong |
◆ SkinInfluenceLimit
|
strong |
Number of strongest vertex influences retained by GPU skinning.
| 枚举值 | |
|---|---|
| One | |
| Two | |
| Four | |
在文件 IGraphics3D.h 第 19 行定义.
◆ SurfaceMode
|
strong |
How a 3D surface contributes to depth and color passes.
| 枚举值 | |
|---|---|
| Opaque | |
| Masked | |
| Transparent | |
在文件 SurfaceMode.h 第 6 行定义.
◆ VegetationBatchMode
|
strong |
Object mode rotates around pivots; batched mode uses height-scaled offsets.
| 枚举值 | |
|---|---|
| Object | |
| Batched | |
在文件 VegetationMotion.h 第 15 行定义.
◆ VegetationBlend
|
strong |
Ordered field composition operation.
| 枚举值 | |
|---|---|
| Replace | |
| Add | |
| Multiply | |
| Minimum | |
| Maximum | |
在文件 VegetationField.h 第 18 行定义.
◆ VegetationChannel
|
strong |
Independent vegetation field channels; values use linear color and world units.
| 枚举值 | |
|---|---|
| Color | |
| Extras | |
| Motion | |
| Vertex | |
在文件 VegetationField.h 第 16 行定义.
◆ VegetationNormalEncoding
|
strong |
Channel layout of an already filtered, linear vegetation normal sample.
| 枚举值 | |
|---|---|
| RedGreen | ASTC normal encoding: source red and green. |
| RedAlphaGreen | Default Unity encoding: red times alpha, then green. |
| AlphaGreen | UNITY_NO_DXT5nm source branch: alpha and green. |
在文件 VegetationNormal.h 第 8 行定义.
◆ VegetationShape
|
strong |
Analytic influence shape in an element's local coordinates.
| 枚举值 | |
|---|---|
| Ellipsoid | |
| Box | |
在文件 VegetationField.h 第 20 行定义.
◆ WaterAutoUpdateMode
|
strong |
Reflection refresh policy used by the caller-owned water controller.
| 枚举值 | |
|---|---|
| Interval | |
| SceneConditions | |
在文件 WaterSystem.h 第 16 行定义.
◆ WaterMeshType
|
strong |
◆ WaterReflectionMaskChannel
|
strong |
◆ WaterReflectionMaskTransition
|
strong |
Observable reflection-state transition after one player-position sample.
| 枚举值 | |
|---|---|
| Unchanged | |
| Enabled | |
| Disabled | |
在文件 WaterReflectionMasker.h 第 18 行定义.
◆ WaterReflectionResolution
|
strong |
Pcg-compatible render-size multiplier for planar water reflections.
| 枚举值 | |
|---|---|
| Full | |
| Half | |
| Third | |
| Quarter | |
在文件 WaterPlanarReflection.h 第 15 行定义.
◆ WidthSpace
|
strong |
Coordinate space in which stroke width is measured.
| 枚举值 | |
|---|---|
| ScreenPixels | |
| WorldUnits | |
在文件 PrimitiveTypes.h 第 24 行定义.
函数说明
◆ addViewPreparation()
| EVENGINE_API_BACKENDS Result< uint64_t > eve::graphics::addViewPreparation | ( | ViewPreparation | callback | ) |
Register a preparer for main and offscreen views; empty callbacks fail. @ownership Registry owns the callable until removal; captured objects must outlive registration.
- 返回
- Stable removal token or structured failure, without partial registration. @thread Graphics thread, outside dispatch.
在文件 ViewPreparation.cpp 第 19 行定义.
引用了 callback, entries, error, eve::Result< T >::failure(), eve::Result< T >::success() , 以及 token.
◆ advanceVegetationWind()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::advanceVegetationWind | ( | VegetationWindState & | state, |
| glm::vec3 | forward, | ||
| float | strength, | ||
| float | dt | ||
| ) |
Advance source WindManager smoothing and phase using explicit nonnegative dt. Direction Y follows -max(forward.y, length(forward.xz)*0.5); strength clamps to [0,1.2]. Lerp factor clamps dt*0.25; phase uses the smoothed strength and subtracts 100 once if >100.
- 返回
- Success or InvalidArgument; invalid/nonrepresentable input preserves state atomically. Caller serializes state on its owner thread. No borrowed pointer, callback, wall clock or RNG.
在文件 VegetationWind.cpp 第 48 行定义.
引用了 direction, eve::Diagnostic::error(), eve::Result< T >::failure(), finite, eve::InvalidArgument, main(), phase, state, strength, eve::Result< T >::success(), target , 以及 valid.
◆ advanceVegetationWindAudio()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::advanceVegetationWindAudio | ( | VegetationWindAudioState & | state, |
| float | windStrength, | ||
| float | transitionTime, | ||
| float | dt, | ||
| bool | enabled, | ||
| bool | clipAvailable | ||
| ) |
Advance Pcg WindManager CheckWindVolume and ProcessWindAudio as a pure state transition.
- 参数
-
state Exclusively borrowed audio controller state, published only after validation. windStrength Finite WindZone main value; the audio target is clamped to [0,1]. transitionTime Finite positive source transition duration. dt Finite nonnegative explicit frame delta. enabled False skips both source checks exactly like m_useWindAudio. clipAvailable False retains processing state but skips playback and volume mutation.
- 返回
- Success or InvalidArgument; failure preserves state. @thread Synchronous caller-owned access; no audio object, callback, clock or reference is retained. The source's currentWindSpeed is intentionally not updated: a nonzero WindZone re-arms processing each frame. Lerp clamps dt/transitionTime. Increasing volume snaps within 0.05 below target; the source's asymmetric decreasing comparison is retained and generally approaches zero without snapping.
在文件 VegetationWind.cpp 第 68 行定义.
引用了 enabled, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, state, eve::Result< T >::success(), target , 以及 windStrength.
◆ advanceWaterSystem()
| EVENGINE_API_BACKENDS Result< bool > eve::graphics::advanceWaterSystem | ( | WaterSystemState & | state, |
| const WaterSystemSettings & | settings, | ||
| const WaterSceneConditions & | scene, | ||
| float | playerX, | ||
| float | playerZ, | ||
| float | dt, | ||
| int | nextSceneCheckFrames | ||
| ) |
Advance infinite placement and Pcg-compatible reflection refresh scheduling.
- 参数
-
state Exclusively borrowed initialized state. settings Immutable current policy. scene Current immutable scene snapshot. playerX Finite player/camera world X used only in infinite mode. playerZ Finite player/camera world Z used only in infinite mode. dt Finite nonnegative caller-provided simulation delta. nextSceneCheckFrames Positive injected replacement for Pcg's random 5..14-frame delay after refresh.
- 返回
- Whether this step requests reflection regeneration. Failure preserves state. @thread Synchronous caller-owned access. Deterministic for the supplied inputs and injected delay.
在文件 WaterSystem.cpp 第 50 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::graphics::WaterSystemState::observed, eve::graphics::WaterSystemState::positionX, eve::graphics::WaterSystemState::positionY, eve::graphics::WaterSystemState::positionZ, eve::graphics::WaterSystemState::refreshRemaining, eve::graphics::WaterSystemState::refreshRevision, scene, eve::graphics::WaterSystemState::sceneCheckFrames, SceneConditions, eve::graphics::WaterSystemState::seaLevel, settings, state, eve::Result< T >::success() , 以及 valid.
被这些函数引用 exposeWaterSystemBindings().
◆ advanceWaterUnderwaterDisableTrigger()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::advanceWaterUnderwaterDisableTrigger | ( | WaterUnderwaterDisableTriggerState & | state, |
| const WaterUnderwaterTriggerEvent & | event, | ||
| int | expectedSensorTag, | ||
| int | expectedVisitorTag | ||
| ) |
Apply one Box3D trigger event using Pcg DisableUnderwaterFXTrigger semantics.
- 参数
-
state Exclusively borrowed state; matching enter disables and matching exit enables effects. event Immutable event copied from World3D's begin/end trigger buffers. expectedSensorTag Stable Shape3D tag identifying this disable zone. expectedVisitorTag Stable Shape3D tag identifying the player/visitor.
- 返回
- Success or InvalidArgument; malformed events preserve state and mismatched tags are ignored. @thread Deterministic simulation-owner operation; retains no pointer and invokes no callback.
在文件 WaterUnderwaterEffects.cpp 第 206 行定义.
引用了 eve::graphics::WaterUnderwaterTriggerEvent::entered, eve::Diagnostic::error(), eve::graphics::WaterUnderwaterTriggerEvent::exited, eve::Result< T >::failure(), eve::InvalidArgument, eve::graphics::WaterUnderwaterTriggerEvent::sensorTag, state, eve::Result< T >::success() , 以及 eve::graphics::WaterUnderwaterTriggerEvent::visitorTag.
◆ advanceWaterUnderwaterEffects()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::advanceWaterUnderwaterEffects | ( | WaterUnderwaterState & | state, |
| WaterUnderwaterOutput & | output, | ||
| const WaterUnderwaterSettings & | settings, | ||
| const WaterUnderwaterInput & | input, | ||
| const UnderwaterColorGradient & | depthGradient, | ||
| const UnderwaterColorGradient & | timeGradient, | ||
| const UnderwaterScalarCurve & | postExposureCurve, | ||
| const UnderwaterColorGradient & | postColorGradient | ||
| ) |
Advance Pcg underwater transitions and derive provider-neutral effects.
- 参数
-
state Exclusively borrowed state, published only after validation and complete evaluation. output Exclusively borrowed output, published atomically with state. settings Immutable authored policy. input Immutable finite frame snapshot with explicit caustic ticks. depthGradient Required nonempty depth gradient when fog is enabled without override. timeGradient Required nonempty time gradient when fog override is enabled.
- 返回
- Success or InvalidArgument; failure preserves state and output. @thread Synchronous and deterministic; retains no pointer and invokes no callback.
在文件 WaterUnderwaterEffects.cpp 第 70 行定义.
引用了 eve::graphics::WaterUnderwaterState::causticFrame, eve::graphics::WaterUnderwaterOutput::causticFrame, eve::graphics::WaterUnderwaterOutput::caustics, eve::graphics::WaterUnderwaterOutput::causticSize, color, d, eve::graphics::WaterUnderwaterOutput::depth01, eve::graphics::WaterUnderwaterOutput::entered, eve::Diagnostic::error(), eve::graphics::UnderwaterColorGradient::evaluate(), eve::graphics::UnderwaterScalarCurve::evaluate(), eve::graphics::WaterUnderwaterOutput::exited, eve::Result< T >::failure(), eve::graphics::WaterUnderwaterOutput::fogColor, eve::graphics::WaterUnderwaterOutput::fogDensity, eve::graphics::WaterUnderwaterOutput::fogEnd, eve::graphics::WaterUnderwaterOutput::fogHeight, eve::graphics::WaterUnderwaterOutput::fogStart, eve::graphics::WaterUnderwaterOutput::hdrpAnisotropy, eve::graphics::WaterUnderwaterOutput::hdrpBaseHeight, eve::graphics::WaterUnderwaterOutput::hdrpDepthExtent, eve::graphics::WaterUnderwaterOutput::hdrpMeanFreePath, eve::graphics::WaterUnderwaterOutput::hdrpProbeDimmer, eve::graphics::WaterUnderwaterOutput::horizon, eve::graphics::WaterUnderwaterState::initialized, input, eve::InvalidArgument, eve::graphics::WaterUnderwaterState::isUnderwater, eve::graphics::WaterUnderwaterOutput::isUnderwater, eve::graphics::WaterUnderwaterOutput::loopAudio, output, eve::graphics::WaterUnderwaterOutput::particles, eve::graphics::WaterUnderwaterOutput::playSubmergeDown, eve::graphics::WaterUnderwaterOutput::playSubmergeUp, eve::graphics::WaterUnderwaterOutput::postColor, eve::graphics::WaterUnderwaterOutput::postExposure, eve::graphics::WaterUnderwaterOutput::postFx, settings, state, eve::Result< T >::success(), eve::graphics::WaterUnderwaterOutput::surfaceVfx, eve::graphics::WaterUnderwaterOutput::transitionColorFilter, eve::graphics::WaterUnderwaterOutput::transitionFx, eve::graphics::WaterUnderwaterOutput::transitionGain, eve::graphics::WaterUnderwaterOutput::transitionInverseGamma, eve::graphics::WaterUnderwaterOutput::transitionLensDistortion, eve::graphics::WaterUnderwaterOutput::transitionLensScale, eve::graphics::WaterUnderwaterOutput::transitionLift, eve::graphics::WaterUnderwaterOutput::transitionVignette, eve::graphics::WaterUnderwaterOutput::transitionVignetteSmoothness, eve::graphics::WaterUnderwaterOutput::transitionWeight , 以及 eve::graphics::WaterUnderwaterOutput::underwaterMaterialColor.
◆ applyGrassWind()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::applyGrassWind | ( | Shader & | shader, |
| const VegetationWindState & | state, | ||
| const VegetationWindProfile & | profile, | ||
| double | seconds | ||
| ) |
Atomically apply a validated wind snapshot to a grass shader's CPU uniform storage.
- 参数
-
shader Borrowed grass shader with the canonical 32-float layout. state Borrowed immutable globals. profile Borrowed immutable material controls. seconds Explicit finite clock for full and quarter-frequency sine values.
- 返回
- Success or InvalidArgument for invalid inputs/schema; failure preserves all uniform bytes. @ownership Retains no references. Call on the shader's Graphics owner thread outside draw/capture callbacks. No GPU allocation or callback occurs. Re-baking creates a new shader with disabled wind; callers reapply their authoritative snapshot after baking. This function does not advance state.
在文件 GrassWind.cpp 第 8 行定义.
引用了 bytes, eve::Diagnostic::error(), EV_ASSERT, eve::Result< T >::failure(), eve::graphics::Shader::getUniformFloatCount(), eve::graphics::Shader::getUniformIndex(), eve::graphics::Shader::hasUniform(), eve::InvalidArgument, packVegetationWind(), eve::graphics::Shader::sendToVar(), shader, state, eve::Result< T >::success() , 以及 eve::graphics::Shader::usedFloats().
◆ applyTreeWind()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::applyTreeWind | ( | Shader & | shader, |
| const VegetationWindState & | state, | ||
| const VegetationWindProfile & | vegetation, | ||
| const TreeWindProfile & | tree, | ||
| double | seconds | ||
| ) |
Atomically publish one validated tree wind snapshot to CPU-side shader parameters.
- 参数
-
shader Borrowed tree shader with the canonical 16-float layout. state Borrowed immutable global wind state. vegetation Borrowed immutable shared PW material controls. tree Borrowed immutable tree prototype dimensions and Pcg bend factor. seconds Explicit finite simulation time; no wall clock is read.
- 返回
- Success or InvalidArgument. Failure preserves all shader parameter bytes. @ownership Retains no references and invokes no callbacks. Call on the shader owner thread.
在文件 TreeWind.cpp 第 13 行定义.
引用了 eve::graphics::TreeWindProfile::bendFactor, bytes, eve::Diagnostic::error(), EV_ASSERT, eve::Result< T >::failure(), eve::graphics::VegetationWindProfile::flex, eve::graphics::Shader::getUniformFloatCount(), eve::graphics::Shader::getUniformIndex(), eve::graphics::Shader::hasUniform(), eve::InvalidArgument, packVegetationWind(), eve::graphics::Shader::sendToVar(), shader, state, eve::Result< T >::success(), eve::graphics::Shader::usedFloats(), values , 以及 eve::graphics::TreeWindProfile::widthHeight.
◆ applyVegetationSurface()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::applyVegetationSurface | ( | Material & | material, |
| const VegetationSample & | sample, | ||
| const VegetationSurface & | surface | ||
| ) |
Apply an independently sampled field to a masked double-sided PBR material. Render-thread only, no callbacks; material is borrowed during this call only. Existing texture bindings are retained by their existing material lifetime contract.
- 返回
- InvalidArgument before mutation; otherwise applies tint, wetness, overlay, emission and alpha atomically with respect to validation. No texture creation occurs.
在文件 VegetationRender.cpp 第 56 行定义.
引用了 eve::graphics::VegetationSurface::albedo, eve::graphics::VegetationSurface::alphaCutoff, eve::graphics::VegetationSurface::backfaceNormalMode, c, eve::graphics::VegetationSurface::colorsCoverage, eve::graphics::VegetationSurface::colorsIntensity, eve::graphics::VegetationSurface::colorsMask, eve::graphics::VegetationSurface::colorsVariation, eve::graphics::VegetationSurface::emission, eve::Result< T >::failure(), eve::graphics::PbrVegetationColorStages::fieldColor, finite, eve::graphics::VegetationSurface::invertVertexOcclusion, eve::graphics::VegetationSurface::invertVertexOcclusionColors, material, eve::graphics::VegetationSurface::overlayColor, eve::graphics::VegetationSurface::overlayCoverage, eve::graphics::VegetationSurface::overlayNormalScale, eve::graphics::VegetationSurface::overlayProjection, eve::graphics::VegetationSurface::overlaySmoothness, eve::graphics::VegetationSurface::overlaySubsurface, eve::graphics::VegetationSurface::overlayVariation, pbr, eve::graphics::Material::pbrSurface(), eve::graphics::VegetationSurface::roughness, eve::graphics::Material::setAlphaCutoff(), eve::graphics::Material::setDoubleSided(), eve::graphics::Material::setPbrSurface(), eve::graphics::Material::setRoughness(), eve::graphics::Material::setSurfaceMode(), eve::graphics::Material::setTint(), eve::Result< T >::success(), unit, value, eve::graphics::PbrSurface::vegetationColor, eve::graphics::VegetationSurface::vertexOcclusionAlpha, eve::graphics::VegetationSurface::vertexOcclusionColor, eve::graphics::VegetationSurface::vertexOcclusionMaximum, eve::graphics::VegetationSurface::vertexOcclusionMinimum, wetness, eve::graphics::VegetationSurface::wetnessContrast, eve::graphics::VegetationSurface::wetnessCoverage , 以及 eve::graphics::VegetationSurface::wetnessNormalScale.
◆ applyWaterUnderwaterFog()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::applyWaterUnderwaterFog | ( | Volumetric * | volumetric, |
| const WaterUnderwaterOutput & | output, | ||
| const WaterSurfaceFogSnapshot & | surface | ||
| ) |
Apply a water-effects snapshot to an existing EVEngine volumetric fog provider.
- 参数
-
volumetric Borrowed provider used synchronously and never retained. output Immutable current underwater output. surface Immutable values restored when output is above water.
- 返回
- Success or InvalidArgument; validation completes before provider mutation. @thread Must run on the owning graphics thread outside render callbacks.
在文件 WaterUnderwaterEffects.cpp 第 221 行定义.
引用了 eve::graphics::WaterSurfaceFogSnapshot::color, color, eve::graphics::WaterSurfaceFogSnapshot::density, end, eve::graphics::WaterSurfaceFogSnapshot::end, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::graphics::WaterSurfaceFogSnapshot::height, eve::graphics::WaterSurfaceFogSnapshot::heightFalloff, eve::InvalidArgument, output, eve::graphics::Volumetric::setDensity(), eve::graphics::Volumetric::setFogColor(), eve::graphics::Volumetric::setFogEnd(), eve::graphics::Volumetric::setFogHeight(), eve::graphics::Volumetric::setFogHeightFalloff(), eve::graphics::Volumetric::setFogStart(), eve::graphics::Volumetric::setMode(), start, eve::graphics::WaterSurfaceFogSnapshot::start , 以及 eve::Result< T >::success().
◆ applyWaterUnderwaterHorizon()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::applyWaterUnderwaterHorizon | ( | Renderable3D * | horizon, |
| const WaterUnderwaterOutput & | output | ||
| ) |
Synchronize Pcg's underwater horizon mesh visibility.
- 参数
-
horizon Borrowed renderable mutated synchronously and never retained. output Immutable current underwater output.
- 返回
- Success or InvalidArgument. @thread Scene owner thread only; callbacks are not invoked.
在文件 WaterUnderwaterEffects.cpp 第 294 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, output, eve::graphics::Renderable3D::setVisible() , 以及 eve::Result< T >::success().
◆ applyWaterUnderwaterMaterial()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::applyWaterUnderwaterMaterial | ( | Renderable3D * | renderable, |
| const WaterUnderwaterOutput & | output, | ||
| const WaterSurfaceMaterialSnapshot & | surface | ||
| ) |
Apply Pcg's per-frame underwater material color to a dedicated water renderable.
- 参数
-
renderable Borrowed water renderable mutated synchronously and never retained. output Immutable current underwater output. surface Immutable tint restored when the effect is inactive.
- 返回
- Success or InvalidArgument; validation completes before mutation. @thread Scene owner thread only; callbacks are not invoked.
在文件 WaterUnderwaterEffects.cpp 第 303 行定义.
引用了 eve::graphics::WaterSurfaceMaterialSnapshot::alpha, eve::graphics::WaterSurfaceMaterialSnapshot::color, color, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, output, eve::graphics::Renderable3D::setTint() , 以及 eve::Result< T >::success().
◆ applyWaterUnderwaterPostFx()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::applyWaterUnderwaterPostFx | ( | Graphics * | graphics, |
| Camera3D * | camera, | ||
| const WaterUnderwaterOutput & | output, | ||
| const WaterSurfacePostFxSnapshot & | surface | ||
| ) |
Apply underwater exposure and final-composite color to borrowed graphics providers.
- 参数
-
graphics Borrowed graphics provider mutated synchronously and never retained. camera Borrowed camera mutated synchronously and never retained. output Immutable current underwater output. surface Immutable values restored when the effect is inactive.
- 返回
- Success or InvalidArgument; validation completes before either provider is mutated. @thread Must run on the owning graphics thread outside render callbacks.
在文件 WaterUnderwaterEffects.cpp 第 248 行定义.
引用了 camera, eve::graphics::WaterSurfacePostFxSnapshot::color, eve::Diagnostic::error(), eve::graphics::WaterSurfacePostFxSnapshot::exposureEv, eve::Result< T >::failure(), eve::graphics::WaterSurfacePostFxSnapshot::gain, eve::InvalidArgument, eve::graphics::WaterSurfacePostFxSnapshot::inverseGamma, eve::graphics::WaterSurfacePostFxSnapshot::lensDistortion, eve::graphics::WaterSurfacePostFxSnapshot::lensScale, eve::graphics::WaterSurfacePostFxSnapshot::lift, output, eve::graphics::Graphics::setSceneColorFilter(), eve::graphics::Graphics::setSceneLiftGammaGain(), eve::graphics::Graphics::setSceneTransitionFx(), eve::Result< T >::success(), eve::graphics::WaterSurfacePostFxSnapshot::vignette , 以及 eve::graphics::WaterSurfacePostFxSnapshot::vignetteSmoothness.
◆ bindVegetationGpuFields() [1/3]
| EVENGINE_API_BACKENDS Result< void > eve::graphics::bindVegetationGpuFields | ( | PbrSurface & | surface, |
| const VegetationField & | field, | ||
| const VegetationExtrasGpuAtlas & | extras, | ||
| const VegetationColorsGpuAtlas & | colors, | ||
| const VegetationMotionGpuAtlas & | motion, | ||
| const VegetationVertexGpuAtlas & | vertex, | ||
| const VegetationGpuRuntime & | runtime | ||
| ) |
Atomically bind four coherent GPU projections to an owning PBR parameter snapshot.
- 参数
-
surface Owning parameter snapshot; unchanged on validation failure. field Borrowed authoritative field used only to reject stale projections. extras Borrowed projection; its factory-owned texture must outlive every material using surface. colors Borrowed projection with the same revision; geometry may differ from extras. motion Borrowed projection with the same revision; geometry may differ from extras. vertex Borrowed projection with the same revision; geometry may differ from extras. runtime Owning scalar snapshot; motionNoise remains borrowed and must outlive material use.
- 返回
- InvalidArgument without mutation for incoherent/stale projections or invalid runtime values. @thread Graphics thread only. Synchronous, non-reentrant and without callbacks.
在文件 VegetationFieldGpu.cpp 第 385 行定义.
引用了 colors.
被这些函数引用 bindVegetationGpuFields() , 以及 eve::asset_graphics::VegetationSceneGpuRuntime::create().
◆ bindVegetationGpuFields() [2/3]
| EVENGINE_API_BACKENDS Result< void > eve::graphics::bindVegetationGpuFields | ( | PbrSurface & | surface, |
| const VegetationField & | field, | ||
| const VegetationGpuFieldSet & | set, | ||
| const VegetationGpuRuntime & | runtime | ||
| ) |
Convenience overload for a coherent detached four-channel set.
在文件 VegetationFieldGpu.cpp 第 392 行定义.
引用了 bindVegetationGpuFields(), eve::graphics::VegetationGpuFieldSet::colors, eve::graphics::VegetationGpuFieldSet::extras, eve::graphics::VegetationGpuFieldSet::motion , 以及 eve::graphics::VegetationGpuFieldSet::vertex.
◆ bindVegetationGpuFields() [3/3]
| EVENGINE_API_BACKENDS Result< void > eve::graphics::bindVegetationGpuFields | ( | PbrSurface & | surface, |
| const VegetationGpuFieldSet & | set, | ||
| std::uint64_t | expectedRevision, | ||
| const VegetationGpuRuntime & | runtime | ||
| ) |
Bind a coherent field set owned by a scene/runtime revision rather than VegetationField.
在文件 VegetationFieldGpu.cpp 第 397 行定义.
引用了 eve::graphics::VegetationGpuFieldSet::colors, eve::graphics::VegetationGpuFieldSet::extras, eve::graphics::VegetationGpuFieldSet::motion , 以及 eve::graphics::VegetationGpuFieldSet::vertex.
◆ buildClusteredLighting()
| EVENGINE_API_BACKENDS ClusteredLightingUpload eve::graphics::buildClusteredLighting | ( | const std::vector< ClusteredLightGpu > & | points, |
| const std::vector< ClusteredLightGpu > & | dirs, | ||
| const glm::mat4 & | view, | ||
| float | nearZ, | ||
| float | farZ, | ||
| int | screenW, | ||
| int | screenH, | ||
| float | fovYRad, | ||
| const glm::vec4 & | ambient | ||
| ) |
Build clustered tables for point lights in view space.
- 参数
-
points world-space point lights (posRadius.w = radius > 0) dirs world-space directional lights (optional; first becomes primary)
在文件 ClusteredLight.cpp 第 9 行定义.
引用了 a, eve::graphics::ClusteredLightingUpload::ambient, ambient, b, d, depth, halfH, halfW, eve::graphics::ClusteredLightConfig::kClusterCount, eve::graphics::ClusteredLightConfig::kMaxLights, eve::graphics::ClusteredLightConfig::kMaxLightsPerCluster, eve::graphics::ClusteredLightConfig::kSlices, eve::graphics::ClusteredLightConfig::kTilesX, eve::graphics::ClusteredLightConfig::kTilesY, nx, points, radius, sz, u, v, view, x, y, zMax , 以及 zMin.
被这些函数引用 eve::graphics::vulkan::Graphics::drawDeferredLighting() , 以及 eve::graphics::RenderSystem3D::renderToCanvas().
◆ buildDirectionalCSM()
| EVENGINE_API_BACKENDS ShadowUpload eve::graphics::buildDirectionalCSM | ( | const glm::vec3 & | lightDirTowardSurface, |
| const glm::vec3 & | eye, | ||
| const glm::vec3 & | target, | ||
| const glm::vec3 & | up, | ||
| float | fovYRad, | ||
| float | aspect, | ||
| float | nearZ, | ||
| float | farZ, | ||
| float | bias, | ||
| float | strength | ||
| ) |
Build 3 cascade light view-proj matrices for a directional light.
- 参数
-
lightDirTowardSurface world-space direction toward the surface (same as Light3DGpu) eye / target / up camera basis fovYRad / aspect / nearZ / farZ camera clip Splits are camera-forward (view-space +Z) distances. Shaders must select cascades with the same metric (max(-viewPos.z, 0)), not euclidean eye-to-point length. Camera far is clamped to kMaxDistance so large scenes keep usable texel density.
在文件 Shadow.cpp 第 83 行定义.
引用了 eve::graphics::ShadowUpload::active, bias, eye, f, eve::graphics::ShadowConfig::kCascades, eve::graphics::ShadowConfig::kMaxDistance, eve::graphics::ShadowConfig::kSplitLambda, n, p, strength, target , 以及 up.
◆ buildGgxCubemapMipChain()
|
inline |
Build a mip-major RGBA8 IBL chain: GGX specular mips plus final diffuse irradiance.
- 参数
-
rgbaFaces Six contiguous base faces ordered +X, -X, +Y, -Y, +Z, -Z. faceSize Width and height of every base face. mipLevels Number of output mip levels, including the unchanged base. sampleCount Importance samples per output texel for levels above zero.
- 返回
- Packed bytes ordered by mip, then face, then row-major texel.
CacheEntry public API.
Locks .
Max.
Sum.
Cosine sample.
Clamp.
Locks .
在文件 CubemapPrefilter.h 第 167 行定义.
引用了 bytes, c, eve::graphics::cubemap_prefilter_detail::cosineSample(), eve::graphics::cubemap_prefilter_detail::faceDirection(), h, eve::graphics::cubemap_prefilter_detail::importanceSample(), key, level, n, eve::graphics::cubemap_prefilter_detail::radicalInverse(), roughness, eve::graphics::cubemap_prefilter_detail::sampleBase(), size, u, v, weight, x , 以及 y.
◆ buildPointShadowFaceVP()
| EVENGINE_API_BACKENDS Result< glm::mat4 > eve::graphics::buildPointShadowFaceVP | ( | const glm::vec3 & | position, |
| int | faceIndex, | ||
| float | range | ||
| ) |
Build one cube-face light VP for a point caster.
- 参数
-
position World-space light origin. faceIndex 0..5 (+X,-X,+Y,-Y,+Z,-Z). range Positive far plane / Light3D radius.
在文件 ShadowScheme.cpp 第 163 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, perspectiveVulkanRH_ZO(), position, proj, range, eve::Result< T >::success() , 以及 view.
◆ buildSpotShadowVP()
| EVENGINE_API_BACKENDS glm::mat4 eve::graphics::buildSpotShadowVP | ( | const glm::vec3 & | position, |
| const glm::vec3 & | direction, | ||
| float | range, | ||
| float | outerAngleDeg | ||
| ) |
Build a perspective light VP for a spot caster (Vulkan RH, ZO depth).
- 参数
-
position World-space light origin. direction World-space beam axis (toward the lit volume). range Positive far plane / Light3D radius. outerAngleDeg Spot outer half-angle in degrees.
在文件 ShadowScheme.cpp 第 150 行定义.
引用了 direction, perspectiveVulkanRH_ZO(), position, proj, range, up , 以及 view.
被这些函数引用 selectShadowCasters().
◆ buildWaterPlanarReflectionPlan()
| EVENGINE_API_BACKENDS Result< WaterPlanarReflectionPlan > eve::graphics::buildWaterPlanarReflectionPlan | ( | const WaterPlanarReflectionSettings & | settings, |
| const WaterPlanarReflectionInput & | input | ||
| ) |
Build the mirror-camera plan used by PcgPlanarReflections without retaining scene objects.
- 参数
-
settings Immutable authored settings; distances must be finite and nonnegative. input Immutable finite camera and water-plane snapshot.
- 返回
- A complete plan, or InvalidArgument without publishing partial state. @thread Pure, deterministic and reentrant for the supplied inputs.
在文件 WaterPlanarReflection.cpp 第 21 行定义.
引用了 eve::graphics::WaterPlanarReflectionPlan::cameraForward, eve::graphics::WaterPlanarReflectionPlan::cameraPosition, eve::graphics::WaterPlanarReflectionPlan::cullingMask, distance, eve::Diagnostic::error(), eve::Result< T >::failure(), input, eve::InvalidArgument, eve::graphics::WaterPlanarReflectionPlan::layerCullDistances, pixels, eve::graphics::WaterPlanarReflectionPlan::reflectionMatrix, eve::graphics::WaterPlanarReflectionPlan::renderShadows, settings, eve::graphics::WaterPlanarReflectionPlan::shouldRender, eve::Result< T >::success(), eve::graphics::WaterPlanarReflectionPlan::textureHeight, eve::graphics::WaterPlanarReflectionPlan::textureWidth , 以及 eve::graphics::WaterPlanarReflectionPlan::worldClipPlane.
◆ calculateWaterMeshTriangles()
| EVENGINE_API_BACKENDS Result< int > eve::graphics::calculateWaterMeshTriangles | ( | const WaterMeshSettings & | settings | ) |
Calculate Pcg PWS_WaterSystem's triangle count without allocating a mesh.
引用了 counts, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, Plane, settings, eve::Result< T >::success() , 以及 triangles.
◆ cameraProjectionVulkanRH_ZO()
|
inline |
Camera projection shared by rendering, picking, and diagnostic passes.
Ortho vulkan rh zo.
在文件 ClipSpace.h 第 38 行定义.
引用了 halfH, halfW, orthoVulkanRH_ZO() , 以及 perspectiveVulkanRH_ZO().
被这些函数引用 eve::graphics::RenderSystem3D::renderToCanvas() , 以及 eve::graphics::Camera3D::screenToRay().
◆ clampParallaxParams()
|
inline |
◆ compileGlslToSpirv()
| EVENGINE_API_BACKENDS std::vector< std::uint32_t > eve::graphics::compileGlslToSpirv | ( | const std::string & | source, |
| GlslStage | stage, | ||
| const std::string & | debugName | ||
| ) |
Compile GLSL text to SPIR-V words.
Uses the in-process shaderc compiler linked into the engine where available and only spawns the external glslc tool for builds that were configured without it. This is the single owner of runtime GLSL -> SPIR-V for every module: the graphics shader factories (newShader, newMeshShader, ...) and the gpgpu compute path both route through it.
- 参数
-
source GLSL source text; must not be empty. stage Stage to compile the source for. debugName Virtual file name reported in compiler diagnostics.
- 返回
- SPIR-V words; the first word is the SPIR-V magic number.
- 异常
-
std::runtime_error when no compiler is available or compilation fails, with the compiler diagnostics appended to the message. Deliberately not eve::Exception: this also runs on CPU worker threads that must not trigger the global render tracer.
在文件 GlslCompiler.cpp 第 347 行定义.
引用了 source.
被这些函数引用 eve::gpgpu::compileComputeGlsl().
◆ configureVegetationDetails()
| EVENGINE_API_BACKENDS Result< VegetationDetailRuntime > eve::graphics::configureVegetationDetails | ( | const PbrSurface & | baseSurface, |
| const VegetationMotion & | baseMotion, | ||
| const VegetationDetailSettings & | settings | ||
| ) |
Validate and project TVE Global Details into native PBR and motion snapshots.
- 参数
-
baseSurface Existing material values and borrowed texture bindings. baseMotion Existing explicit time, transform, noise and motion values. settings Owning Global Details values.
- 返回
- A detached candidate, or InvalidArgument without changing either input. @thread Worker-safe and reentrant; performs no IO, callbacks, clocks or GPU calls.
在文件 VegetationDetails.cpp 第 35 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, maximum, eve::graphics::VegetationMotion::motionLayer, range, s, eve::Result< T >::success(), unit, valid, validatePbrSurface() , 以及 value.
被这些函数引用 eve::asset_graphics::projectVegetationScene(), restoreVegetationDetails() , 以及 snapshotVegetationDetails().
◆ createTreeWindShader()
Create a backend-native tree Mesh3D shader using the engine PBR fragment stage.
- 参数
-
graphics Borrowed initialized Graphics owner.
- 返回
- Graphics-owned shader pointer.
- 异常
-
eve::Exception for a null/uninitialized owner or backend pipeline failure. @ownership The returned shader is owned by graphics and is main/render-thread affine.
在文件 TreeWindShader.cpp 第 22 行定义.
引用了 eve::graphics::Graphics::getBackendName(), eve::graphics::Shader::gpuHandle, eve::graphics::shaders::kTreeWindVertWgsl, eve::graphics::Graphics::newMeshShaderFromSpv(), eve::graphics::Graphics::newMeshShaderFromWgsl() , 以及 shader.
◆ decodeTveVegetationVertices()
| EVENGINE_API_BACKENDS Result< std::vector< VegetationVertex > > eve::graphics::decodeTveVegetationVertices | ( | std::span< const TvePackedVertex > | vertices | ) |
Decode TVE 12.x color/motion/bounds/detail/pivot packing to native rest vertices. Borrows input only during this call; worker-safe and reentrant, no callbacks/resources. Encoded pairs must be exact unsigned 22-bit integers. Mask channels must be [0,1].
- 返回
- Owning vertices or InvalidArgument/Failed; failure publishes no partial stream.
在文件 VegetationPacking.cpp 第 15 行定义.
引用了 bounds, c, eve::Diagnostic::error(), eve::Failed, finite, eve::InvalidArgument, eve::graphics::VegetationVertex::position, source, v , 以及 vertices.
被这些函数引用 eve::asset_graphics::VegetationAsset::fromCanonical().
◆ decodeVegetationNormal()
| EVENGINE_API_BACKENDS Result< glm::vec3 > eve::graphics::decodeVegetationNormal | ( | glm::vec4 | sample, |
| VegetationNormalEncoding | encoding, | ||
| float | strength | ||
| ) |
Evaluate TVE 12.6 primary/detail tangent normal reconstruction.
- 参数
-
sample Already sampled linear RGBA in [0,1], after texture filtering. encoding Explicit source shader channel selection, not source-file encoding. strength Signed authored strength in [-8,8]. Zero yields (0,0,1).
- 返回
- Owning, unnormalized (decodedXY * strength, 1) or checked invalid-input diagnostic.
- 备注
- No square-root Z reconstruction or normalization is performed: source world-space detail masks consume the unnormalized vector. Decode after filtering; interpolating decoded red-times-alpha texels is not equivalent. Source TIFF/importer processing happens before this API. Thread-safe, reentrant, allocation-free on success, no callbacks or retained references. CPU/GPU parity uses floating-point tolerance, not bitwise equality across backends.
在文件 VegetationNormal.cpp 第 5 行定义.
引用了 AlphaGreen, c, encoding, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, RedAlphaGreen, RedGreen, strength, eve::Result< T >::success() , 以及 x.
◆ deformVegetation()
| EVENGINE_API_BACKENDS Result< VegetationGeometry > eve::graphics::deformVegetation | ( | const VegetationField & | field, |
| std::span< const VegetationVertex > | vertices, | ||
| const VegetationMotion & | motion | ||
| ) |
Evaluate plant bending, squash, rolling, flutter, interaction and perspective. Worker-safe with immutable field/inputs; no retained borrows, callbacks or GPU calls. Normals use a local deformation Jacobian with masks held constant, followed by the inverse-transpose transform. Evaluating derivatives before world translation avoids large-coordinate cancellation. Geometry is tolerance-bounded across platforms; no bit-exact transcendental or GPU half-precision equivalence is claimed.
- 返回
- Owning world-space geometry or InvalidArgument/Failed, never partial output.
在文件 VegetationMotion.cpp 第 185 行定义.
引用了 b, Batched, eve::graphics::VegetationMotion::batchMode, eve::graphics::VegetationGeometry::bitangents, eve::Diagnostic::error(), f, eve::Failed, eve::Result< T >::failure(), finite, local, model, eve::graphics::VegetationGeometry::motionHighlights, eve::graphics::VegetationMotion::motionLayer, n, eve::graphics::VegetationGeometry::normals, eve::graphics::VegetationMotion::objectToWorld, p, eve::graphics::VegetationGeometry::positions, eve::Result< T >::success(), t, tangent, eve::graphics::VegetationGeometry::tangents, unit, eve::graphics::VegetationMotion::usePivots, v, eve::graphics::VegetationGeometry::vegetationFactors, eve::graphics::VegetationMotion::vertexLayer , 以及 vertices.
被这些函数引用 eve::asset_graphics::VegetationAsset::evaluate() , 以及 updateVegetationMesh().
◆ detachGraphicsArtifactProvider()
|
noexcept |
Detach a Graphics instance before its derived backend is destroyed.
Detach a derived Graphics backend before its resources are destroyed.
在文件 ArtifactProvider.cpp 第 487 行定义.
引用了 eve::graphics::GraphicsArtifactProvider::detachGraphics() , 以及 graphicsArtifactProvider().
被这些函数引用 eve::graphics::Graphics::~Graphics(), eve::graphics::vulkan::Graphics::~Graphics() , 以及 eve::graphics::webgpu::Graphics::~Graphics().
◆ evaluateDepthOfFieldFocus()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::evaluateDepthOfFieldFocus | ( | DepthOfFieldFocusState * | state, |
| DepthOfFieldFocusOutput * | output, | ||
| const DepthOfFieldFocusSettings * | settings, | ||
| const DepthOfFieldFocusInput * | input | ||
| ) |
Evaluate Pcg AutoDepthOfField tracking and smoothing for one frame.
- 参数
-
state Required caller-owned persistent tracking state. output Required caller-owned output replaced atomically on success. settings Required finite lens and distance configuration. input Required finite raycast/target observation and injected delta time.
- 返回
- Success, or InvalidArgument before state or output mutation. @ownership All objects remain caller-owned and no pointer is retained. @thread Any thread; raycasts and rendering are performed by the caller.
在文件 DepthOfFieldFocus.cpp 第 5 行定义.
引用了 eve::graphics::DepthOfFieldFocusOutput::active, eve::graphics::DepthOfFieldFocusOutput::aperture, eve::Diagnostic::error(), eve::Result< T >::failure(), finite, FixedOffset, eve::graphics::DepthOfFieldFocusOutput::focalLength, eve::graphics::DepthOfFieldFocusOutput::focusDistance, FollowTarget, input, eve::InvalidArgument, output, settings, state, eve::Result< T >::success(), t , 以及 target.
◆ evaluateVegetationWind()
| EVENGINE_API_BACKENDS Result< glm::vec3 > eve::graphics::evaluateVegetationWind | ( | const VegetationWindInput & | input, |
| const VegetationWindState & | state | ||
| ) |
Evaluate the source main/branch/leaf deformation for one vertex without mutation. Requires finite inputs, invertible object transform, positive dimensions/distance, unit sine inputs and finite wind globals. Source branch/leaf compile switches are explicit flags. Resolves the source root 0/0 volume normalization as zero displacement; other nonrepresentable results fail.
- 返回
- Deformed object-space vertex or InvalidArgument. Double intermediates, float output; numerical tolerance rather than GPU bit parity. Caller provides an immutable snapshot on its owning thread.
在文件 VegetationWind.cpp 第 97 行定义.
引用了 eve::graphics::VegetationWindInput::alphaTest, eve::graphics::VegetationWindInput::billboard, c, eve::graphics::VegetationWindInput::cameraPosition, direction, distance, eve::graphics::VegetationWindInput::enabled, eve::Diagnostic::error(), eve::Result< T >::failure(), finite, eve::graphics::VegetationWindInput::flex, eve::graphics::VegetationWindInput::frequency, eve::InvalidArgument, length, local, main(), eve::graphics::VegetationWindInput::maximumDistance, eve::graphics::VegetationWindInput::objectToWorld, offset, phase, eve::graphics::VegetationWindInput::position, scale, eve::graphics::VegetationWindInput::sinTimeFull, eve::graphics::VegetationWindInput::sinTimeQuarter, state, eve::Result< T >::success(), time, up, valid, eve::graphics::VegetationWindInput::widthHeight, world , 以及 eve::graphics::VegetationWindInput::worldOffset.
◆ exposeCanvasScriptBindings()
| void eve::graphics::exposeCanvasScriptBindings | ( | ssq::Table & | table | ) |
Register canvas bindings on the VM owner thread; retains no table reference.
在文件 CanvasScriptBindings.cpp 第 10 行定义.
引用了 cls, error, eve::Diagnostic::error(), eve::Failed, eve::graphics::Canvas::getHeight(), eve::graphics::Canvas::getTexture(), eve::graphics::Canvas::getWidth(), eve::script::markResultHasValue(), eve::graphics::Canvas::newHDRImageData(), eve::graphics::Canvas::newImageData(), pixels, eve::script::projectResult(), eve::script::projectStatusResult(), status, eve::Result< T >::success() , 以及 vm.
◆ exposeDepthOfFieldFocusBindings()
| void eve::graphics::exposeDepthOfFieldFocusBindings | ( | ssq::Table & | table | ) |
Register Pcg autofocus value types and evaluator.
在文件 DepthOfFieldFocusBindings.cpp 第 5 行定义.
引用了 eve::graphics::DepthOfFieldFocusOutput::active, eve::graphics::DepthOfFieldFocusSettings::aperture, eve::graphics::DepthOfFieldFocusOutput::aperture, eve::graphics::DepthOfFieldFocusInput::deltaSeconds, eve::graphics::DepthOfFieldFocusSettings::enabled, eve::graphics::DepthOfFieldFocusSettings::focalLength, eve::graphics::DepthOfFieldFocusOutput::focalLength, eve::graphics::DepthOfFieldFocusState::focusDistance, eve::graphics::DepthOfFieldFocusOutput::focusDistance, eve::graphics::DepthOfFieldFocusSettings::focusOffset, eve::graphics::DepthOfFieldFocusInput::hasRayHit, eve::graphics::DepthOfFieldFocusInput::hasTarget, eve::graphics::DepthOfFieldFocusInput::hitPlayer, eve::graphics::DepthOfFieldFocusState::initialized, input, eve::graphics::DepthOfFieldFocusSettings::interactWithPlayer, eve::graphics::DepthOfFieldFocusSettings::maximumDistance, eve::graphics::DepthOfFieldFocusState::maximumExceeded, eve::graphics::DepthOfFieldFocusInput::rayHitDistance, eve::graphics::DepthOfFieldFocusSettings::response, s, settings, state, eve::graphics::DepthOfFieldFocusInput::targetDistance, eve::graphics::DepthOfFieldFocusSettings::tracking , 以及 vm.
◆ exposeGrassWindBindings()
| void eve::graphics::exposeGrassWindBindings | ( | ssq::Table & | table | ) |
Register wind state/profile and checked operations on the VM owner thread, retaining no table reference.
在文件 GrassWindBindings.cpp 第 9 行定义.
引用了 eve::graphics::VegetationWindProfile::alphaTest, eve::graphics::VegetationWindAudioState::anchorVolume, eve::graphics::TreeWindProfile::bendFactor, eve::graphics::VegetationWindProfile::billboard, eve::graphics::VegetationWindAudioState::currentWindSpeed, eve::graphics::VegetationWindProfile::enabled, eve::Diagnostic::error(), eve::Result< T >::failure(), height, eve::InvalidArgument, eve::graphics::VegetationWindProfile::maximumDistance, p, eve::graphics::VegetationWindState::phase, eve::graphics::VegetationWindAudioState::playing, eve::graphics::VegetationWindAudioState::processing, eve::script::projectResult(), s, state, eve::graphics::VegetationWindState::strength, strength, eve::graphics::VegetationWindState::updatePhase, vm, eve::graphics::VegetationWindAudioState::volume, width, x, y , 以及 z.
◆ exposePcgWaterPhotoModeBindings()
| void eve::graphics::exposePcgWaterPhotoModeBindings | ( | ssq::Table & | t | ) |
Register Pcg water photo-mode authority bindings.
在文件 PcgWaterPhotoMode.cpp 第 33 行定义.
引用了 c, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::script::projectResult(), s, t, v , 以及 vm.
◆ exposePrimitiveScriptBindings()
| void eve::graphics::exposePrimitiveScriptBindings | ( | ssq::Table & | table, |
| ssq::Class & | cls | ||
| ) |
Registers owning primitive proxies on the VM owner thread; retains no table references.
在文件 PrimitiveScriptBindings.cpp 第 104 行定义.
引用了 a, eve::Additive, eve::Alpha, ax, ay, az, b, Back, Bevel, Butt, bx, by, bz, cls, column, count, descriptor, dx, dy, dz, elements, error, eve::Diagnostic::error(), Fill, FillAndStroke, Front, g, eve::graphics::PrimitiveDescriptor3D::geometry, eve::graphics::Graphics::getPrimitiveScene(), height, Ignore, eve::graphics::DashPattern::intervals, eve::InvalidArgument, layer, message, Miter, eve::Multiply, None, nx, ny, nz, eve::Opaque, eve::graphics::DashPattern::phase, phase, points, eve::Premultiplied, projected, eve::script::projectStatusResult(), r, radius, Round, scene, ScreenPixels, eve::graphics::DashPattern::space, Square, eve::StaleHandle, start, eve::Result< T >::status(), status, Stroke, TestAndWrite, TestOnly, value, visible, vm, width, WorldUnits, x, y , 以及 z.
◆ exposeShaderScriptBindings()
| void eve::graphics::exposeShaderScriptBindings | ( | ssq::Table & | table, |
| ssq::Class & | cls | ||
| ) |
Register shader loading and binary replacement on the VM owner thread. Borrows both tables for this call only; invokes no script callbacks.
在文件 ShaderScriptBindings.cpp 第 86 行定义.
引用了 eve::Additive, eve::Alpha, Always, blend, cls, eve::graphics::Graphics::configureMeshShaderRaster(), eve::graphics::Graphics::configureMeshShaderSurface(), doubleSided, eve::Diagnostic::error(), eve::graphics::detail::exposeShaderResourceBindings(), frag, eve::InvalidArgument, Less, LessEqual, eve::script::markResultHasValue(), eve::Multiply, name, eve::Opaque, eve::Premultiplied, projected, eve::script::projectResult(), eve::script::projectStatusResult(), eve::graphics::Graphics::replaceShaderFromGlsl(), eve::graphics::Graphics::replaceShaderFromSpv(), eve::graphics::Graphics::replaceShaderFromWgsl(), shader, state, vert , 以及 vm.
◆ exposeVegetationScriptBindings()
| void eve::graphics::exposeVegetationScriptBindings | ( | ssq::Table & | table, |
| ssq::Class & | graphicsClass | ||
| ) |
Register vegetation field bindings on the VM owner thread. Borrows tables for this call; no script callbacks or retained table references.
在文件 VegetationScriptBindings.cpp 第 15 行定义.
引用了 cls, color, eve::Diagnostic::error(), input, eve::InvalidArgument, eve::script::makeOwnedSquirrelInstance(), owned, eve::script::projectResult(), eve::script::projectStatusResult(), eve::graphics::VegetationField::restore(), eve::graphics::VegetationField::sample(), eve::graphics::VegetationField::snapshot(), eve::Status::success(), value, eve::script::valueFromSquirrel(), vm, x, y , 以及 z.
◆ exposeWaterPlanarReflectionBindings()
| void eve::graphics::exposeWaterPlanarReflectionBindings | ( | ssq::Table & | table | ) |
Register planar water-reflection value types and checked planner with the VM owner thread.
在文件 WaterPlanarReflectionBindings.cpp 第 9 行定义.
引用了 buildWaterPlanarReflectionPlan(), eve::graphics::WaterPlanarReflectionSettings::clipPlaneOffset, column, eve::graphics::WaterPlanarReflectionPlan::cullingMask, eve::graphics::WaterPlanarReflectionSettings::customRenderDistance, eve::graphics::WaterPlanarReflectionSettings::disableSkyboxReflections, distance, eve::graphics::WaterPlanarReflectionSettings::enabled, eve::graphics::WaterPlanarReflectionSettings::enablePerLayerDistances, eve::graphics::WaterPlanarReflectionSettings::enableRenderDistance, eve::Diagnostic::error(), input, eve::InvalidArgument, layer, eve::graphics::WaterPlanarReflectionSettings::lodBias, eve::graphics::WaterPlanarReflectionInput::orthographic, output, eve::script::projectResult(), eve::graphics::WaterPlanarReflectionInput::reflectionOrPreviewCamera, eve::graphics::WaterPlanarReflectionSettings::reflectLayers, eve::graphics::WaterPlanarReflectionInput::renderScale, eve::graphics::WaterPlanarReflectionPlan::renderShadows, settings, eve::graphics::WaterPlanarReflectionSettings::shadows, eve::graphics::WaterPlanarReflectionPlan::shouldRender, eve::graphics::WaterPlanarReflectionPlan::textureHeight, eve::graphics::WaterPlanarReflectionSettings::textureResolution, eve::graphics::WaterPlanarReflectionPlan::textureWidth, value, vm, eve::graphics::WaterPlanarReflectionInput::waterPlaneY, x, y , 以及 z.
◆ exposeWaterReflectionMaskerBindings()
| EVENGINE_API_BACKENDS void eve::graphics::exposeWaterReflectionMaskerBindings | ( | ssq::Table & | table | ) |
Register Pcg reflection-mask bindings.
在文件 WaterReflectionMasker.cpp 第 60 行定义.
引用了 c, enabled, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, mask, max, min, eve::script::projectResult(), px, pz, r, s, settings, v , 以及 vm.
◆ exposeWaterSystemBindings()
| void eve::graphics::exposeWaterSystemBindings | ( | ssq::Table & | table | ) |
Register water-system value types and checked operations with the VM owner thread.
在文件 WaterSystemBindings.cpp 第 11 行定义.
引用了 advanceWaterSystem(), eve::graphics::WaterSystemSettings::autoRefresh, b, eve::Diagnostic::error(), eve::Result< T >::failure(), g, eve::graphics::WaterSceneConditions::hour, eve::graphics::WaterSystemSettings::ignoreSceneConditions, eve::graphics::WaterSystemSettings::infiniteMode, eve::graphics::WaterSystemState::initialized, initializeWaterSystem(), eve::InvalidArgument, eve::graphics::WaterSceneConditions::minute, eve::graphics::WaterSystemState::positionX, eve::graphics::WaterSystemState::positionY, eve::graphics::WaterSystemState::positionZ, eve::script::projectResult(), r, eve::graphics::WaterSystemSettings::refreshRate, eve::graphics::WaterSystemState::refreshRemaining, eve::graphics::WaterSystemState::refreshRevision, scene, eve::graphics::WaterSystemState::sceneCheckFrames, eve::graphics::WaterSystemState::seaLevel, settings, state, status, eve::graphics::WaterSceneConditions::sunAvailable, eve::graphics::WaterSceneConditions::sunIntensity, eve::graphics::WaterSceneConditions::timeAvailable, updateWaterSeaLevel(), value, vm, x, y , 以及 z.
◆ exposeWaterUnderwaterEffectsBindings()
| void eve::graphics::exposeWaterUnderwaterEffectsBindings | ( | ssq::Table & | table | ) |
Register underwater-effects value types and checked transition with the VM owner thread.
在文件 WaterUnderwaterEffectsBindings.cpp 第 12 行定义.
引用了 ab, eve::graphics::WaterSurfaceMaterialSnapshot::alpha, eve::graphics::WaterUnderwaterSettings::anisotropyDeep, eve::graphics::WaterUnderwaterSettings::anisotropyShallow, b, camera, eve::graphics::WaterUnderwaterInput::cameraY, eve::graphics::WaterUnderwaterState::causticFrame, eve::graphics::WaterUnderwaterOutput::causticFrame, eve::graphics::WaterUnderwaterSettings::causticSize, eve::graphics::WaterUnderwaterOutput::causticSize, eve::graphics::WaterUnderwaterSettings::causticTextureCount, eve::graphics::WaterUnderwaterInput::causticTicks, eve::graphics::UnderwaterColorGradient::clear(), eve::graphics::UnderwaterScalarCurve::clear(), eve::graphics::WaterUnderwaterSettings::constantPostExposure, curve, eve::graphics::WaterSurfaceFogSnapshot::density, eve::graphics::WaterUnderwaterOutput::depth01, eve::graphics::WaterUnderwaterDisableTriggerState::effectsEnabled, eve::graphics::WaterUnderwaterSettings::enabled, eve::graphics::WaterUnderwaterSettings::enableTransitionFx, eve::graphics::WaterSurfaceFogSnapshot::end, eve::graphics::WaterUnderwaterTriggerEvent::entered, EV_UW_BOOL, eve::graphics::WaterUnderwaterTriggerEvent::exited, eve::graphics::WaterSurfacePostFxSnapshot::exposureEv, eve::graphics::WaterUnderwaterSettings::fogDensity, eve::graphics::WaterUnderwaterOutput::fogDensity, eve::graphics::WaterUnderwaterSettings::fogDepth, eve::graphics::WaterUnderwaterSettings::fogDistance, eve::graphics::WaterUnderwaterOutput::fogEnd, eve::graphics::WaterUnderwaterOutput::fogHeight, eve::graphics::WaterUnderwaterOutput::fogStart, eve::graphics::WaterUnderwaterSettings::framesPerSecond, g, eve::graphics::WaterUnderwaterInput::hasMainLight, eve::graphics::WaterUnderwaterSettings::hdrp, eve::graphics::WaterUnderwaterOutput::hdrpAnisotropy, eve::graphics::WaterUnderwaterOutput::hdrpBaseHeight, eve::graphics::WaterUnderwaterOutput::hdrpDepthExtent, eve::graphics::WaterUnderwaterSettings::hdrpFogDistance, eve::graphics::WaterUnderwaterOutput::hdrpMeanFreePath, eve::graphics::WaterUnderwaterOutput::hdrpProbeDimmer, eve::graphics::WaterSurfaceFogSnapshot::height, eve::graphics::WaterSurfaceFogSnapshot::heightFalloff, eve::graphics::WaterUnderwaterState::initialized, input, eve::graphics::WaterUnderwaterState::isUnderwater, eve::graphics::WaterSurfacePostFxSnapshot::lensDistortion, eve::graphics::WaterSurfacePostFxSnapshot::lensScale, eve::graphics::WaterUnderwaterSettings::nearFogDistance, output, eve::graphics::WaterUnderwaterSettings::overrideFogColor, eve::graphics::WaterUnderwaterSettings::overrideFogCurve, eve::graphics::WaterUnderwaterSettings::playbackVolume, eve::graphics::WaterUnderwaterOutput::postExposure, r, eve::graphics::WaterUnderwaterInput::seaLevel, eve::graphics::WaterUnderwaterTriggerEvent::sensorTag, settings, eve::graphics::WaterSurfaceFogSnapshot::start, state, eve::graphics::WaterUnderwaterSettings::supportFog, eve::graphics::WaterUnderwaterSettings::supportPostFx, time, eve::graphics::WaterUnderwaterSettings::timeDrivenPostFx, eve::graphics::WaterUnderwaterInput::timeOfDay, eve::graphics::WaterUnderwaterSettings::transitionBlendDistance, eve::graphics::WaterUnderwaterSettings::transitionHalfHeight, eve::graphics::WaterUnderwaterSettings::transitionLensDistortion, eve::graphics::WaterUnderwaterOutput::transitionLensDistortion, eve::graphics::WaterUnderwaterSettings::transitionLensScale, eve::graphics::WaterUnderwaterOutput::transitionLensScale, eve::graphics::WaterUnderwaterSettings::transitionVignette, eve::graphics::WaterUnderwaterOutput::transitionVignette, eve::graphics::WaterUnderwaterSettings::transitionVignetteSmoothness, eve::graphics::WaterUnderwaterOutput::transitionVignetteSmoothness, eve::graphics::WaterUnderwaterOutput::transitionWeight, eve::graphics::WaterUnderwaterSettings::useCaustics, value, eve::graphics::WaterSurfacePostFxSnapshot::vignette, eve::graphics::WaterSurfacePostFxSnapshot::vignetteSmoothness, eve::graphics::WaterUnderwaterTriggerEvent::visitorTag , 以及 vm.
◆ glslRuntimeCompilationAvailable()
| EVENGINE_API_BACKENDS bool eve::graphics::glslRuntimeCompilationAvailable | ( | ) |
Whether this build can compile GLSL text to SPIR-V at runtime.
True when the engine was linked against the Vulkan SDK's shaderc archive (Windows builds configured with VULKAN_SDK set) or when an external glslc executable is reachable. Callers that can fall back to prebuilt SPIR-V should gate on this instead of probing the platform, so a packaged build without any external tool keeps working.
- 返回
- True when compileGlslToSpirv can be expected to succeed.
在文件 GlslCompiler.cpp 第 334 行定义.
被这些函数引用 eve::graphics::vulkan::Graphics::supportsRuntimeGlslCompilation().
◆ graphicsArtifactProvider()
|
noexcept |
Return the process-owned graphics artifact provider singleton.
在文件 ArtifactProvider.cpp 第 477 行定义.
被这些函数引用 detachGraphicsArtifactProvider() , 以及 registerGraphicsArtifactProvider().
◆ initializeVegetationWind()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::initializeVegetationWind | ( | VegetationWindState & | state, |
| glm::vec3 | forward, | ||
| float | strength | ||
| ) |
Apply Pcg WindManager.InstantWindApply semantics without smoothing.
- 参数
-
state Mutable caller-owned state, published only after complete validation. forward Finite source WindZone forward direction. Y becomes the source forced downward value. strength Finite WindZone main strength, clamped to [0, 1.2].
- 返回
- Success or InvalidArgument; invalid/nonrepresentable input preserves state. The phase becomes std::pow(strength / 2 + 0.5, 3) / 10 exactly as the immediate shader upload path. @ownership Retains no references and invokes no callbacks. Caller serializes its owner-thread state.
在文件 VegetationWind.cpp 第 32 行定义.
引用了 direction, eve::Diagnostic::error(), eve::Result< T >::failure(), finite, eve::InvalidArgument, main(), phase, state, strength , 以及 eve::Result< T >::success().
◆ initializeWaterSystem()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::initializeWaterSystem | ( | WaterSystemState & | state, |
| const WaterSystemSettings & | settings, | ||
| const WaterSceneConditions & | scene, | ||
| int | initialSceneCheckFrames | ||
| ) |
Initialize a water controller from an authored policy and current scene snapshot.
- 参数
-
state Exclusively borrowed state, published only after complete validation. settings Immutable policy. refreshRate must be finite and positive. scene Immutable finite scene snapshot; hour is 0..23 and minute is 0..59 when time is available. initialSceneCheckFrames Nonnegative injected delay before SceneConditions evaluation.
- 返回
- Success or InvalidArgument; failure preserves state. @thread Synchronous caller-owned access. Retains no pointer and invokes no callback.
在文件 WaterSystem.cpp 第 33 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::graphics::WaterSystemState::initialized, eve::InvalidArgument, eve::graphics::WaterSystemState::observed, eve::graphics::WaterSystemState::positionY, eve::graphics::WaterSystemState::refreshRemaining, scene, eve::graphics::WaterSystemState::sceneCheckFrames, eve::graphics::WaterSystemState::seaLevel, settings, state, eve::Result< T >::success() , 以及 valid.
被这些函数引用 exposeWaterSystemBindings().
◆ light2dSpotCosines()
|
inline |
◆ lightingModeFromEnv()
| EVENGINE_API_BACKENDS Result< LightingMode > eve::graphics::lightingModeFromEnv | ( | ) |
Optional explicit mode from EVENGINE_LIGHTING_MODE=forwardPlus|hybrid.
- 返回
- Parsed mode, or empty when the env var is unset / unknown.
在文件 LightingMode.cpp 第 55 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), ForwardPlus, Hybrid, m, eve::NotFound, eve::Result< T >::success() , 以及 eve::Unsupported.
被这些函数引用 eve::graphics::RenderControl::applySuggestedLightingPreset().
◆ lightSpotCosines()
|
inline |
Convert spot angle/softness into GPU cosines (outer < inner). Shared by Light2D and Light3D flashlight cones.
- 参数
-
angleDeg Outer half-angle in degrees. softness Penumbra in [0, 1]. [out] cosOuter Cosine of the outer half-angle. [out] cosInner Cosine of the softened inner half-angle.
引用了 soft.
被这些函数引用 light2dSpotCosines().
◆ meshInstanceRangeVisible()
| EVENGINE_API_BACKENDS bool eve::graphics::meshInstanceRangeVisible | ( | const MeshInstanceRange & | range, |
| const glm::mat4 & | model, | ||
| const glm::mat4 & | viewProjection, | ||
| const glm::vec3 & | eye | ||
| ) |
Test transformed bounds against Vulkan clip planes and horizontal distance.
- 参数
-
range Previously validated value; read-only, not retained. model Finite affine instance-to-world transform. viewProjection Camera projection in zero-to-one clip depth. eye World-space camera origin.
- 返回
- Whether any of the supplied bounds can be visible. Worker-safe.
在文件 MeshInstanceRange.cpp 第 20 行定义.
引用了 center, dx, dz, eye, limit, model, n, p, planes, radius , 以及 range.
被这些函数引用 eve::graphics::RenderSystem3D::render() , 以及 eve::graphics::RenderSystem3D::renderToCanvas().
◆ mipmapCountForSize()
|
inline |
Full mip chain count for a 2D image (including base level).
在文件 TextureSampler.h 第 127 行定义.
被这些函数引用 eve::graphics::vulkan::Graphics::newCubemap(), eve::graphics::webgpu::Graphics::newCubemap(), eve::graphics::vulkan::Graphics::newHDRCubemap(), eve::graphics::webgpu::Graphics::newHDRCubemap(), eve::graphics::vulkan::Graphics::newTexture(), eve::graphics::webgpu::Graphics::newTexture() , 以及 eve::graphics::vulkan::Graphics::replaceTexturePixelsRGBA().
◆ Module_IMPL()
| eve::graphics::Module_IMPL | ( | Graphics | , |
| new | vulkan::Graphics() | ||
| ) |
◆ newWaterfallShader()
Create the embedded waterfall fragment shader (owned by Graphics).
在文件 Waterfall.cpp 第 33 行定义.
引用了 eve::graphics::Shader::declareFloat(), eve::graphics::Shader::declareVec3(), frag, eve::graphics::Graphics::getBackendName(), eve::graphics::shaders::kWaterfallFragWgsl, eve::graphics::Graphics::newMeshShaderFromSpv() , 以及 eve::graphics::Graphics::newMeshShaderFromWgsl().
◆ newWaterShader()
Create the embedded water fragment shader (owned by Graphics).
引用了 eve::Alpha, eve::graphics::Graphics::configureMeshShaderSurface(), eve::graphics::Shader::declareFloat(), eve::graphics::Shader::declareVec3(), eve::Result< void >::expect(), frag, eve::graphics::Graphics::getBackendName(), eve::graphics::shaders::kWaterFragWgsl, eve::graphics::shaders::kWaterVertWgsl, name, eve::graphics::Graphics::newMeshShaderFromSpv(), eve::graphics::Graphics::newMeshShaderFromWgsl() , 以及 vert.
被这些函数引用 eve::graphics::Water::Water().
◆ nextCodepointUtf8()
| uint32_t eve::graphics::nextCodepointUtf8 | ( | const std::string & | text, |
| size_t & | i | ||
| ) |
Decodes one UTF-8 codepoint from text starting at byte offset i, advancing i past it. Returns 0 at end of string; invalid/truncated sequences decode as U+FFFD and advance by one byte.
被这些函数引用 eve::graphics::Graphics::drawText().
◆ orthoVulkanRH_ZO()
|
inline |
Ortho vulkan rh zo.
Matching Y-flip for directional shadow ortho so clip space matches the camera.
在文件 ClipSpace.h 第 30 行定义.
引用了 bottom, left, p, right , 以及 top.
被这些函数引用 cameraProjectionVulkanRH_ZO().
◆ packVegetationOrm()
| EVENGINE_API_BACKENDS Result< VegetationMask > eve::graphics::packVegetationOrm | ( | const VegetationMask & | source, |
| float | occlusion, | ||
| float | smoothness | ||
| ) |
Project a TVE main/detail linear mask into the native PBR ORM channel convention. Source G is occlusion, A is smoothness, B is retained as the authored color mask. Output RGBA is occlusion, roughness, zero metallic, original color mask. This is an owning derived texture; source pixels remain unchanged and authoritative. Factors are [0,1]. Use the source UV transform and sampler for the derived texture. Source pixels must already be linear; this function never applies sRGB conversion. Admits at most 16 million texels, including 4096-square source masks. Worker-safe and reentrant; input is borrowed synchronously without callbacks.
- 返回
- Complete linear texture or checked validation/allocation failure.
在文件 VegetationMaskPacking.cpp 第 6 行定义.
引用了 c, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), eve::graphics::VegetationMask::height, eve::InvalidArgument, eve::graphics::VegetationMask::pixels, source, eve::Result< T >::success(), unit, v , 以及 eve::graphics::VegetationMask::width.
◆ packVegetationWind()
| EVENGINE_API_BACKENDS Result< std::array< float, 14 > > eve::graphics::packVegetationWind | ( | const VegetationWindState & | state, |
| const VegetationWindProfile & | profile, | ||
| double | seconds | ||
| ) |
Pack a wind snapshot into the grass shader's final 14 float slots.
- 参数
-
state Borrowed immutable direction, strength and phase. profile Borrowed material controls; distance must be positive even when disabled. seconds Finite explicit time used for full and quarter-frequency sine values.
- 返回
- Complete packet or InvalidArgument, without mutation or GPU access. @ownership Retains no references. Caller supplies immutable snapshots on its owner thread. Layout is direction, strength, phase, signed distance, flex, frequency and two time sines. Zero distance disables wind. Negative distance selects billboard motion. No alphaTest zeros leaf flex.
在文件 VegetationWind.cpp 第 18 行定义.
引用了 eve::graphics::VegetationWindProfile::alphaTest, eve::graphics::VegetationWindProfile::billboard, distance, eve::graphics::VegetationWindProfile::enabled, eve::Diagnostic::error(), finite, eve::graphics::VegetationWindProfile::flex, eve::graphics::VegetationWindProfile::frequency, eve::InvalidArgument, eve::graphics::VegetationWindProfile::maximumDistance, state , 以及 valid.
被这些函数引用 applyGrassWind() , 以及 applyTreeWind().
◆ parallaxOffsetUV()
|
inline |
◆ parseShadowMethod()
| EVENGINE_API_BACKENDS Result< ShadowMethod > eve::graphics::parseShadowMethod | ( | std::string_view | name | ) |
Parse a script/editor method name into ShadowMethod.
ShadowMethod lives in Shadow.h. Auto resolves per light type: dir→CSM, spot→perspective, point→cube.
在文件 ShadowScheme.cpp 第 91 行定义.
引用了 Auto, CascadedDirectional, CubePoint, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, name, None, PerspectiveSpot , 以及 eve::Result< T >::success().
◆ perspectiveVulkanRH_ZO()
|
inline |
Right-handed, zero-to-one depth perspective for Vulkan swapchains.
GLM's perspectiveRH_ZO matches Vulkan's Z range but keeps OpenGL's Y-up clip space. Vulkan NDC has Y pointing down (same as our 2D Batcher), so without flipping Y, world +Y appears at the bottom of the framebuffer — models look upside-down. Negating proj[1][1] maps world +Y to screen up.
Keep mesh winding outward counter-clockwise in RH Y-up object space. With the engine's positive-height viewport, Vulkan/WebGPU front-face classification in framebuffer coordinates still treats that winding as CounterClockwise.
在文件 ClipSpace.h 第 22 行定义.
引用了 p.
被这些函数引用 buildPointShadowFaceVP(), buildSpotShadowVP(), cameraProjectionVulkanRH_ZO(), eve::graphics::RenderSystem3D::renderToCanvas(), eve::graphics::AmbientOcclusion::setCamera(), eve::graphics::GlobalIllumination::setCamera(), eve::graphics::ScreenSpaceReflection::setCamera() , 以及 eve::graphics::Volumetric::setCamera().
◆ postEffectStageName()
|
inline |
Post effect stage name.
在文件 PostEffect.h 第 28 行定义.
引用了 AfterOpaque, AfterTonemap, BeforeTonemap , 以及 BeforeTransparent.
被这些函数引用 eve::stylize::StyleInstance::getStage(), eve::stylize::StylePass::getStage() , 以及 eve::stylize_editing::StylizeRecipeTarget::validate().
◆ registerGraphicsArtifactProvider()
| EVENGINE_API_BACKENDS void eve::graphics::registerGraphicsArtifactProvider | ( | Graphics * | graphics | ) |
Register the graphics provider in the common capability registry.
Registers graphics artifact provider.
在文件 ArtifactProvider.cpp 第 482 行定义.
引用了 eve::graphics::GraphicsArtifactProvider::bindGraphics() , 以及 graphicsArtifactProvider().
被这些函数引用 eve::graphics::Graphics::Graphics().
◆ registerGraphicsCapabilities()
| EVENGINE_API_BACKENDS void eve::graphics::registerGraphicsCapabilities | ( | ) |
Registers graphics capabilities.
在文件 GraphicsCapabilities.cpp 第 666 行定义.
引用了 impl.
被这些函数引用 eve::graphics::Graphics::Graphics().
◆ releaseVegetationGpuFieldSet()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::releaseVegetationGpuFieldSet | ( | IResourceFactory & | factory, |
| VegetationGpuFieldSet & | set | ||
| ) |
Release every texture still present in a detached field set. Successful entries are nulled. If a foreign/already-released entry is found, remaining entries are still attempted and the set retains only failed pointers.
- 返回
- Success when every non-null texture was released; otherwise Failed. @thread Same graphics thread and factory used for upload; no callbacks.
在文件 VegetationFieldGpu.cpp 第 134 行定义.
引用了 eve::graphics::VegetationGpuFieldSet::colors, eve::Diagnostic::error(), eve::graphics::VegetationGpuFieldSet::extras, eve::Failed, eve::Result< T >::failure(), eve::graphics::VegetationGpuFieldSet::motion, eve::graphics::IResourceFactory::releaseTexture(), eve::Result< T >::success() , 以及 eve::graphics::VegetationGpuFieldSet::vertex.
被这些函数引用 eve::asset_graphics::VegetationSceneGpuRuntime::release(), eve::asset_graphics::VegetationSceneGpuRuntime::replace(), uploadVegetationGpuFieldSet() , 以及 uploadVegetationGpuFieldSet().
◆ removeViewPreparation()
|
noexcept |
◆ resetShadowLocalPageCache()
| EVENGINE_API_BACKENDS void eve::graphics::resetShadowLocalPageCache | ( | ) |
Clear sticky local-page cache (tests / scheme resets).
在文件 ShadowScheme.cpp 第 87 行定义.
被这些函数引用 selectShadowCasters().
◆ resolvePrimitiveStrokes2D()
| EVENGINE_API_BACKENDS ResolvedPrimitiveTriangles eve::graphics::resolvePrimitiveStrokes2D | ( | const PrimitiveCanvas2D & | canvas, |
| glm::ivec2 | viewport | ||
| ) |
Resolves 2D stroke segment bodies into clip-space triangles.
- 参数
-
canvas Source command recorder. viewport Positive pixel dimensions of the current Canvas target.
- 返回
- Owning triangle stream; six vertices are emitted per non-zero segment.
在文件 PrimitiveTessellator.cpp 第 381 行定义.
引用了 a, b, clip, color, eve::graphics::PrimitiveCanvas2D::commands(), direction, endDirection, EV_PARAM_CHECK, firstVertex, halfWidth, length, output, point, previous, size, eve::graphics::PrimitiveCanvas2D::statistics(), eve::graphics::ResolvedPrimitiveTriangles::statistics, triangle, eve::graphics::PrimitiveCanvas2D::triangles(), u , 以及 width.
被这些函数引用 eve::graphics::vulkan::Graphics::drawPrimitiveCanvas() , 以及 eve::graphics::webgpu::Graphics::drawPrimitiveCanvas().
◆ resolvePrimitiveStrokes3D()
| EVENGINE_API_BACKENDS ResolvedPrimitiveTriangles eve::graphics::resolvePrimitiveStrokes3D | ( | const PrimitiveSceneCanvas3D & | canvas | ) |
Resolves 3D stroke segment bodies with near-plane clipping.
- 返回
- Owning clip-space triangles. Fully clipped and zero-length segments are omitted.
在文件 PrimitiveTessellator.cpp 第 472 行定义.
引用了 clip, eve::graphics::PrimitiveSceneCanvas3D::commands(), context, eve::graphics::PrimitiveSceneCanvas3D::context(), direction, firstVertex, halfWidth, normal, output, point, positions, previous, ScreenPixels, sequence, eve::graphics::PrimitiveSceneCanvas3D::statistics(), eve::graphics::ResolvedPrimitiveTriangles::statistics, triangle, eve::graphics::PrimitiveSceneCanvas3D::triangles(), u, eve::graphics::SceneDrawContext::validate(), WorldUnits , 以及 z.
被这些函数引用 eve::graphics::vulkan::Graphics::drawPrimitiveScene() , 以及 eve::graphics::webgpu::Graphics::drawPrimitiveScene().
◆ resolveRadialSegments()
| EVENGINE_API_BACKENDS std::uint32_t eve::graphics::resolveRadialSegments | ( | const RadialTessellation & | tessellation, |
| float | projectedRadiusPixels | ||
| ) |
Resolves a radial tessellation policy to a validated segment count.
在文件 PrimitiveTypes.cpp 第 13 行定义.
引用了 Adaptive, eve::graphics::RadialTessellation::customSegments, EV_PARAM_CHECK, High, Low, eve::graphics::RadialTessellation::maxScreenErrorPixels, Medium , 以及 eve::graphics::RadialTessellation::quality.
被这些函数引用 eve::graphics::PrimitiveCanvas2D::drawCircle() , 以及 eve::graphics::PrimitiveSceneCanvas3D::drawSphere().
◆ resolveShadowMethod()
| EVENGINE_API_BACKENDS Result< ShadowMethod > eve::graphics::resolveShadowMethod | ( | std::string_view | lightType, |
| ShadowMethod | requested | ||
| ) |
Resolve Auto / validate an explicit method for a concrete light type.
- 参数
-
lightType "dir"/"point"/"spot".requested Method from the light (may be Auto).
- 返回
- Concrete method, or failure when the combination is invalid.
在文件 ShadowScheme.cpp 第 123 行定义.
引用了 Auto, CascadedDirectional, CubePoint, eve::Diagnostic::error(), eve::Result< T >::failure(), method, None, PerspectiveSpot, eve::Result< T >::success() , 以及 eve::Unsupported.
被这些函数引用 selectShadowCasters().
◆ restoreVegetationDetails()
| EVENGINE_API_BACKENDS Result< VegetationDetailSettings > eve::graphics::restoreVegetationDetails | ( | const Value & | document | ) |
Decode one exact Global Details document transactionally.
- 参数
-
document Persistent eve.graphics.vegetation-details/1value.
- 返回
- Detached validated settings; unknown fields and versions fail. @thread Worker-safe and reentrant.
在文件 VegetationDetails.cpp 第 128 行定义.
引用了 eve::graphics::VegetationDetailSettings::alphaThreshold, eve::graphics::VegetationDetailSettings::bendingAmplitude, eve::graphics::VegetationDetailSettings::bendingScale, eve::graphics::VegetationDetailSettings::bendingSpeed, eve::graphics::VegetationDetailSettings::colorMaskMaximum, eve::graphics::VegetationDetailSettings::colorMaskMinimum, eve::graphics::VegetationDetailSettings::colorsLayer, configureVegetationDetails(), count, error, eve::Diagnostic::error(), eve::graphics::VegetationDetailSettings::extrasLayer, eve::Failed, eve::Result< T >::failure(), eve::graphics::VegetationDetailSettings::flutterAmplitude, eve::graphics::VegetationDetailSettings::flutterScale, eve::graphics::VegetationDetailSettings::flutterSpeed, global, eve::graphics::VegetationDetailSettings::globalAlpha, eve::graphics::VegetationDetailSettings::globalColor, eve::graphics::VegetationDetailSettings::globalOverlay, eve::graphics::VegetationDetailSettings::globalWetness, highlight, index, eve::graphics::VegetationDetailSettings::interactionAmplitude, eve::InvalidArgument, member, eve::graphics::VegetationDetailSettings::motionHighlight, eve::graphics::VegetationDetailSettings::motionLayer, name, eve::graphics::VegetationDetailSettings::overlayMaskMaximum, eve::graphics::VegetationDetailSettings::overlayMaskMinimum, eve::graphics::VegetationDetailSettings::perspectiveAngle, eve::graphics::VegetationDetailSettings::perspectiveNoise, eve::graphics::VegetationDetailSettings::perspectivePush, eve::Result< T >::success() , 以及 eve::UnknownVersion.
被这些函数引用 eve::asset_graphics::EvpackVegetationSceneLoader::load().
◆ scoreSpotShadowCandidate()
| EVENGINE_API_BACKENDS float eve::graphics::scoreSpotShadowCandidate | ( | const Light3D::Data & | light, |
| const ShadowPagingView & | view, | ||
| const ShadowSchemeSettings & | settings, | ||
| bool | hadSlot | ||
| ) |
Score a spot caster for local-shadow paging (higher = more important).
- 参数
-
light Spot light data. view Camera paging view (ignored when invalid / paging disabled). settings Active scheme settings. hadSlot True when this light occupied a local slot last frame.
在文件 ShadowScheme.cpp 第 184 行定义.
引用了 clip, edge, frustum, eve::graphics::Light3D::Data::intensity, light, pad, pos, eve::graphics::Light3D::Data::radius, range, score, settings, view, eve::graphics::Light3D::Data::x, eve::graphics::Light3D::Data::y , 以及 eve::graphics::Light3D::Data::z.
被这些函数引用 selectShadowCasters().
◆ selectShadowCasters()
| EVENGINE_API_BACKENDS void eve::graphics::selectShadowCasters | ( | const std::vector< Light3D::Data * > & | lights, |
| const std::vector< bool > & | isPointFlags, | ||
| const ShadowSchemeSettings & | settings, | ||
| const ShadowPagingView & | view, | ||
| Light3D::Data *& | directionalCaster, | ||
| std::vector< LocalShadowSlot > & | localSlots | ||
| ) |
Select directional CSM caster + paged local spot slots for one frame.
- 参数
-
lights Scene lights (already collected; may exceed atlas capacity). isPointFlags Parallel flags (true = point/spot). settings Active scheme settings. view Camera used for paging scores (optional when paging disabled). [out] directionalCaster Dir light chosen for CSM, or nullptr. [out] localSlots Allocated spot slots (cached VP when needsUpdate is false). @cost Linear in lights.size()for scoring, plus sort of spot candidates; clears and rewriteslocalSlots(up tomaxSpotShadowCasters/ atlas capacity).
在文件 ShadowScheme.cpp 第 216 行定义.
引用了 a, b, bias, eve::graphics::LocalShadowSlot::bias, buildSpotShadowVP(), CascadedDirectional, CubePoint, d, dir, index, isPoint, eve::graphics::ShadowConfig::kCascades, eve::graphics::ShadowConfig::kLocalSlots, eve::graphics::LocalShadowSlot::layer, light, eve::graphics::LocalShadowSlot::light, eve::graphics::LocalShadowSlot::lightIndex, lights, eve::graphics::LocalShadowSlot::lightVP, method, eve::graphics::LocalShadowSlot::method, eve::graphics::LocalShadowSlot::needsUpdate, None, PerspectiveSpot, priority, resetShadowLocalPageCache(), resolveShadowMethod(), s, score, eve::graphics::LocalShadowSlot::score, scoreSpotShadowCandidate(), settings, eve::graphics::Light3D::Data::shadowBias, eve::graphics::Light3D::Data::shadowLocalSlot, eve::graphics::LocalShadowSlot::strength, v, view , 以及 w.
◆ shaderImageRegions()
| EVENGINE_API_BACKENDS Result< std::vector< ShaderImageRegion > > eve::graphics::shaderImageRegions | ( | const ShaderImageInput & | image | ) |
Validate layout, dimensions, sampler compatibility and exact payload size.
- 参数
-
image Borrowed input, read only during this call; may be validated on workers.
- 返回
- Owning region metadata, or a diagnostic. No GPU state is touched.
在文件 ShaderResources.cpp 第 16 行定义.
引用了 Array2D, BC1, BC1Srgb, BC3, BC3Srgb, BC7, BC7Srgb, BGRA8, BGRA8Srgb, Cube, depth, eve::Diagnostic::error(), height, image, Image2D, Image3D, eve::InvalidArgument, layer, message, offset, R16, R8, RG8, RGBA16Float, RGBA16Unorm, RGBA32Float, RGBA8, RGBA8Srgb, size , 以及 width.
被这些函数引用 eve::graphics::vulkan::Graphics::replaceMeshShaderResources().
◆ shaderInstanceMatrixCount()
| EVENGINE_API_BACKENDS Result< std::uint32_t > eve::graphics::shaderInstanceMatrixCount | ( | std::span< const std::byte > | bytes | ) |
Validate packed instance records without GPU access; returns the record count.
- 参数
-
bytes Borrowed unaligned bytes, retained only for this call. Worker-safe.
- 返回
- Count or diagnostic; empty input is valid and returns zero.
在文件 ShaderResources.cpp 第 92 行定义.
引用了 bytes, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, m, message, offset, eve::Result< T >::success() , 以及 value.
被这些函数引用 eve::graphics::vulkan::Graphics::replaceMeshShaderResources().
◆ shadowMethodName()
| EVENGINE_API_BACKENDS const char * eve::graphics::shadowMethodName | ( | ShadowMethod | method | ) |
Canonical lowercase name for a ShadowMethod (auto, none, csm, …).
在文件 ShadowScheme.cpp 第 107 行定义.
引用了 Auto, CascadedDirectional, CubePoint, method, None , 以及 PerspectiveSpot.
◆ silPomCoverage()
|
inline |
Silhouette POM coverage in raw mesh UV space [0,1].
Returns 1 when the displaced UV stays inside the mesh chart (plus optional padding), else 0. GPU path discards fragments with coverage below the alpha cutoff.
- 参数
-
displacedU Displaced U after POM (raw mesh UV space, not tiled). displacedV Displaced V after POM. padding Soft border in UV units (0 = hard clip at 0/1).
在文件 ParallaxMap.h 第 46 行定义.
引用了 pad.
被这些函数引用 ssdmCoverage().
◆ silPomCoverageSoft()
|
inline |
◆ silPomHorizonTrim()
|
inline |
View-dependent horizon trim (SPOM-style) for grazing SilPOM limbs.
Near-grazing fragments whose height is below a view-dependent threshold are clipped so low relief does not smear past the geometric silhouette.
- 返回
- 1 keep, 0 clip.
在文件 ParallaxMap.h 第 83 行定义.
◆ snapshotVegetationDetails()
| EVENGINE_API_BACKENDS Result< Value > eve::graphics::snapshotVegetationDetails | ( | const VegetationDetailSettings & | settings | ) |
Encode one owning Global Details document using eve.graphics.vegetation-details/1.
- 参数
-
settings Values to validate and encode.
- 返回
- Detached document, or InvalidArgument without publishing partial state. @thread Worker-safe and reentrant.
在文件 VegetationDetails.cpp 第 101 行定义.
引用了 eve::Value::array(), configureVegetationDetails(), eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), eve::Value::object(), settings , 以及 eve::Result< T >::success().
◆ sortDrawItems2D()
|
inline |
◆ ssdmCoverage()
|
inline |
Whether an SSDM-displaced screen sample still covers the surface footprint.
Used by the comparison demo to clip rays that leave the card after view-space march.
Sil pom coverage.
在文件 ParallaxMap.h 第 128 行定义.
引用了 silPomCoverage().
◆ ssdmScreenOffset()
|
inline |
Screen-space displacement offset (educational SSDM CPU reference).
Classic SSDM warps already-rendered pixels along the screen-space projection of the surface relief. For a planar card this reduces to a height-weighted offset along the projected view / normal direction in NDC pixels.
- 参数
-
height01 Height sample in [0,1] (1 = raised toward viewer). viewNdcX View direction X in NDC-ish screen space (toward camera projection). viewNdcY View direction Y in NDC-ish screen space. scale Displacement strength in screen UV units (typical 0.01..0.08). outX Output screen-UV delta X. outY Output screen-UV delta Y.
在文件 ParallaxMap.h 第 104 行定义.
◆ suggestedLightingPreset()
| EVENGINE_API_BACKENDS LightingPreset eve::graphics::suggestedLightingPreset | ( | ) |
Suggest a lighting preset from OS, GPU type/name, and env.
Precedence:
EVENGINE_LIGHTING_PRESET=desktop|mobile|ci- Android / iOS → Mobile
- GPU device type
cpuor name containing llvmpipe/lavapipe → Ci - else Desktop
@thread Safe to call from the render thread after Graphics init (GPU info may be empty earlier).
在文件 LightingMode.cpp 第 27 行定义.
引用了 Ci, Desktop, Mobile, name, p , 以及 type.
被这些函数引用 eve::graphics::RenderControl::applySuggestedLightingPreset().
◆ texBombHash22()
|
inline |
◆ texCellBombSampleUV()
|
inline |
◆ updateVegetationMesh()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::updateVegetationMesh | ( | Graphics & | graphics, |
| Mesh & | mesh, | ||
| const VegetationField & | field, | ||
| std::span< const VegetationVertex > | vertices, | ||
| const VegetationMotion & | motion, | ||
| std::span< const float > | texcoords, | ||
| std::span< const uint32_t > | indices | ||
| ) |
Deform rest geometry then update an existing mesh through the active Graphics backend. Render-thread only; graphics owns mesh and must outlive this call and subsequent draws. All references/spans are immediate borrows; no callbacks or pointers are retained. Rest geometry is object-space with an explicit motion.objectToWorld transform. Render the resulting world-space mesh with the identity model transform. Updated positions and bounds are shared by color, depth and shadow passes.
- 返回
- Validation failure before upload; Unsupported if backend cannot update geometry.
在文件 VegetationRender.cpp 第 22 行定义.
引用了 eve::graphics::Mesh::adoptMotionHighlights(), eve::graphics::Mesh::adoptTangentFrame(), eve::graphics::Mesh::adoptVegetationFactors(), eve::graphics::Mesh::computeBounds(), deformVegetation(), eve::Diagnostic::error(), eve::Result< T >::failure(), indices, mesh, eve::Result< T >::success(), texcoords, eve::Unsupported, eve::graphics::Graphics::updateMeshVertices(), uv, eve::graphics::Mesh::validateMotionHighlights(), eve::graphics::Mesh::validateTangentFrame(), eve::graphics::Mesh::validateVegetationFactors() , 以及 vertices.
◆ updateWaterSeaLevel()
| EVENGINE_API_BACKENDS Result< bool > eve::graphics::updateWaterSeaLevel | ( | WaterSystemState & | state, |
| float | seaLevel, | ||
| bool | regenerateReflections | ||
| ) |
Atomically move the water surface to a new sea level.
- 参数
-
state Exclusively borrowed initialized state. seaLevel Finite world-space Y value. regenerateReflections Whether a changed level increments refreshRevision.
- 返回
- Whether the sea level changed. Failure preserves state.
在文件 WaterSystem.cpp 第 97 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::graphics::WaterSystemState::positionY, eve::graphics::WaterSystemState::refreshRevision, eve::graphics::WaterSystemState::seaLevel, state , 以及 eve::Result< T >::success().
被这些函数引用 exposeWaterSystemBindings().
◆ uploadAtlas()
| Result< VegetationGpuAtlas > eve::graphics::uploadAtlas | ( | IResourceFactory & | factory, |
| const VegetationField & | field, | ||
| VegetationChannel | channel, | ||
| glm::vec3 | center, | ||
| glm::vec3 | extent, | ||
| uint32_t | width, | ||
| uint32_t | height, | ||
| bool | snapToTexel | ||
| ) |
在文件 VegetationFieldGpu.cpp 第 52 行定义.
引用了 center, Color, dx, dz, eve::Diagnostic::error(), Extras, eve::Failed, eve::Result< T >::failure(), finite, height, layer, Motion, eve::graphics::IResourceFactory::newTextureArrayRgba16f(), offset, pixels, position, eve::Result< T >::success(), value, width, x , 以及 y.
被这些函数引用 uploadVegetationColorsAtlas(), uploadVegetationExtrasAtlas(), uploadVegetationMotionAtlas() , 以及 uploadVegetationVertexAtlas().
◆ uploadVegetationColorsAtlas()
| EVENGINE_API_BACKENDS Result< VegetationColorsGpuAtlas > eve::graphics::uploadVegetationColorsAtlas | ( | IResourceFactory & | factory, |
| const VegetationField & | field, | ||
| glm::vec3 | center, | ||
| glm::vec3 | extent, | ||
| uint32_t | width, | ||
| uint32_t | height, | ||
| bool | snapToTexel | ||
| ) |
Bake and atomically upload all nine Colors layers as a linear RGBA16F 2D array. Ownership, revision, geometry, budget and threading contracts match uploadVegetationExtrasAtlas.
在文件 VegetationFieldGpu.cpp 第 116 行定义.
引用了 center, Color, height, uploadAtlas() , 以及 width.
被这些函数引用 uploadVegetationGpuFieldSet().
◆ uploadVegetationExtrasAtlas()
| EVENGINE_API_BACKENDS Result< VegetationExtrasGpuAtlas > eve::graphics::uploadVegetationExtrasAtlas | ( | IResourceFactory & | factory, |
| const VegetationField & | field, | ||
| glm::vec3 | center, | ||
| glm::vec3 | extent, | ||
| uint32_t | width, | ||
| uint32_t | height, | ||
| bool | snapToTexel = true |
||
| ) |
Bake and atomically upload all nine Extras layers as a linear RGBA16F 2D array.
- 参数
-
factory Borrowed resource factory; used synchronously on its graphics thread. field Borrowed immutable authoritative field; no writer may run during this call. center Requested world-space center; X/Z may be snapped to texel increments. extent Positive world-space half extent. width Atlas width in [1,2048]. height Atlas height in [1,2048]. snapToTexel Whether to stabilize X/Z sampling against sub-texel camera motion.
- 返回
- Factory-owned texture and detached projection metadata. Failure publishes no texture. @thread Graphics thread only because upload is synchronous and non-reentrant.
在文件 VegetationFieldGpu.cpp 第 110 行定义.
引用了 center, Extras, height, uploadAtlas() , 以及 width.
被这些函数引用 uploadVegetationGpuFieldSet().
◆ uploadVegetationGpuFieldSet() [1/3]
| EVENGINE_API_BACKENDS Result< VegetationGpuFieldSet > eve::graphics::uploadVegetationGpuFieldSet | ( | IResourceFactory & | factory, |
| const VegetationField & | field, | ||
| glm::vec3 | center, | ||
| glm::vec3 | extent, | ||
| uint32_t | width, | ||
| uint32_t | height, | ||
| bool | snapToTexel = true |
||
| ) |
Bake and upload all four nine-layer projections as one publication. Earlier uploads are released if any later channel fails. The returned set is coherent by revision, snapped bounds and dimensions and owns no factory lifetime.
- 返回
- Four factory-owned textures, or failure with no published texture. @thread Graphics thread only. Synchronous, non-reentrant and without callbacks.
在文件 VegetationFieldGpu.cpp 第 150 行定义.
引用了 eve::graphics::VegetationGpuAtlas::center, center, eve::graphics::VegetationGpuFieldSet::colors, colors, eve::Diagnostic::error(), eve::graphics::VegetationGpuFieldSet::extras, eve::Failed, eve::Result< T >::failure(), eve::graphics::VegetationGpuAtlas::fieldRevision, height, eve::graphics::VegetationGpuFieldSet::motion, releaseVegetationGpuFieldSet(), status, eve::Result< T >::success(), uploadVegetationColorsAtlas(), uploadVegetationExtrasAtlas(), uploadVegetationMotionAtlas(), uploadVegetationVertexAtlas(), eve::graphics::VegetationGpuFieldSet::vertex , 以及 width.
被这些函数引用 eve::asset_graphics::VegetationSceneGpuRuntime::create() , 以及 uploadVegetationGpuFieldSet().
◆ uploadVegetationGpuFieldSet() [2/3]
| EVENGINE_API_BACKENDS Result< VegetationGpuFieldSet > eve::graphics::uploadVegetationGpuFieldSet | ( | IResourceFactory & | factory, |
| std::span< const VegetationAtlas, 9 > | layers, | ||
| std::uint64_t | sourceRevision | ||
| ) |
Atomically upload nine pre-baked layer atlases into four coherent RGBA16F arrays.
- 参数
-
factory Borrowed resource factory used synchronously on its graphics thread. layers Exactly nine immutable atlases with identical dimensions and world mapping. sourceRevision Nonzero revision owned by the caller's authoritative scene state.
- 返回
- Four factory-owned textures; a later failure releases every earlier allocation.
在文件 VegetationFieldGpu.cpp 第 235 行定义.
引用了 eve::graphics::VegetationChannelAtlas::center, colors, eve::Diagnostic::error(), eve::graphics::VegetationChannelAtlas::extent, eve::Failed, eve::Result< T >::failure(), finite, first, eve::graphics::VegetationChannelAtlas::height, layer, eve::graphics::VegetationChannelAtlas::pixels, pixels, uploadVegetationGpuFieldSet(), values , 以及 eve::graphics::VegetationChannelAtlas::width.
◆ uploadVegetationGpuFieldSet() [3/3]
| EVENGINE_API_BACKENDS Result< VegetationGpuFieldSet > eve::graphics::uploadVegetationGpuFieldSet | ( | IResourceFactory & | factory, |
| std::span< const VegetationChannelAtlas, 9 > | colors, | ||
| std::span< const VegetationChannelAtlas, 9 > | extras, | ||
| std::span< const VegetationChannelAtlas, 9 > | motion, | ||
| std::span< const VegetationChannelAtlas, 9 > | vertex, | ||
| std::uint64_t | sourceRevision | ||
| ) |
Atomically upload four independently sized groups of nine pre-baked channel layers. Each group must be internally coherent. The combined RGBA16F upload is limited to 256 MiB.
- 返回
- Four factory-owned textures; a later failure releases every earlier allocation.
在文件 VegetationFieldGpu.cpp 第 272 行定义.
引用了 eve::graphics::VegetationGpuFieldSet::colors, colors, eve::Diagnostic::error(), eve::graphics::VegetationGpuFieldSet::extras, eve::Failed, eve::Result< T >::failure(), first, eve::graphics::VegetationGpuFieldSet::motion, releaseVegetationGpuFieldSet(), status, eve::Result< T >::success(), valid , 以及 eve::graphics::VegetationGpuFieldSet::vertex.
◆ uploadVegetationMotionAtlas()
| EVENGINE_API_BACKENDS Result< VegetationMotionGpuAtlas > eve::graphics::uploadVegetationMotionAtlas | ( | IResourceFactory & | factory, |
| const VegetationField & | field, | ||
| glm::vec3 | center, | ||
| glm::vec3 | extent, | ||
| uint32_t | width, | ||
| uint32_t | height, | ||
| bool | snapToTexel | ||
| ) |
Bake and atomically upload all nine Motion layers as a linear RGBA16F 2D array.
在文件 VegetationFieldGpu.cpp 第 122 行定义.
引用了 center, height, Motion, uploadAtlas() , 以及 width.
被这些函数引用 uploadVegetationGpuFieldSet().
◆ uploadVegetationVertexAtlas()
| EVENGINE_API_BACKENDS Result< VegetationVertexGpuAtlas > eve::graphics::uploadVegetationVertexAtlas | ( | IResourceFactory & | factory, |
| const VegetationField & | field, | ||
| glm::vec3 | center, | ||
| glm::vec3 | extent, | ||
| uint32_t | width, | ||
| uint32_t | height, | ||
| bool | snapToTexel | ||
| ) |
Bake and atomically upload all nine Vertex layers as a linear RGBA16F 2D array.
在文件 VegetationFieldGpu.cpp 第 128 行定义.
引用了 center, height, uploadAtlas(), Vertex , 以及 width.
被这些函数引用 uploadVegetationGpuFieldSet().
◆ validateBloomFilterSettings()
| Result< void > eve::graphics::validateBloomFilterSettings | ( | const BloomFilterSettings & | settings | ) |
Validate enum, finite scatter [0,1], iterations [1,16], and finite clamp (0,65504].
- 返回
- InvalidArgument on invalid input, success otherwise; no mutation or allocation. @thread Any thread; pure and reentrant, retaining no references.
在文件 BloomGaussian.cpp 第 17 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), GaussianPyramid, GaussianScatter, eve::InvalidArgument, KarisTent, eve::Result< T >::success() , 以及 value.
被这些函数引用 eve::graphics::Bloom::configureFilter() , 以及 eve::graphics::detail::exposeShaderResourceBindings().
◆ validateMeshInstanceRange()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::validateMeshInstanceRange | ( | const MeshInstanceRange & | range | ) |
Worker-safe validation of value-owned range and culling metadata.
在文件 MeshInstanceRange.cpp 第 8 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, range , 以及 eve::Result< T >::success().
◆ validateMeshShaderRasterState()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::validateMeshShaderRasterState | ( | const MeshShaderRasterState & | state | ) |
Validate a borrowed value without touching graphics state; safe on any thread.
在文件 MeshShaderRasterState.cpp 第 5 行定义.
引用了 Always, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, Less, LessEqual, state , 以及 eve::Result< T >::success().
被这些函数引用 eve::graphics::vulkan::Graphics::configureMeshShaderRaster().
◆ validatePbrSurface()
| EVENGINE_API_BACKENDS Result< void > eve::graphics::validatePbrSurface | ( | const PbrSurface & | surface | ) |
Validate finite material factors and sampler enums without changing the input.
- 返回
- Checked validation status; performs no IO, backend calls or callbacks. @thread Worker-safe and reentrant. Texture pointers are never dereferenced or retained.
在文件 PbrSurface.cpp 第 4 行定义.
引用了 b, colors, detail, Disabled, eve::Diagnostic::error(), eve::Result< T >::failure(), Front, GpuFields, eve::InvalidArgument, mask, MetallicRoughness, Normal, normal, Object, s, Same, eve::Result< T >::success(), TangentXYZ, unit, v, value, VegetationAG , 以及 x.
被这些函数引用 configureVegetationDetails(), eve::asset_graphics::EvpackStaticPrefab::load(), eve::graphics::webgpu::planPbrVariant(), eve::asset_graphics::projectVegetationScene(), eve::asset_graphics::detail::readCookedMaterial(), eve::graphics::vulkan::Graphics::setMesh3DPbrSurface(), eve::graphics::webgpu::Graphics::setMesh3DPbrSurface() , 以及 eve::graphics::Material::setPbrSurface().
变量说明
◆ kInvalidGpuDrivenSlot
|
constexpr |
GPU-driven rendering shared constants + std430 GPU layouts.
These layouts are mirrored by the GLSL shaders that consume the bindless table (mesh3d_gpudriven.*) and by the compute passes (stage 2+). They live in the backend-independent graphics namespace so RenderSystem3D can build them without depending on the Vulkan backend.
在文件 GpuDrivenTypes.h 第 19 行定义.
被这些函数引用 eve::asset_procgen::buildTerrainVegetationGpuPlan(), eve::graphics::Graphics::gpuDrivenMaterialRecord(), eve::graphics::webgpu::Graphics::gpuDrivenMaterialRecord(), eve::graphics::Graphics::gpuDrivenMeshRecord(), eve::graphics::webgpu::Graphics::gpuDrivenMeshRecord(), eve::graphics::Graphics::gpuDrivenReflectionProbeSlot(), eve::graphics::vulkan::Graphics::gpuDrivenReflectionProbeSlot(), eve::graphics::Graphics::gpuDrivenVgAssetId(), eve::graphics::webgpu::Graphics::gpuDrivenVgAssetId(), eve::graphics::Graphics::gpuDrivenVgUpload(), eve::graphics::webgpu::Graphics::gpuDrivenVgUpload(), eve::asset_graphics::EvpackStaticPrefab::prepareGpuDriven(), eve::graphics::RenderSystem3D::render() , 以及 eve::asset_procgen::TerrainDetailGpuResolver::resolve().
◆ kInvalidGpuParticleHandle
|
inlineconstexpr |
Invalid GPU particle handle returned when the backend cannot allocate the resource.
在文件 GpuParticles.h 第 39 行定义.
被这些函数引用 eve::graphics::Graphics::createGpuParticleEmitter() , 以及 eve::graphics::vulkan::Graphics::createGpuParticleEmitter().
◆ kMaxGpuDrivenCubemaps
|
constexpr |
在文件 GpuDrivenTypes.h 第 21 行定义.
◆ kMaxGpuDrivenTextures
|
constexpr |
在文件 GpuDrivenTypes.h 第 20 行定义.