载入中...
搜索中...
未找到
eve::graphics 命名空间参考

卡牌游戏 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

Compatibility alias for the shared 2D blend mode.

在文件 BlendMode.h 第 8 行定义.

◆ ClusteredLightGpu

在文件 ClusteredLight.h 第 21 行定义.

◆ 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.

在文件 Color.h 第 13 行定义.

◆ 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

◆ VegetationColorsGpuAtlas

◆ VegetationExtrasGpuAtlas

◆ VegetationMotionGpuAtlas

◆ VegetationVertexGpuAtlas

◆ 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

enum class eve::graphics::BloomFilter
strong

Linear HDR reconstruction filter; KarisTent preserves the default pipeline.

枚举值
KarisTent 
GaussianScatter 
GaussianPyramid 

在文件 Bloom.h 第 15 行定义.

◆ DashSpace

enum class eve::graphics::DashSpace : std::uint8_t
strong

Coordinate space in which dash intervals are measured.

枚举值
ScreenPixels 
WorldUnits 

在文件 PrimitiveTypes.h 第 26 行定义.

◆ DepthOfFieldTracking

Pcg-compatible autofocus tracking mode.

枚举值
FollowScreen 
FollowTarget 
FixedOffset 

在文件 DepthOfFieldFocus.h 第 12 行定义.

◆ FilterMode

enum class eve::graphics::FilterMode
strong

Mag/min filter for texture sampling.

枚举值
Nearest 
Linear 

在文件 TextureSampler.h 第 11 行定义.

◆ GlslStage

enum class eve::graphics::GlslStage
strong

GLSL stage accepted by compileGlslToSpirv.

枚举值
eVertex 
eFragment 
eCompute 

在文件 GlslCompiler.h 第 12 行定义.

◆ GpuParticleFacingMode

enum class eve::graphics::GpuParticleFacingMode : std::uint32_t
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

enum class eve::graphics::GpuParticleSortMode : std::uint32_t
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

enum class eve::graphics::GpuResidentSubmitStatus : uint8_t
strong

Structured result for direct resident-instance submission.

枚举值
Submitted 
Unsupported 
InvalidArgument 
BackendMismatch 
ResourceUnavailable 
CapacityExceeded 

在文件 GpuDrivenTypes.h 第 48 行定义.

◆ LightingMode

enum class eve::graphics::LightingMode : uint8_t
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

enum class eve::graphics::LightingPreset : uint8_t
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

enum class eve::graphics::LineCap : std::uint8_t
strong

Shape applied to each open line endpoint.

枚举值
Butt 
Square 
Round 

在文件 PrimitiveTypes.h 第 20 行定义.

◆ LineJoin

enum class eve::graphics::LineJoin : std::uint8_t
strong

Shape used where adjacent line segments meet.

枚举值
Miter 
Bevel 
Round 

在文件 PrimitiveTypes.h 第 22 行定义.

◆ MaterialVirtualTextureMode

Selects conventional or atlas/page-table material sampling.

枚举值
Conventional 
AtlasPageTable 

在文件 Material.h 第 21 行定义.

◆ MeshDepthCompare

Depth comparison for an ordinary custom mesh pipeline.

枚举值
Less 
LessEqual 
Always 

在文件 MeshShaderRasterState.h 第 7 行定义.

◆ MipmapMode

enum class eve::graphics::MipmapMode
strong

Mipmap filter; Disabled turns off mip sampling (maxLod clamped to 0).

枚举值
Disabled 
Nearest 
Linear 

在文件 TextureSampler.h 第 17 行定义.

◆ PaintMode

enum class eve::graphics::PaintMode : std::uint8_t
strong

Whether a primitive paints its interior, boundary, or both.

枚举值
Fill 
Stroke 
FillAndStroke 

在文件 PrimitiveTypes.h 第 18 行定义.

◆ PathFillRule

enum class eve::graphics::PathFillRule : std::uint8_t
strong

Fill rule applied to closed 2D path contours.

枚举值
NonZero 
EvenOdd 

在文件 PrimitivePath.h 第 13 行定义.

◆ PbrCullMode

enum class eve::graphics::PbrCullMode : uint32_t
strong

Raster face culling requested by a PBR material.

枚举值
Inherit 
None 
Back 
Front 

在文件 PbrSurface.h 第 20 行定义.

◆ PbrNormalMode

enum class eve::graphics::PbrNormalMode : uint32_t
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

enum class eve::graphics::PbrTextureSlot : uint32_t
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

enum class eve::graphics::PbrVegetationBackfaceNormalMode : uint32_t
strong

TVE tangent-space normal treatment for back-facing fragments.

枚举值
Flip 
Mirror 
Same 

在文件 PbrSurface.h 第 18 行定义.

◆ PbrVegetationDeformationSource

enum class eve::graphics::PbrVegetationDeformationSource : uint32_t
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

enum class eve::graphics::PbrVegetationMotionMode : uint32_t
strong

Select source-equivalent GPU motion evaluation for rest vegetation geometry.

枚举值
Disabled 
Object 

在文件 PbrSurface.h 第 162 行定义.

◆ PostEffectInput

PostEffectInput public API.

枚举值
PostInputColor 
PostInputDepth 
PostInputNormal 
PostInputMotion 
PostInputObjectId 

在文件 PostEffect.h 第 11 行定义.

◆ PostEffectStage

enum class eve::graphics::PostEffectStage
strong

Stable insertion points for full-screen effects.

枚举值
AfterOpaque 
BeforeTransparent 
BeforeTonemap 
AfterTonemap 

在文件 PostEffect.h 第 8 行定义.

◆ PrimitiveCullMode

enum class eve::graphics::PrimitiveCullMode : std::uint8_t
strong

Face culling used by filled 3D primitives.

枚举值
None 
Back 
Front 

在文件 PrimitiveTypes.h 第 30 行定义.

◆ PrimitiveDepthMode

enum class eve::graphics::PrimitiveDepthMode : std::uint8_t
strong

Depth behavior of one 3D primitive.

枚举值
TestAndWrite 
TestOnly 
Ignore 

在文件 PrimitiveTypes.h 第 28 行定义.

◆ PrimitiveQuality

enum class eve::graphics::PrimitiveQuality : std::uint8_t
strong

Reusable quality policy for radial primitive tessellation.

枚举值
Low 
Medium 
High 
Adaptive 

在文件 PrimitiveTypes.h 第 32 行定义.

◆ PrimitiveRecordStatus

enum class eve::graphics::PrimitiveRecordStatus : std::uint8_t
strong

Successful outcome of one atomic primitive recording operation.

枚举值
Recorded 

在文件 PrimitiveTypes.h 第 34 行定义.

◆ PrimitiveRemoveStatus

enum class eve::graphics::PrimitiveRemoveStatus : std::uint8_t
strong

PrimitiveRemoveStatus public API.

枚举值
Removed 

在文件 PrimitiveScene.h 第 151 行定义.

◆ PrimitiveUpdateStatus

enum class eve::graphics::PrimitiveUpdateStatus : std::uint8_t
strong

PrimitiveUpdateStatus public API.

枚举值
Updated 
Unchanged 

在文件 PrimitiveScene.h 第 149 行定义.

◆ ShaderImageDimension

Sampled image view dimension; arrays retain all authored layers.

枚举值
Image2D 
Array2D 
Cube 
Image3D 

在文件 ShaderResources.h 第 33 行定义.

◆ ShaderImageFormat

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

enum class eve::graphics::ShadowMethod : std::uint8_t
strong

How a Light3D produces real-time shadows. Auto resolves per light type (dir→CSM, spot→perspective, point→cube).

枚举值
Auto 
None 
CascadedDirectional 
PerspectiveSpot 
CubePoint 

在文件 Shadow.h 第 14 行定义.

◆ SkinInfluenceLimit

enum class eve::graphics::SkinInfluenceLimit : int
strong

Number of strongest vertex influences retained by GPU skinning.

枚举值
One 
Two 
Four 

在文件 IGraphics3D.h 第 19 行定义.

◆ SurfaceMode

enum class eve::graphics::SurfaceMode
strong

How a 3D surface contributes to depth and color passes.

枚举值
Opaque 
Masked 
Transparent 

在文件 SurfaceMode.h 第 6 行定义.

◆ VegetationBatchMode

Object mode rotates around pivots; batched mode uses height-scaled offsets.

枚举值
Object 
Batched 

在文件 VegetationMotion.h 第 15 行定义.

◆ VegetationBlend

enum class eve::graphics::VegetationBlend : uint8_t
strong

Ordered field composition operation.

枚举值
Replace 
Add 
Multiply 
Minimum 
Maximum 

在文件 VegetationField.h 第 18 行定义.

◆ VegetationChannel

enum class eve::graphics::VegetationChannel : uint8_t
strong

Independent vegetation field channels; values use linear color and world units.

枚举值
Color 
Extras 
Motion 
Vertex 

在文件 VegetationField.h 第 16 行定义.

◆ VegetationNormalEncoding

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

enum class eve::graphics::VegetationShape : uint8_t
strong

Analytic influence shape in an element's local coordinates.

枚举值
Ellipsoid 
Box 

在文件 VegetationField.h 第 20 行定义.

◆ WaterAutoUpdateMode

enum class eve::graphics::WaterAutoUpdateMode : std::uint8_t
strong

Reflection refresh policy used by the caller-owned water controller.

枚举值
Interval 
SceneConditions 

在文件 WaterSystem.h 第 16 行定义.

◆ WaterMeshType

enum class eve::graphics::WaterMeshType : std::uint8_t
strong

Pcg procedural water mesh shape. Custom meshes remain caller-supplied Mesh resources.

枚举值
Plane 
Circle 

在文件 Water.h 第 15 行定义.

◆ WaterReflectionMaskChannel

Pcg ReflectionMasker channel selection.

枚举值
R 
G 
B 
A 
RGBA 

在文件 WaterReflectionMasker.h 第 16 行定义.

◆ WaterReflectionMaskTransition

Observable reflection-state transition after one player-position sample.

枚举值
Unchanged 
Enabled 
Disabled 

在文件 WaterReflectionMasker.h 第 18 行定义.

◆ WaterReflectionResolution

enum class eve::graphics::WaterReflectionResolution : std::uint8_t
strong

Pcg-compatible render-size multiplier for planar water reflections.

枚举值
Full 
Half 
Third 
Quarter 

在文件 WaterPlanarReflection.h 第 15 行定义.

◆ WidthSpace

enum class eve::graphics::WidthSpace : std::uint8_t
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.

被这些函数引用 eve::graphics::SkyAtmospherePass::attach().

◆ 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.

参数
stateExclusively borrowed audio controller state, published only after validation.
windStrengthFinite WindZone main value; the audio target is clamped to [0,1].
transitionTimeFinite positive source transition duration.
dtFinite nonnegative explicit frame delta.
enabledFalse skips both source checks exactly like m_useWindAudio.
clipAvailableFalse 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.

参数
stateExclusively borrowed initialized state.
settingsImmutable current policy.
sceneCurrent immutable scene snapshot.
playerXFinite player/camera world X used only in infinite mode.
playerZFinite player/camera world Z used only in infinite mode.
dtFinite nonnegative caller-provided simulation delta.
nextSceneCheckFramesPositive 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.

参数
stateExclusively borrowed state; matching enter disables and matching exit enables effects.
eventImmutable event copied from World3D's begin/end trigger buffers.
expectedSensorTagStable Shape3D tag identifying this disable zone.
expectedVisitorTagStable 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.

参数
stateExclusively borrowed state, published only after validation and complete evaluation.
outputExclusively borrowed output, published atomically with state.
settingsImmutable authored policy.
inputImmutable finite frame snapshot with explicit caustic ticks.
depthGradientRequired nonempty depth gradient when fog is enabled without override.
timeGradientRequired 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.

参数
shaderBorrowed grass shader with the canonical 32-float layout.
stateBorrowed immutable globals.
profileBorrowed immutable material controls.
secondsExplicit 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.

参数
shaderBorrowed tree shader with the canonical 16-float layout.
stateBorrowed immutable global wind state.
vegetationBorrowed immutable shared PW material controls.
treeBorrowed immutable tree prototype dimensions and Pcg bend factor.
secondsExplicit 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.

参数
volumetricBorrowed provider used synchronously and never retained.
outputImmutable current underwater output.
surfaceImmutable 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.

参数
horizonBorrowed renderable mutated synchronously and never retained.
outputImmutable 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.

参数
renderableBorrowed water renderable mutated synchronously and never retained.
outputImmutable current underwater output.
surfaceImmutable 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.

参数
graphicsBorrowed graphics provider mutated synchronously and never retained.
cameraBorrowed camera mutated synchronously and never retained.
outputImmutable current underwater output.
surfaceImmutable 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.

参数
surfaceOwning parameter snapshot; unchanged on validation failure.
fieldBorrowed authoritative field used only to reject stale projections.
extrasBorrowed projection; its factory-owned texture must outlive every material using surface.
colorsBorrowed projection with the same revision; geometry may differ from extras.
motionBorrowed projection with the same revision; geometry may differ from extras.
vertexBorrowed projection with the same revision; geometry may differ from extras.
runtimeOwning 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 
)

◆ bindVegetationGpuFields() [3/3]

EVENGINE_API_BACKENDS Result< void > eve::graphics::bindVegetationGpuFields ( PbrSurface &  surface,
const VegetationGpuFieldSet &  set,
std::uint64_t  expectedRevision,
const VegetationGpuRuntime &  runtime 
)

◆ 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 
)

◆ 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.

参数
lightDirTowardSurfaceworld-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.

被这些函数引用 eve::graphics::RenderSystem3D::render().

◆ buildGgxCubemapMipChain()

std::vector< uint8_t > eve::graphics::buildGgxCubemapMipChain ( const uint8_t *  rgbaFaces,
uint32_t  faceSize,
uint32_t  mipLevels,
uint32_t  sampleCount = 32u 
)
inline

Build a mip-major RGBA8 IBL chain: GGX specular mips plus final diffuse irradiance.

参数
rgbaFacesSix contiguous base faces ordered +X, -X, +Y, -Y, +Z, -Z.
faceSizeWidth and height of every base face.
mipLevelsNumber of output mip levels, including the unchanged base.
sampleCountImportance 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.

被这些函数引用 eve::graphics::webgpu::Graphics::newCubemap().

◆ 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.

参数
positionWorld-space light origin.
faceIndex0..5 (+X,-X,+Y,-Y,+Z,-Z).
rangePositive 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).

参数
positionWorld-space light origin.
directionWorld-space beam axis (toward the lit volume).
rangePositive far plane / Light3D radius.
outerAngleDegSpot 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 
)

◆ calculateWaterMeshTriangles()

EVENGINE_API_BACKENDS Result< int > eve::graphics::calculateWaterMeshTriangles ( const WaterMeshSettings &  settings)

Calculate Pcg PWS_WaterSystem's triangle count without allocating a mesh.

在文件 Water.cpp 第 117 行定义.

引用了 counts, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, Plane, settings, eve::Result< T >::success() , 以及 triangles.

被这些函数引用 eve::graphics::Water::createProceduralMesh().

◆ cameraProjectionVulkanRH_ZO()

glm::mat4 eve::graphics::cameraProjectionVulkanRH_ZO ( bool  orthographic,
float  fovyRad,
float  orthoHeight,
float  aspect,
float  zNear,
float  zFar 
)
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()

void eve::graphics::clampParallaxParams ( ParallaxParams &  p)
inline

Clamp parallax params.

在文件 ParallaxMap.h 第 135 行定义.

引用了 p.

◆ 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.

参数
sourceGLSL source text; must not be empty.
stageStage to compile the source for.
debugNameVirtual file name reported in compiler diagnostics.
返回
SPIR-V words; the first word is the SPIR-V magic number.
异常
std::runtime_errorwhen 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.

参数
baseSurfaceExisting material values and borrowed texture bindings.
baseMotionExisting explicit time, transform, noise and motion values.
settingsOwning 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()

Shader * eve::graphics::createTreeWindShader ( Graphics *  graphics)

Create a backend-native tree Mesh3D shader using the engine PBR fragment stage.

参数
graphicsBorrowed initialized Graphics owner.
返回
Graphics-owned shader pointer.
异常
eve::Exceptionfor 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.

被这些函数引用 eve::graphics::Graphics::newTreeWindShader().

◆ 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.

参数
sampleAlready sampled linear RGBA in [0,1], after texture filtering.
encodingExplicit source shader channel selection, not source-file encoding.
strengthSigned 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()

void eve::graphics::detachGraphicsArtifactProvider ( Graphics *  graphics)
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.

参数
stateRequired caller-owned persistent tracking state.
outputRequired caller-owned output replaced atomically on success.
settingsRequired finite lens and distance configuration.
inputRequired 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()

◆ exposeDepthOfFieldFocusBindings()

◆ exposeGrassWindBindings()

◆ 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()

◆ exposeShaderScriptBindings()

◆ exposeVegetationScriptBindings()

void eve::graphics::exposeVegetationScriptBindings ( ssq::Table &  table,
ssq::Class &  graphicsClass 
)

◆ 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()

◆ 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()

EVENGINE_API_BACKENDS GraphicsArtifactProvider & eve::graphics::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.

参数
stateMutable caller-owned state, published only after complete validation.
forwardFinite source WindZone forward direction. Y becomes the source forced downward value.
strengthFinite 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.

参数
stateExclusively borrowed state, published only after complete validation.
settingsImmutable policy. refreshRate must be finite and positive.
sceneImmutable finite scene snapshot; hour is 0..23 and minute is 0..59 when time is available.
initialSceneCheckFramesNonnegative 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()

void eve::graphics::light2dSpotCosines ( float  angleDeg,
float  softness,
float &  cosOuter,
float &  cosInner 
)
inline

Backward-compatible alias for lightSpotCosines.

在文件 Light.h 第 40 行定义.

引用了 lightSpotCosines().

◆ 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()

void eve::graphics::lightSpotCosines ( float  angleDeg,
float  softness,
float &  cosOuter,
float &  cosInner 
)
inline

Convert spot angle/softness into GPU cosines (outer < inner). Shared by Light2D and Light3D flashlight cones.

参数
angleDegOuter half-angle in degrees.
softnessPenumbra in [0, 1].
[out]cosOuterCosine of the outer half-angle.
[out]cosInnerCosine of the softened inner half-angle.

在文件 Light.h 第 28 行定义.

引用了 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.

参数
rangePreviously validated value; read-only, not retained.
modelFinite affine instance-to-world transform.
viewProjectionCamera projection in zero-to-one clip depth.
eyeWorld-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()

◆ Module_IMPL()

eve::graphics::Module_IMPL ( Graphics  ,
new   vulkan::Graphics() 
)

◆ newWaterfallShader()

◆ newWaterShader()

◆ 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.

在文件 Font.cpp 第 17 行定义.

引用了 s , 以及 text.

被这些函数引用 eve::graphics::Graphics::drawText().

◆ orthoVulkanRH_ZO()

glm::mat4 eve::graphics::orthoVulkanRH_ZO ( float  left,
float  right,
float  bottom,
float  top,
float  zNear,
float  zFar 
)
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.

参数
stateBorrowed immutable direction, strength and phase.
profileBorrowed material controls; distance must be positive even when disabled.
secondsFinite 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()

void eve::graphics::parallaxOffsetUV ( float  u,
float  v,
float  height01,
float  viewTSx,
float  viewTSy,
float  viewTSz,
float  scale,
float &  ou,
float &  ov 
)
inline

Single-sample offset mapping (cheap approximation of the first POM step).

在文件 ParallaxMap.h 第 23 行定义.

引用了 depth, scale, u, v , 以及 vz.

◆ 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()

glm::mat4 eve::graphics::perspectiveVulkanRH_ZO ( float  fovyRad,
float  aspect,
float  zNear,
float  zFar 
)
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()

const char * eve::graphics::postEffectStageName ( PostEffectStage  stage)
inline

◆ 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()

EVENGINE_API_BACKENDS void eve::graphics::removeViewPreparation ( uint64_t  token)
noexcept

Remove a registration; missing/zero tokens are harmless. @thread Graphics thread outside dispatch. Does not invoke the callback.

在文件 ViewPreparation.cpp 第 31 行定义.

引用了 entries, EV_ASSERT , 以及 token.

被这些函数引用 eve::graphics::SkyAtmospherePass::detach().

◆ 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.

参数
canvasSource command recorder.
viewportPositive 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()

◆ resolveRadialSegments()

EVENGINE_API_BACKENDS std::uint32_t eve::graphics::resolveRadialSegments ( const RadialTessellation &  tessellation,
float  projectedRadiusPixels 
)

◆ 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".
requestedMethod 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.

参数
documentPersistent eve.graphics.vegetation-details/1 value.
返回
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).

参数
lightSpot light data.
viewCamera paging view (ignored when invalid / paging disabled).
settingsActive scheme settings.
hadSlotTrue 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.

参数
lightsScene lights (already collected; may exceed atlas capacity).
isPointFlagsParallel flags (true = point/spot).
settingsActive scheme settings.
viewCamera used for paging scores (optional when paging disabled).
[out]directionalCasterDir light chosen for CSM, or nullptr.
[out]localSlotsAllocated spot slots (cached VP when needsUpdate is false). @cost Linear in lights.size() for scoring, plus sort of spot candidates; clears and rewrites localSlots (up to maxSpotShadowCasters / 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.

参数
imageBorrowed 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.

参数
bytesBorrowed 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()

float eve::graphics::silPomCoverage ( float  displacedU,
float  displacedV,
float  padding = 0.f 
)
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.

参数
displacedUDisplaced U after POM (raw mesh UV space, not tiled).
displacedVDisplaced V after POM.
paddingSoft border in UV units (0 = hard clip at 0/1).

在文件 ParallaxMap.h 第 46 行定义.

引用了 pad.

被这些函数引用 ssdmCoverage().

◆ silPomCoverageSoft()

float eve::graphics::silPomCoverageSoft ( float  displacedU,
float  displacedV,
float  feather 
)
inline

Soft chart coverage in [0,1] — feathers near the UV border (full SilPOM).

参数
displacedUDisplaced U after POM.
displacedVDisplaced V after POM.
featherSoft edge width in UV units (clamped to a tiny epsilon).

在文件 ParallaxMap.h 第 62 行定义.

引用了 cx, cy, edge, f, t , 以及 x.

◆ silPomHorizonTrim()

float eve::graphics::silPomHorizonTrim ( float  height01,
float  ndotv,
float  strength,
float  bias = 0.02f 
)
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 行定义.

引用了 bias, strength , 以及 t.

◆ snapshotVegetationDetails()

EVENGINE_API_BACKENDS Result< Value > eve::graphics::snapshotVegetationDetails ( const VegetationDetailSettings &  settings)

Encode one owning Global Details document using eve.graphics.vegetation-details/1.

参数
settingsValues 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()

void eve::graphics::sortDrawItems2D ( std::vector< DrawItem2D > &  items)
inline

Sort draw items 2 d.

Stable sort.

在文件 DrawItem2D.h 第 61 行定义.

引用了 a , 以及 b.

被这些函数引用 eve::graphics::RenderSystem::drawItems().

◆ ssdmCoverage()

float eve::graphics::ssdmCoverage ( float  baseU,
float  baseV,
float  offsetU,
float  offsetV,
float  padding = 0.f 
)
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()

void eve::graphics::ssdmScreenOffset ( float  height01,
float  viewNdcX,
float  viewNdcY,
float  scale,
float &  outX,
float &  outY 
)
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.

参数
height01Height sample in [0,1] (1 = raised toward viewer).
viewNdcXView direction X in NDC-ish screen space (toward camera projection).
viewNdcYView direction Y in NDC-ish screen space.
scaleDisplacement strength in screen UV units (typical 0.01..0.08).
outXOutput screen-UV delta X.
outYOutput screen-UV delta Y.

在文件 ParallaxMap.h 第 104 行定义.

引用了 h , 以及 scale.

◆ suggestedLightingPreset()

EVENGINE_API_BACKENDS LightingPreset eve::graphics::suggestedLightingPreset ( )

Suggest a lighting preset from OS, GPU type/name, and env.

Precedence:

  1. EVENGINE_LIGHTING_PRESET=desktop|mobile|ci
  2. Android / iOS → Mobile
  3. GPU device type cpu or name containing llvmpipe/lavapipe → Ci
  4. 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()

void eve::graphics::texBombHash22 ( float  x,
float  y,
float &  ox,
float &  oy 
)
inline

Tex bomb hash 22.

在文件 TextureCellBomb.h 第 19 行定义.

引用了 d, ox, oy, px, py, pz, x , 以及 y.

被这些函数引用 texCellBombSampleUV().

◆ texCellBombSampleUV()

void eve::graphics::texCellBombSampleUV ( float  u,
float  v,
const TexCellBombParams &  p,
float &  ou,
float &  ov 
)
inline

Map UV → bombed sample UV for the dominant (floor) cell; strength≤0 → identity.

Tex bomb hash 22.

Tex bomb hash 22.

在文件 TextureCellBomb.h 第 37 行定义.

引用了 ang, c, cx, cy, ox, oy, p, s, scale, texBombHash22(), u , 以及 v.

◆ 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.

被这些函数引用 eve::asset_graphics::VegetationAsset::updateMesh().

◆ 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.

参数
stateExclusively borrowed initialized state.
seaLevelFinite world-space Y value.
regenerateReflectionsWhether 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 
)

◆ 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.

参数
factoryBorrowed resource factory; used synchronously on its graphics thread.
fieldBorrowed immutable authoritative field; no writer may run during this call.
centerRequested world-space center; X/Z may be snapped to texel increments.
extentPositive world-space half extent.
widthAtlas width in [1,2048].
heightAtlas height in [1,2048].
snapToTexelWhether 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.

参数
factoryBorrowed resource factory used synchronously on its graphics thread.
layersExactly nine immutable atlases with identical dimensions and world mapping.
sourceRevisionNonzero 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().

被这些函数引用 eve::graphics::Renderable3D::setInstanceRange().

◆ 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)

变量说明

◆ kInvalidGpuDrivenSlot

◆ kInvalidGpuParticleHandle

constexpr GpuParticleHandle eve::graphics::kInvalidGpuParticleHandle = 0
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 uint32_t eve::graphics::kMaxGpuDrivenCubemaps = 64
constexpr

在文件 GpuDrivenTypes.h 第 21 行定义.

◆ kMaxGpuDrivenTextures

constexpr uint32_t eve::graphics::kMaxGpuDrivenTextures = 1024
constexpr

在文件 GpuDrivenTypes.h 第 20 行定义.