Stylized / NPR rendering module — stable public surface for future expansion. 更多...
#include <Stylize.h>
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()
| eve::stylize::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 行定义.
◆ 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 |
◆ getStyleId()
| std::string eve::stylize::Stylize::getStyleId | ( | int | index | ) | const |
◆ 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 行定义.
◆ 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 |
◆ 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 行定义.
◆ newPass()
| StylePass * eve::stylize::Stylize::newPass | ( | graphics::Graphics * | gfx, |
| const std::string & | style | ||
| ) |
Post-process StylePass (shader owned by Graphics).
在文件 Stylize.cpp 第 53 行定义.
◆ 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 行定义.
◆ 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().
该类的文档由以下文件生成:
- src/modules/stylize/Stylize.h
- src/modules/stylize/Stylize.cpp
Public 成员函数 继承自