命名空间 | |
| namespace | detail |
类 | |
| class | EvpackGraphicsLoader |
Capability-aware adapter from admitted .evpack assets to graphics resources. 更多... | |
| class | EvpackImageLoader |
| Capability-aware adapter from admitted EVIMG assets to backend textures. 更多... | |
| class | EvpackShader |
| Unique lease on a validated package shader and its independent parameter instance. @ownership Graphics owns the allocation and must outlive this lease; destroy/release leases before backend shutdown. @lifetime No resource pointer escapes. Draw inputs are borrowed only during the call. Reload builds a new lease. @thread Load, update, draw, release and destruction are graphics-thread affine, outside callbacks/reentrancy. 更多... | |
| class | EvpackStaticPrefab |
| Owning static-prefab GPU leases and immutable draw transforms; no ECS or Scene mutation. @ownership Mesh/image factories must outlive this object and its explicit release; the factories own GPU allocations. @lifetime Release before backend shutdown/device loss. Reimport builds a separate candidate; swap only after success. @thread Creation, drawing, release and destruction are graphics-thread affine. @reentrancy No scripts or caller callbacks and no locks; do not reenter from backend methods. 更多... | |
| class | EvpackVegetationSceneLoader |
Strict capability-aware decoder for eve.vegetation-scene/1. 更多... | |
| class | EvpackVolumeTextureLoader |
| Capability-aware loader for canonical volume-texture/1 assets. 更多... | |
| struct | GraphicsAssetLoadLimits |
| Bounds applied before allocating canonical mesh staging arrays. 更多... | |
| class | GraphicsImageFactoryAdapter |
| Result-based adapter over the engine's established graphics resource factory. 更多... | |
| class | GraphicsMeshFactoryAdapter |
| Result-based adapter over the engine's established graphics resource factory. 更多... | |
| struct | LoadedGraphicsImage |
| Successfully uploaded texture and selected capability variant. 更多... | |
| struct | LoadedGraphicsMesh |
| Successfully uploaded backend mesh and the selected package variant. 更多... | |
| struct | LoadedGraphicsVolumeTexture |
| Successfully uploaded volume texture and selected capability variant. 更多... | |
| struct | LoadedVegetationScene |
| Fully validated, detached scene-manager candidate with no archive or GPU borrows. 更多... | |
| struct | StaticPrefabGpuPart |
| One prefab renderer registered in backend GPU-driven tables. 更多... | |
| class | VegetationAsset |
| Owning decoded TVE rest geometry, independent of archive and GPU resource lifetimes. Immutable after construction. CPU evaluation permits concurrent readers; GPU calls require the graphics owner thread. No callbacks or external pointers are retained. 更多... | |
| struct | VegetationSceneAssociation |
| Owning decoded result of one unique source-GUID scene-manager association. 更多... | |
| class | VegetationSceneAssociationLoader |
| Resolve a Scene Template to exactly one manager asset in the same admitted EVPACK. 更多... | |
| struct | VegetationSceneChannelGpuBuild |
| Detached inputs for one independently sized TVE manager channel. 更多... | |
| struct | VegetationSceneControl |
| Owning TVE Global Control values; texture identities remain source-map GUIDs. 更多... | |
| struct | VegetationSceneElement |
| One normalized Unity TVEElement definition awaiting texture realization. 更多... | |
| class | VegetationSceneElementHandle |
| Instance-qualified handle for one dynamically registered TVE Element volume. 更多... | |
| struct | VegetationSceneElementPixel |
| Detached TVE render-target source value and independent hardware blend policy. 更多... | |
| struct | VegetationSceneElementPixelInput |
| Explicit per-draw inputs consumed by one TVE Element fragment evaluation. 更多... | |
| struct | VegetationSceneElementProperty |
| One normalized Unity TVEElement definition awaiting texture realization. 更多... | |
| struct | VegetationSceneElementPublication |
| Receipt for one published dynamic Element registration or withdrawal. 更多... | |
| struct | VegetationSceneGpuBuild |
| Explicit detached inputs for publishing all nine TVE scene-manager field layers. 更多... | |
| struct | VegetationSceneGpuPublication |
| Receipt for one atomic scene-manager GPU replacement. 更多... | |
| class | VegetationSceneGpuRuntime |
| Owning GPU publication of one immutable TVE manager scene. The resource factory, mask map and scene are borrowed only while create executes. The returned runtime owns the field textures and projected material snapshot. It must outlive every draw borrowing surface(). 更多... | |
| class | VegetationSceneInstance |
| Owning executable instance coupling one Scene Template, its manager fields and live Element registry. GPU resources are graphics-thread affine. Base material texture pointers remain borrowed and must outlive this instance. 更多... | |
| class | VegetationSceneLiveElements |
| Owning registry that atomically couples dynamic Element state to a scene GPU runtime. Imported Elements remain immutable. Dynamic slots use generation-qualified handles and stable slot order. The registry and GPU runtime are graphics-thread affine; no callback is invoked while state is changing. 更多... | |
| struct | VegetationSceneMotion |
| Owning TVE Global Motion values; time is supplied by each frame. 更多... | |
| struct | VegetationSceneProjection |
| Detached PBR and CPU-motion snapshot ready for atomic material publication. 更多... | |
| struct | VegetationSceneVolume |
| Owning TVE Global Volume policy; render resources are allocated by the runtime host. 更多... | |
| struct | VegetationSceneVolumeChannel |
| One TVE volume texture channel allocation policy. 更多... | |
| struct | VolumeTextureAssetLoadLimits |
| Bounds checked before backend volume allocation. 更多... | |
类型定义 | |
| using | ImageAssetLoadLimits = asset::EvpackImageDecodeLimits |
枚举 | |
| enum class | VegetationScenePixelBlend : std::uint8_t { Alpha , Multiply , Add , Replace } |
| Detached TVE render-target source value and independent hardware blend policy. 更多... | |
函数 | |
| Result< VegetationSceneProjection > | projectVegetationScene (const graphics::PbrSurface &baseSurface, const graphics::VegetationMotion &baseMotion, const LoadedVegetationScene &scene) |
| Project validated TVE manager controls onto one material/motion snapshot. | |
| Result< std::map< std::string, graphics::VegetationMask > > | loadVegetationSceneElementMasks (const asset::EvpackResourceReader &reader, const LoadedVegetationScene &scene, const asset::EvpackCapabilities &capabilities, std::uint64_t maximumDecodedBytes=256 *1024 *1024) |
| Decode every runtime texture used by admitted TVE Element shaders into owning linear masks. | |
| Result< VegetationSceneElementPixel > | evaluateVegetationSceneElementPixel (const VegetationSceneElement &element, const VegetationSceneElementPixelInput &input) |
| Evaluate one TVE Element fragment using caller-supplied texture, instance and particle inputs. | |
| glm::vec4 | composeVegetationSceneElementPixel (glm::vec4 destination, const VegetationSceneElementPixel &source) noexcept |
| Apply one evaluated source pixel to a destination with TVE's separate blend factors and ColorMask. | |
| Result< graphics::VegetationChannelAtlas > | bakeVegetationSceneChannel (const LoadedVegetationScene &scene, const std::map< std::string, graphics::VegetationMask > &masks, graphics::VegetationChannel channel, const graphics::VegetationChannelAtlas &base, std::uint8_t layer=0, std::span< const glm::vec3 > worldNormals={}, std::span< const float > terrainHeights={}, std::span< const glm::vec4 > noiseSamples={}) |
| Bake one TVE manager channel at its own resolution and world mapping. | |
| Result< graphics::VegetationAtlas > | bakeVegetationSceneElements (const LoadedVegetationScene &scene, const std::map< std::string, graphics::VegetationMask > &masks, const graphics::VegetationAtlas &base, std::array< std::uint8_t, 4 > layers={}, std::span< const glm::vec3 > worldNormals={}, std::span< const float > terrainHeights={}, std::span< const glm::vec4 > noiseSamples={}) |
| Rasterize the ordered TVE Element list over an owning four-channel atlas candidate. | |
| Result< graphics::VegetationChannelAtlas > | convertVegetationSceneChannelToNative (graphics::VegetationChannel channel, const graphics::VegetationChannelAtlas &tveAtlas) |
| Convert one fully composed TVE channel atlas to EVEngine conventions. | |
| Result< graphics::VegetationAtlas > | convertVegetationSceneAtlasToNative (const graphics::VegetationAtlas &tveAtlas) |
| Convert a fully composed TVE render-target atlas to EVEngine field channel conventions. | |
| Result< void > | validateShaderAssetGpu (const asset::ShaderAsset &shader) |
| Validate complete SPIR-V semantics and the supported engine pipeline interface before upload. | |
类型定义说明
◆ ImageAssetLoadLimits
在文件 EvpackImageLoader.h 第 16 行定义.
枚举类型说明
◆ VegetationScenePixelBlend
|
strong |
Detached TVE render-target source value and independent hardware blend policy.
| 枚举值 | |
|---|---|
| Alpha | |
| Multiply | |
| Add | |
| Replace | |
在文件 EvpackVegetationScene.h 第 91 行定义.
函数说明
◆ bakeVegetationSceneChannel()
| Result< graphics::VegetationChannelAtlas > eve::asset_graphics::bakeVegetationSceneChannel | ( | const LoadedVegetationScene & | scene, |
| const std::map< std::string, graphics::VegetationMask > & | masks, | ||
| graphics::VegetationChannel | channel, | ||
| const graphics::VegetationChannelAtlas & | base, | ||
| std::uint8_t | layer = 0, |
||
| std::span< const glm::vec3 > | worldNormals = {}, |
||
| std::span< const float > | terrainHeights = {}, |
||
| std::span< const glm::vec4 > | noiseSamples = {} |
||
| ) |
Bake one TVE manager channel at its own resolution and world mapping.
- 参数
-
channel Target channel; only Elements writing this channel are evaluated. layer Selected TVE layer in [0,8].
- 返回
- Fully composed detached channel atlas, or failure without mutating base.
在文件 EvpackVegetationScene.cpp 第 687 行定义.
引用了 eve::graphics::VegetationChannelAtlas::center, composeVegetationSceneElementPixel(), edge, element, eve::Diagnostic::error(), evaluateVegetationSceneElementPixel(), eve::graphics::VegetationChannelAtlas::extent, eve::Failed, eve::Result< T >::failure(), found, eve::graphics::VegetationChannelAtlas::height, index, input, eve::InvalidArgument, layer, local, eve::asset_graphics::VegetationSceneElementPixelInput::localUv, mask, eve::NotFound, output, eve::graphics::VegetationChannelAtlas::pixels, scene, source, eve::Result< T >::success(), uv, eve::graphics::VegetationChannelAtlas::width, world, x , 以及 y.
被这些函数引用 bakeVegetationSceneElements() , 以及 eve::asset_graphics::VegetationSceneGpuRuntime::create().
◆ bakeVegetationSceneElements()
| EVENGINE_API_WORLD Result< graphics::VegetationAtlas > eve::asset_graphics::bakeVegetationSceneElements | ( | const LoadedVegetationScene & | scene, |
| const std::map< std::string, graphics::VegetationMask > & | masks, | ||
| const graphics::VegetationAtlas & | base, | ||
| std::array< std::uint8_t, 4 > | layers = {}, |
||
| std::span< const glm::vec3 > | worldNormals = {}, |
||
| std::span< const float > | terrainHeights = {}, |
||
| std::span< const glm::vec4 > | noiseSamples = {} |
||
| ) |
Rasterize the ordered TVE Element list over an owning four-channel atlas candidate.
- 参数
-
scene Borrowed immutable manager and Element state. masks Borrowed immutable masks keyed by Unity texture GUID. base Owning initial atlas and world XZ mapping; copied before any evaluation. layers Selected 0..8 layer for Colors, Extras, Motion and Vertex respectively. worldNormals Optional per-texel model/world normals; empty selects up. terrainHeights Optional per-texel resolved terrain heights; empty selects zero. noiseSamples Optional per-texel already time-filtered noise values; empty selects zero.
- 返回
- Fully composed owning atlas; any invalid input or evaluation failure leaves base unchanged. @thread Worker-safe; no callbacks, clocks, GPU work, global mutation or retained borrows.
在文件 EvpackVegetationScene.cpp 第 775 行定义.
引用了 bakeVegetationSceneChannel(), eve::graphics::VegetationAtlas::center, eve::graphics::VegetationAtlas::channels, eve::graphics::VegetationAtlas::extent, eve::Result< T >::failure(), eve::graphics::VegetationAtlas::height, index, output, scene, eve::Result< T >::success() , 以及 eve::graphics::VegetationAtlas::width.
◆ composeVegetationSceneElementPixel()
|
noexcept |
Apply one evaluated source pixel to a destination with TVE's separate blend factors and ColorMask.
在文件 EvpackVegetationScene.cpp 第 668 行定义.
引用了 Add, Alpha, Multiply, operation, Replace , 以及 source.
被这些函数引用 bakeVegetationSceneChannel().
◆ convertVegetationSceneAtlasToNative()
| EVENGINE_API_WORLD Result< graphics::VegetationAtlas > eve::asset_graphics::convertVegetationSceneAtlasToNative | ( | const graphics::VegetationAtlas & | tveAtlas | ) |
Convert a fully composed TVE render-target atlas to EVEngine field channel conventions.
- 参数
-
tveAtlas Borrowed owning-value atlas produced by bakeVegetationSceneElements.
- 返回
- Detached atlas whose Motion RG stores signed world X/Z; other TVE channels stay unchanged. @thread Worker-safe; no callbacks, clocks, GPU work, global mutation or retained borrows.
在文件 EvpackVegetationScene.cpp 第 829 行定义.
引用了 eve::graphics::VegetationAtlas::center, eve::graphics::VegetationAtlas::channels, convertVegetationSceneChannelToNative(), eve::graphics::VegetationAtlas::extent, eve::Result< T >::failure(), eve::graphics::VegetationAtlas::height, index, source, eve::Result< T >::success() , 以及 eve::graphics::VegetationAtlas::width.
◆ convertVegetationSceneChannelToNative()
| Result< graphics::VegetationChannelAtlas > eve::asset_graphics::convertVegetationSceneChannelToNative | ( | graphics::VegetationChannel | channel, |
| const graphics::VegetationChannelAtlas & | tveAtlas | ||
| ) |
Convert one fully composed TVE channel atlas to EVEngine conventions.
在文件 EvpackVegetationScene.cpp 第 796 行定义.
引用了 eve::graphics::VegetationChannelAtlas::center, eve::Diagnostic::error(), eve::graphics::VegetationChannelAtlas::extent, eve::Failed, eve::Result< T >::failure(), eve::graphics::VegetationChannelAtlas::height, eve::InvalidArgument, eve::graphics::Motion, eve::graphics::VegetationChannelAtlas::pixels, eve::Result< T >::success(), value , 以及 eve::graphics::VegetationChannelAtlas::width.
被这些函数引用 convertVegetationSceneAtlasToNative() , 以及 eve::asset_graphics::VegetationSceneGpuRuntime::create().
◆ evaluateVegetationSceneElementPixel()
| EVENGINE_API_WORLD Result< VegetationSceneElementPixel > eve::asset_graphics::evaluateVegetationSceneElementPixel | ( | const VegetationSceneElement & | element, |
| const VegetationSceneElementPixelInput & | input | ||
| ) |
Evaluate one TVE Element fragment using caller-supplied texture, instance and particle inputs.
- 参数
-
element Borrowed immutable canonical Element. input Detached values corresponding to TVE _MainTex,_ElementParams, vertex color and volume fade.
- 返回
- Owning source pixel plus exact independent RGB/alpha blend modes and color mask. @thread Worker-safe; no texture reads, callbacks, clocks, global state or GPU work.
在文件 EvpackVegetationScene.cpp 第 504 行定义.
引用了 Add, eve::asset_graphics::VegetationSceneElementPixel::blendRgb, color, direction, element, eve::Diagnostic::error(), eve::Result< T >::failure(), finite, input, eve::InvalidArgument, maximum, minimum, Multiply, normal, output, remap, Replace, eve::Result< T >::success(), unit, eve::Unsupported , 以及 volume.
被这些函数引用 bakeVegetationSceneChannel().
◆ loadVegetationSceneElementMasks()
| EVENGINE_API_WORLD Result< std::map< std::string, graphics::VegetationMask > > eve::asset_graphics::loadVegetationSceneElementMasks | ( | const asset::EvpackResourceReader & | reader, |
| const LoadedVegetationScene & | scene, | ||
| const asset::EvpackCapabilities & | capabilities, | ||
| std::uint64_t | maximumDecodedBytes = 256 *1024 *1024 |
||
| ) |
Decode every runtime texture used by admitted TVE Element shaders into owning linear masks.
- 参数
-
reader Borrowed immutable package reader, used only during this call. scene Borrowed validated scene whose texture asset references identify the image dependencies. capabilities Runtime variant capabilities. maximumDecodedBytes Aggregate decoded-image and owning-mask byte budget across unique images.
- 返回
- Owning masks keyed by lowercase Unity GUID; missing required images fail the whole candidate. @thread Worker-safe when the reader is safe for concurrent reads. @reentrancy Performs no callbacks, GPU calls, global mutation, clocks or filesystem access.
在文件 EvpackVegetationScene.cpp 第 433 行定义.
引用了 eve::Conflict, eve::asset::decodeEvpackImage(), element, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), image, index, eve::InvalidArgument, limits, mask, eve::asset::EvpackImageDecodeLimits::maximumDimension, eve::NotFound, offset, output, eve::AssetRef::parse(), position, required, scene, eve::Result< T >::success() , 以及 eve::graphics::VegetationMask::width.
被这些函数引用 eve::asset_graphics::VegetationSceneAssociationLoader::load().
◆ projectVegetationScene()
| EVENGINE_API_WORLD Result< VegetationSceneProjection > eve::asset_graphics::projectVegetationScene | ( | const graphics::PbrSurface & | baseSurface, |
| const graphics::VegetationMotion & | baseMotion, | ||
| const LoadedVegetationScene & | scene | ||
| ) |
Project validated TVE manager controls onto one material/motion snapshot.
- 参数
-
baseSurface Borrowed immutable material values, including resolved texture pointers. baseMotion Borrowed immutable object/time/camera values. scene Owning validated scene state.
- 返回
- Detached complete candidate; inputs remain unchanged on failure. @thread Worker-safe; no clocks, GPU calls, callbacks or global shader state.
在文件 EvpackVegetationScene.cpp 第 385 行定义.
引用了 c, eve::graphics::configureVegetationDetails(), eve::Result< T >::failure(), s, scene, eve::Result< T >::success(), valid , 以及 eve::graphics::validatePbrSurface().
被这些函数引用 eve::asset_graphics::VegetationSceneGpuRuntime::create().
◆ validateShaderAssetGpu()
| EVENGINE_API_WORLD Result< void > eve::asset_graphics::validateShaderAssetGpu | ( | const asset::ShaderAsset & | shader | ) |
Validate complete SPIR-V semantics and the supported engine pipeline interface before upload.
- 参数
-
shader Borrowed CPU snapshot, not retained.
- 返回
- Success, a structured incompatibility, or Unsupported when validation tools were not linked. @thread Worker-safe for immutable input. No GPU allocation, callbacks, or live-state mutation.
- 备注
- Version one permits one fragment sampler (albedo), fixed vertex attributes, a mesh Frame UBO, and optional float data[32] push constants. Other descriptor layouts are explicitly unsupported.
在文件 ShaderAssetValidation.cpp 第 96 行定义.
引用了 error, eve::Diagnostic::error(), f, eve::Result< T >::failure(), input, mesh, eve::asset::Mesh3D, output, eve::ParseError, shader, eve::Result< T >::success(), text, type, eve::Unsupported , 以及 v.
被这些函数引用 eve::asset_graphics::EvpackShader::load() , 以及 eve::asset_stylize::EvpackMeshVfx::load().