类 | |
| class | Decal |
| Runtime decal module — project surface effects (blood, dirt, scorch, dents via normal maps, ...) onto any world geometry. 更多... | |
| struct | DecalInstance |
| One live decal instance (CPU-side state; GPU draw happens per frame). 更多... | |
| class | DecalManager |
| CPU-side decal registry: spawn / remove / fade / quotas, and the per-frame drawer that feeds the graphics decal pass. 更多... | |
| struct | ProceduralDecalBake |
| Owning, renderer-neutral output of one decal bake. 更多... | |
| struct | ProceduralDecalLayer |
| One independently art-directed layer of a procedural decal recipe. 更多... | |
| struct | ProceduralDecalRecipe |
| Versioned two-layer authoring recipe analogous to Procedural Decal's Standard graph and material-instance presets. 更多... | |
枚举 | |
| enum class | DecalProjectionStatus : std::uint8_t { Applied = 0 , UnknownId = 1 , InvalidMode = 2 , InvalidSharpness = 3 } |
| Outcome of DecalManager::setProjection / Decal::setProjection. 更多... | |
| enum class | DecalParallaxStatus : std::uint8_t { Applied = 0 , UnknownId = 1 , InvalidScale = 2 , InvalidLayers = 3 } |
| Outcome of applying height-driven parallax settings to a live decal. 更多... | |
| enum class | DecalEdgeFadeStatus : std::uint8_t { Applied = 0 , UnknownId = 1 , InvalidWidth = 2 } |
| Outcome of changing the projection-volume edge mask width. 更多... | |
| enum class | DecalPattern : std::uint8_t { Spots , Cracks , Streaks , Puddle , Grunge } |
| Built-in procedural masks used by a procedural decal layer. 更多... | |
函数 | |
| Module_IMPL (Decal, new Decal()) | |
| void | registerDecalCapabilities () |
| Register the IDecalQuery capability (implemented in DecalCapabilities.cpp). | |
| void | registerDecalAttackVfxExecutor () |
| Register the AttackVfx Decal layer executor (soft-skips when Graphics is absent). | |
| void | unregisterDecalAttackVfxExecutor () |
| Unregister the AttackVfx Decal layer executor. | |
| Result< ProceduralDecalRecipe > | proceduralDecalPreset (std::string_view name, std::uint32_t seed=1) |
| Build a deterministic preset recipe. | |
| Result< ProceduralDecalRecipe > | importProceduralDecalSbsprs (std::string_view xml) |
Import one Substance .sbsprs preset into the native version-two recipe. | |
| Result< ProceduralDecalBake > | bakeProceduralDecal (const ProceduralDecalRecipe &recipe) |
| Bake a two-layer decal recipe into renderer-ready texture bytes. | |
枚举类型说明
◆ DecalEdgeFadeStatus
|
strong |
Outcome of changing the projection-volume edge mask width.
| 枚举值 | |
|---|---|
| Applied | |
| UnknownId | |
| InvalidWidth | |
在文件 DecalManager.h 第 70 行定义.
◆ DecalParallaxStatus
|
strong |
Outcome of applying height-driven parallax settings to a live decal.
| 枚举值 | |
|---|---|
| Applied | |
| UnknownId | |
| InvalidScale | |
| InvalidLayers | |
在文件 DecalManager.h 第 62 行定义.
◆ DecalPattern
|
strong |
Built-in procedural masks used by a procedural decal layer.
| 枚举值 | |
|---|---|
| Spots | |
| Cracks | |
| Streaks | |
| Puddle | |
| Grunge | |
在文件 ProceduralDecal.h 第 14 行定义.
◆ DecalProjectionStatus
|
strong |
Outcome of DecalManager::setProjection / Decal::setProjection.
Named status (not bool) so callers can distinguish unknown id, bad mode, and non-positive sharpness without a parallel lastError channel.
| 枚举值 | |
|---|---|
| Applied | |
| UnknownId | |
| InvalidMode | |
| InvalidSharpness | |
在文件 DecalManager.h 第 54 行定义.
函数说明
◆ bakeProceduralDecal()
| EVENGINE_API_WORLD Result< ProceduralDecalBake > eve::decal::bakeProceduralDecal | ( | const ProceduralDecalRecipe & | recipe | ) |
Bake a two-layer decal recipe into renderer-ready texture bytes.
- 参数
-
recipe Fully specified version-two recipe.
- 返回
- Three owning RGBA8 maps, or a structured validation failure. @cost Linear in pixel count and blur radius; amortize at authoring or load time. @thread Thread-safe; no renderer calls or shared caches. @reentrancy Does not invoke callbacks.
在文件 ProceduralDecal.cpp 第 436 行定义.
引用了 a, eve::decal::ProceduralDecalBake::albedo, at, b, eve::decal::ProceduralDecalLayer::color, color, eve::decal::ProceduralDecalLayer::colorVariation, eve::decal::ProceduralDecalLayer::emissive, height, eve::decal::ProceduralDecalLayer::height, eve::decal::ProceduralDecalRecipe::height, eve::decal::ProceduralDecalBake::height, eve::decal::ProceduralDecalLayer::hueVariation, index, eve::decal::ProceduralDecalRecipe::kSchemaVersion, layer, eve::decal::ProceduralDecalRecipe::layerA, eve::decal::ProceduralDecalRecipe::layerB, eve::decal::ProceduralDecalRecipe::layerBalance, eve::decal::ProceduralDecalRecipe::layerBlendMode, eve::decal::ProceduralDecalRecipe::layerHeightBlend, mask, eve::decal::ProceduralDecalLayer::metallic, eve::decal::ProceduralDecalBake::normal, eve::decal::ProceduralDecalLayer::normalStrength, nx, ny, nz, eve::decal::ProceduralDecalRecipe::opacity, eve::decal::ProceduralDecalBake::params, pixels, px, py, eve::decal::ProceduralDecalLayer::roughness, roughness, eve::decal::ProceduralDecalLayer::roughnessVariation, eve::decal::ProceduralDecalRecipe::schemaVersion, eve::decal::ProceduralDecalRecipe::seed, strength, eve::Result< T >::success(), thickness, eve::decal::ProceduralDecalRecipe::width, eve::decal::ProceduralDecalBake::width, x , 以及 y.
被这些函数引用 eve::decal::Decal::bakePresetTexture() , 以及 eve::decal::Decal::bakeSbsprsTexture().
◆ importProceduralDecalSbsprs()
| EVENGINE_API_WORLD Result< ProceduralDecalRecipe > eve::decal::importProceduralDecalSbsprs | ( | std::string_view | xml | ) |
Import one Substance .sbsprs preset into the native version-two recipe.
- 参数
-
xml UTF-8 sbspresetsdocument; the importer consumes known Procedural Decal inputs and ignores unknown forward-compatible inputs.
- 返回
- A fully owned recipe, or a structured parse/validation failure without publishing state. @cost Linear in the preset text size; intended for asset admission, never per frame. @thread Thread-safe; no filesystem, renderer, or global state is accessed. @reentrancy Does not invoke callbacks.
在文件 ProceduralDecal.cpp 第 336 行定义.
引用了 cursor, element, end, found, eve::decal::ProceduralDecalRecipe::height, inputs, key, eve::decal::ProceduralDecalRecipe::layerA, eve::decal::ProceduralDecalRecipe::layerB, eve::decal::ProceduralDecalRecipe::layerBalance, eve::decal::ProceduralDecalRecipe::layerBlendMode, eve::decal::ProceduralDecalRecipe::layerHeightBlend, name, number, eve::decal::ProceduralDecalLayer::seed, eve::decal::ProceduralDecalRecipe::seed, seed, eve::Result< T >::success(), target, value, eve::decal::ProceduralDecalRecipe::width, x , 以及 y.
◆ Module_IMPL()
| eve::decal::Module_IMPL | ( | Decal | , |
| new | Decal() | ||
| ) |
◆ proceduralDecalPreset()
| EVENGINE_API_WORLD Result< ProceduralDecalRecipe > eve::decal::proceduralDecalPreset | ( | std::string_view | name, |
| std::uint32_t | seed = 1 |
||
| ) |
Build a deterministic preset recipe.
- 参数
-
name Stable preset family: blood-wet, blood-dried, damage, dirt, rust, puddle, paint, moss, mold, or lichen. seed Named recipe seed; equal inputs are byte-identical.
- 返回
- Recipe or InvalidArgument for an unknown preset. @thread Thread-safe; no global mutable state is accessed. @reentrancy Does not invoke callbacks.
在文件 ProceduralDecal.cpp 第 295 行定义.
引用了 eve::decal::ProceduralDecalLayer::amount, eve::decal::ProceduralDecalLayer::blur, Cracks, eve::decal::ProceduralDecalLayer::enabled, Grunge, layer, eve::decal::ProceduralDecalRecipe::layerA, eve::decal::ProceduralDecalRecipe::layerB, name, eve::decal::ProceduralDecalLayer::normalStrength, Puddle, eve::decal::ProceduralDecalLayer::scale, eve::decal::ProceduralDecalLayer::seed, eve::decal::ProceduralDecalRecipe::seed, seed, Spots, Streaks , 以及 eve::Result< T >::success().
◆ registerDecalAttackVfxExecutor()
| void eve::decal::registerDecalAttackVfxExecutor | ( | ) |
Register the AttackVfx Decal layer executor (soft-skips when Graphics is absent).
在文件 DecalAttackVfx.cpp 第 183 行定义.
被这些函数引用 registerDecalCapabilities().
◆ registerDecalCapabilities()
| void eve::decal::registerDecalCapabilities | ( | ) |
Register the IDecalQuery capability (implemented in DecalCapabilities.cpp).
在文件 DecalCapabilities.cpp 第 36 行定义.
引用了 impl , 以及 registerDecalAttackVfxExecutor().
被这些函数引用 eve::decal::Decal::Decal().
◆ unregisterDecalAttackVfxExecutor()
| void eve::decal::unregisterDecalAttackVfxExecutor | ( | ) |
Unregister the AttackVfx Decal layer executor.
在文件 DecalAttackVfx.cpp 第 189 行定义.
被这些函数引用 eve::decal::Decal::~Decal().