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

类

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

enum class eve::decal::DecalEdgeFadeStatus : std::uint8_t
strong

Outcome of changing the projection-volume edge mask width.

枚举值
Applied 
UnknownId 
InvalidWidth 

在文件 DecalManager.h 第 70 行定义.

◆ DecalParallaxStatus

enum class eve::decal::DecalParallaxStatus : std::uint8_t
strong

Outcome of applying height-driven parallax settings to a live decal.

枚举值
Applied 
UnknownId 
InvalidScale 
InvalidLayers 

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

◆ DecalPattern

enum class eve::decal::DecalPattern : std::uint8_t
strong

Built-in procedural masks used by a procedural decal layer.

枚举值
Spots 
Cracks 
Streaks 
Puddle 
Grunge 

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

◆ DecalProjectionStatus

enum class eve::decal::DecalProjectionStatus : std::uint8_t
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.

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

参数
xmlUTF-8 sbspresets document; 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.

被这些函数引用 eve::decal::Decal::bakeSbsprsTexture().

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

参数
nameStable preset family: blood-wet, blood-dried, damage, dirt, rust, puddle, paint, moss, mold, or lichen.
seedNamed 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().

被这些函数引用 eve::decal::Decal::bakePresetTexture().

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