载入中...
搜索中...
未找到
eve::stylize::Stylize类 参考

Stylized / NPR rendering module — stable public surface for future expansion. 更多...

#include <Stylize.h>

类 eve::stylize::Stylize 继承关系图:
eve::Module

Public 成员函数

 Module_REG (Stylize)
 
 Stylize ()
 Stylize.
 
 ~Stylize () override
 Stylize.
 
int getStyleCount () const
 Returns the style count.
 
std::string getStyleId (int index) const
 Returns the style id.
 
bool hasStyle (const std::string &style) const
 True when style.
 
bool hasMeshStyle (const std::string &style) const
 True when mesh style.
 
bool supports (const std::string &style, const std::string &feature) const
 Feature query. Known features: "post" — StylePass / newPostShader "mesh" — newMeshShader "cpu" — processImage "depth" / "normal" — required scene inputs "gbuffer" — shorthand for either depth or normal
 
int getStyleParamCount (const std::string &style) const
 Introspect built-in post param names (empty for unknown / custom-only ids).
 
std::string getStyleParamName (const std::string &style, int index) const
 Returns the style param name.
 
StyleInstance * newInstance (const std::string &style)
 Create a mutable parameter instance of an immutable style definition.
 
StyleRecipe * newRecipe ()
 Create an empty compilable multi-style recipe.
 
std::unique_ptr< MeshEffectInstance > createMeshEffect (const std::string &style)
 Create an owned runtime mesh effect for a registered mesh style.
 
std::unique_ptr< TrailEmitter > createTrailEmitter ()
 Create an owned CPU weapon-trail sampler with default settings.
 
std::unique_ptr< MeshEffectRenderer > createMeshEffectRenderer (graphics::Graphics &gfx)
 Create a render-thread adapter bound to one Graphics owner.
 
std::unique_ptr< SkillMeshEffect > createSkillMeshEffect (SkillMeshEffectKind kind)
 Create an owning runtime for a built-in gameplay mesh VFX recipe.
 
eve::Result< std::unique_ptr< MeshVfxAssetInstance > > createMeshVfxAssetInstance (const MeshVfxAsset &asset)
 Instantiate all runtime layers, reporting incompatible authored style parameters.
 
std::unique_ptr< AttackVfxRuntime > createAttackVfxRuntime ()
 Create an empty AttackVfxRuntime pool for layered attack presentation recipes.
 
StylePass * newPass (graphics::Graphics *gfx, const std::string &style)
 Post-process StylePass (shader owned by Graphics).
 
StylePass * newPassFromShader (const std::string &styleId, graphics::Shader *shader)
 Wrap an already-created post Shader (custom SPIR-V / future registered styles). styleId is a label only; capability tables are not updated. Shader must already declare its float uniforms.
 
StyleChain * newChain ()
 Creates a chain. @ownership Caller deletes unless documented otherwise.
 
graphics::Shader * newPostShader (graphics::Graphics *gfx, const std::string &style)
 Raw post Shader with defaults (owned by Graphics).
 
graphics::Shader * newMeshShader (graphics::Graphics *gfx, const std::string &style)
 Mesh3D Shader for cartoon/ink (owned by Graphics).
 
image::ImageData * processImage (image::ImageData *src, const std::string &style)
 CPU fallback stylization for ImageData (RGBA8). Caller owns returned ImageData*.
 
- Public 成员函数 继承自 eve::Module
virtual ~Module ()
 Module.
 
virtual std::string getName () const =0
 Returns the name.
 

详细描述

Stylized / NPR rendering module — stable public surface for future expansion.

Built-in style ids (string, no enums):

  • "cartoon" — cel post (+ mesh)
  • "anime" — albedo-preserving character mesh, skin and anisotropic hair controls
  • "watercolor" — paper / bleed post
  • "ink" — ink-wash post (+ mesh)
  • "pixel" — pixel-art post
  • "xray" — depth-aware mesh technique

Extension points (keep these stable):

  • newPass / newPassFromShader — wrap built-in or custom SPIR-V post shaders
  • newMeshShader — object-space variants including anime, cartoon and ink
  • StyleChain — multi-pass ping-pong (separable blur, outline+shade, …)
  • supports(style, feature) — "post" | "mesh" | "cpu" | "gbuffer" ("gbuffer" is true when depth or normal inputs are required)
  • getStyleParam* — introspect push-constant knobs for tooling / UI

Script: stylize <- eve.Stylize();

在文件 Stylize.h 第 54 行定义.

构造及析构函数说明

◆ Stylize()

eve::stylize::Stylize::Stylize ( )

◆ ~Stylize()

eve::stylize::Stylize::~Stylize ( )
override

成员函数说明

◆ createAttackVfxRuntime()

std::unique_ptr< AttackVfxRuntime > eve::stylize::Stylize::createAttackVfxRuntime ( )

Create an empty AttackVfxRuntime pool for layered attack presentation recipes.

在文件 Stylize.cpp 第 106 行定义.

◆ createMeshEffect()

std::unique_ptr< MeshEffectInstance > eve::stylize::Stylize::createMeshEffect ( const std::string &  style)

Create an owned runtime mesh effect for a registered mesh style.

在文件 Stylize.cpp 第 86 行定义.

◆ createMeshEffectRenderer()

std::unique_ptr< MeshEffectRenderer > eve::stylize::Stylize::createMeshEffectRenderer ( graphics::Graphics &  gfx)

Create a render-thread adapter bound to one Graphics owner.

在文件 Stylize.cpp 第 94 行定义.

◆ createMeshVfxAssetInstance()

eve::Result< std::unique_ptr< MeshVfxAssetInstance > > eve::stylize::Stylize::createMeshVfxAssetInstance ( const MeshVfxAsset &  asset)

Instantiate all runtime layers, reporting incompatible authored style parameters.

在文件 Stylize.cpp 第 102 行定义.

引用了 eve::stylize::MeshVfxAssetInstance::create().

◆ createSkillMeshEffect()

std::unique_ptr< SkillMeshEffect > eve::stylize::Stylize::createSkillMeshEffect ( SkillMeshEffectKind  kind)

Create an owning runtime for a built-in gameplay mesh VFX recipe.

在文件 Stylize.cpp 第 98 行定义.

引用了 kind.

◆ createTrailEmitter()

std::unique_ptr< TrailEmitter > eve::stylize::Stylize::createTrailEmitter ( )

Create an owned CPU weapon-trail sampler with default settings.

在文件 Stylize.cpp 第 90 行定义.

◆ getStyleCount()

int eve::stylize::Stylize::getStyleCount ( ) const

Returns the style count.

在文件 Stylize.cpp 第 31 行定义.

引用了 eve::stylize::styleCount().

◆ getStyleId()

std::string eve::stylize::Stylize::getStyleId ( int  index) const

Returns the style id.

在文件 Stylize.cpp 第 33 行定义.

引用了 index , 以及 eve::stylize::styleIdAt().

◆ getStyleParamCount()

int eve::stylize::Stylize::getStyleParamCount ( const std::string &  style) const

Introspect built-in post param names (empty for unknown / custom-only ids).

在文件 Stylize.cpp 第 45 行定义.

引用了 eve::stylize::styleParamCount().

◆ getStyleParamName()

std::string eve::stylize::Stylize::getStyleParamName ( const std::string &  style,
int  index 
) const

Returns the style param name.

在文件 Stylize.cpp 第 49 行定义.

引用了 index , 以及 eve::stylize::styleParamName().

◆ hasMeshStyle()

bool eve::stylize::Stylize::hasMeshStyle ( const std::string &  style) const

True when mesh style.

在文件 Stylize.cpp 第 37 行定义.

引用了 eve::stylize::styleSupports().

◆ hasStyle()

bool eve::stylize::Stylize::hasStyle ( const std::string &  style) const

True when style.

在文件 Stylize.cpp 第 35 行定义.

引用了 eve::stylize::isKnownStyle().

被这些函数引用 processImage().

◆ Module_REG()

eve::stylize::Stylize::Module_REG ( Stylize  )

◆ newChain()

StyleChain * eve::stylize::Stylize::newChain ( )

Creates a chain. @ownership Caller deletes unless documented otherwise.

Empty multi-pass chain (caller adds StylePass*).

在文件 Stylize.cpp 第 63 行定义.

◆ newInstance()

StyleInstance * eve::stylize::Stylize::newInstance ( const std::string &  style)

Create a mutable parameter instance of an immutable style definition.

在文件 Stylize.cpp 第 80 行定义.

◆ newMeshShader()

graphics::Shader * eve::stylize::Stylize::newMeshShader ( graphics::Graphics *  gfx,
const std::string &  style 
)

Mesh3D Shader for cartoon/ink (owned by Graphics).

在文件 Stylize.cpp 第 69 行定义.

引用了 eve::stylize::createMeshShader().

◆ newPass()

StylePass * eve::stylize::Stylize::newPass ( graphics::Graphics *  gfx,
const std::string &  style 
)

Post-process StylePass (shader owned by Graphics).

在文件 Stylize.cpp 第 53 行定义.

引用了 eve::stylize::createPostShader().

◆ newPassFromShader()

StylePass * eve::stylize::Stylize::newPassFromShader ( const std::string &  styleId,
graphics::Shader *  shader 
)

Wrap an already-created post Shader (custom SPIR-V / future registered styles). styleId is a label only; capability tables are not updated. Shader must already declare its float uniforms.

在文件 Stylize.cpp 第 58 行定义.

引用了 shader.

◆ newPostShader()

graphics::Shader * eve::stylize::Stylize::newPostShader ( graphics::Graphics *  gfx,
const std::string &  style 
)

Raw post Shader with defaults (owned by Graphics).

在文件 Stylize.cpp 第 65 行定义.

引用了 eve::stylize::createPostShader().

◆ newRecipe()

StyleRecipe * eve::stylize::Stylize::newRecipe ( )

Create an empty compilable multi-style recipe.

在文件 Stylize.cpp 第 84 行定义.

◆ processImage()

image::ImageData * eve::stylize::Stylize::processImage ( image::ImageData *  src,
const std::string &  style 
)

CPU fallback stylization for ImageData (RGBA8). Caller owns returned ImageData*.

在文件 Stylize.cpp 第 73 行定义.

引用了 hasStyle(), eve::stylize::processImageCpu() , 以及 supports().

◆ supports()

bool eve::stylize::Stylize::supports ( const std::string &  style,
const std::string &  feature 
) const

Feature query. Known features: "post" — StylePass / newPostShader "mesh" — newMeshShader "cpu" — processImage "depth" / "normal" — required scene inputs "gbuffer" — shorthand for either depth or normal

在文件 Stylize.cpp 第 41 行定义.

引用了 eve::stylize::styleSupports().

被这些函数引用 processImage().


该类的文档由以下文件生成: