Owning package-backed mesh effect, using the canonical MeshVfxAsset playback and curves. @ownership Owns playback and shader leases. Graphics must outlive it; destroy before device shutdown. @lifetime Mesh/texture inputs are never retained. Load/reload copy package data; readers may be destroyed immediately. @thread Graphics-thread affine, no callbacks, locks or reentrancy. Time comes exclusively from advance(dt). 更多...
#include <EvpackMeshVfx.h>
类 | |
| struct | Impl |
Public 成员函数 | |
| ~EvpackMeshVfx () | |
| Releases EvpackMeshVfx resources. | |
| EvpackMeshVfx (const EvpackMeshVfx &)=delete | |
| EvpackMeshVfx & | operator= (const EvpackMeshVfx &)=delete |
| void | play () noexcept |
| Restart the authored playback and reset its curves on the next advance. | |
| Result< void > | advance (float dt) |
| Advance using finite nonnegative seconds; invalid input leaves playback unchanged. | |
| Result< void > | stop (float fadeOutSeconds=0.f) |
| Stop with an optional finite nonnegative fade. | |
| Result< void > | setFloat (std::size_t layer, std::string_view name, float value) |
| Set one scalar override for one layer; authored curves still own animated parameters on advance. | |
| Result< void > | draw (graphics::Mesh &mesh, const std::array< float, 16 > &transform, OptionalRef< graphics::Texture > texture, const std::array< float, 4 > &tint={1, 1, 1, 1}) |
| Draw active layers during an open 3D frame with caller-owned mesh/texture and instance transform. Caller selects surface/blend/depth state. | |
| Result< void > | reload (const asset::EvpackResourceReader &reader, const AssetRef &asset, const asset::EvpackCapabilities &capabilities) |
| Atomically replace only after successful full load. Reapply defaults and restart; failure preserves old playback. | |
| std::vector< std::string > | drainEvents () |
| Drain canonical timeline events; no caller callback is invoked while advancing. | |
静态 Public 成员函数 | |
| static Result< std::unique_ptr< EvpackMeshVfx > > | load (const asset::EvpackResourceReader &reader, const AssetRef &asset, const asset::EvpackCapabilities &capabilities, graphics::Graphics &graphics) |
| Resolve every layer and validate all candidates before GPU upload; no partial instance is published. | |
详细描述
Owning package-backed mesh effect, using the canonical MeshVfxAsset playback and curves. @ownership Owns playback and shader leases. Graphics must outlive it; destroy before device shutdown. @lifetime Mesh/texture inputs are never retained. Load/reload copy package data; readers may be destroyed immediately. @thread Graphics-thread affine, no callbacks, locks or reentrancy. Time comes exclusively from advance(dt).
在文件 EvpackMeshVfx.h 第 26 行定义.
构造及析构函数说明
◆ ~EvpackMeshVfx()
|
default |
Releases EvpackMeshVfx resources.
◆ EvpackMeshVfx()
|
delete |
成员函数说明
◆ advance()
| Result< void > eve::asset_stylize::EvpackMeshVfx::advance | ( | float | dt | ) |
Advance using finite nonnegative seconds; invalid input leaves playback unchanged.
在文件 EvpackMeshVfx.cpp 第 81 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument , 以及 eve::Result< T >::success().
◆ drainEvents()
| std::vector< std::string > eve::asset_stylize::EvpackMeshVfx::drainEvents | ( | ) |
Drain canonical timeline events; no caller callback is invoked while advancing.
在文件 EvpackMeshVfx.cpp 第 136 行定义.
◆ draw()
| Result< void > eve::asset_stylize::EvpackMeshVfx::draw | ( | graphics::Mesh & | mesh, |
| const std::array< float, 16 > & | transform, | ||
| OptionalRef< graphics::Texture > | texture, | ||
| const std::array< float, 4 > & | tint = {1, 1, 1, 1} |
||
| ) |
Draw active layers during an open 3D frame with caller-owned mesh/texture and instance transform. Caller selects surface/blend/depth state.
在文件 EvpackMeshVfx.cpp 第 111 行定义.
引用了 color, layer, mesh, shader, eve::Result< T >::success(), tint , 以及 value.
◆ load()
|
static |
Resolve every layer and validate all candidates before GPU upload; no partial instance is published.
在文件 EvpackMeshVfx.cpp 第 20 行定义.
引用了 eve::stylize::MeshVfxAssetInstance::create(), eve::asset::decodeRuntimeDefinition(), eve::asset::Definition, eve::Diagnostic::error(), eve::stylize::MeshVfxAsset::fromJson(), impl, eve::InvalidArgument, layer, layout, eve::asset_graphics::EvpackShader::load(), eve::asset::loadShaderAsset(), eve::asset::Mesh3D, eve::AssetRef::parse(), payload, eve::asset::EvpackResourceReader::read(), reference, shader, eve::Unsupported, eve::asset_graphics::validateShaderAssetGpu() , 以及 value.
被这些函数引用 reload().
◆ operator=()
|
delete |
◆ play()
|
noexcept |
Restart the authored playback and reset its curves on the next advance.
在文件 EvpackMeshVfx.cpp 第 80 行定义.
◆ reload()
| Result< void > eve::asset_stylize::EvpackMeshVfx::reload | ( | const asset::EvpackResourceReader & | reader, |
| const AssetRef & | asset, | ||
| const asset::EvpackCapabilities & | capabilities | ||
| ) |
Atomically replace only after successful full load. Reapply defaults and restart; failure preserves old playback.
在文件 EvpackMeshVfx.cpp 第 129 行定义.
引用了 eve::Result< T >::failure(), load() , 以及 eve::Result< T >::success().
◆ setFloat()
| Result< void > eve::asset_stylize::EvpackMeshVfx::setFloat | ( | std::size_t | layer, |
| std::string_view | name, | ||
| float | value | ||
| ) |
Set one scalar override for one layer; authored curves still own animated parameters on advance.
在文件 EvpackMeshVfx.cpp 第 100 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, layer, name, eve::NotFound, eve::Result< T >::success() , 以及 value.
◆ stop()
Stop with an optional finite nonnegative fade.
在文件 EvpackMeshVfx.cpp 第 93 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument , 以及 eve::Result< T >::success().
该类的文档由以下文件生成:
- src/modules/asset/stylize/EvpackMeshVfx.h
- src/modules/asset/stylize/EvpackMeshVfx.cpp