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

命名空间

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

枚举类型说明

◆ VegetationScenePixelBlend

enum class eve::asset_graphics::VegetationScenePixelBlend : std::uint8_t
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 = {} 
)

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

参数
sceneBorrowed immutable manager and Element state.
masksBorrowed immutable masks keyed by Unity texture GUID.
baseOwning initial atlas and world XZ mapping; copied before any evaluation.
layersSelected 0..8 layer for Colors, Extras, Motion and Vertex respectively.
worldNormalsOptional per-texel model/world normals; empty selects up.
terrainHeightsOptional per-texel resolved terrain heights; empty selects zero.
noiseSamplesOptional 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()

EVENGINE_API_WORLD glm::vec4 eve::asset_graphics::composeVegetationSceneElementPixel ( glm::vec4  destination,
const VegetationSceneElementPixel &  source 
)
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.

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

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

参数
elementBorrowed immutable canonical Element.
inputDetached 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.

参数
readerBorrowed immutable package reader, used only during this call.
sceneBorrowed validated scene whose texture asset references identify the image dependencies.
capabilitiesRuntime variant capabilities.
maximumDecodedBytesAggregate 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.

参数
baseSurfaceBorrowed immutable material values, including resolved texture pointers.
baseMotionBorrowed immutable object/time/camera values.
sceneOwning 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.

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