载入中...
搜索中...
未找到
Stylize.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Module.h"
5#include "stylize/StylePass.h"
6
7#include <string>
8
9namespace eve::graphics {
10class Graphics;
11class Shader;
12} // namespace eve::graphics
13
14namespace eve::image {
15class ImageData;
16} // namespace eve::image
17
18namespace eve::stylize {
19
39class Stylize : public Module {
40public:
42 Stylize() = default;
43 ~Stylize() override = default;
44
45 int getStyleCount() const;
46 std::string getStyleId(int index) const;
47 bool hasStyle(const std::string &style) const;
48 bool hasMeshStyle(const std::string &style) const;
49
57 bool supports(const std::string &style, const std::string &feature) const;
58
60 int getStyleParamCount(const std::string &style) const;
61 std::string getStyleParamName(const std::string &style, int index) const;
62
64 StylePass *newPass(graphics::Graphics *gfx, const std::string &style);
65
71 StylePass *newPassFromShader(const std::string &styleId, graphics::Shader *shader);
72
75
77 graphics::Shader *newPostShader(graphics::Graphics *gfx, const std::string &style);
78
80 graphics::Shader *newMeshShader(graphics::Graphics *gfx, const std::string &style);
81
86 image::ImageData *processImage(image::ImageData *src, const std::string &style);
87};
88
89} // namespace eve::stylize
Shader * shader
Custom GPU program.
Definition Shader.h:30
Represents raw pixel data.
Definition ImageData.h:26
Ordered multi-pass stylize pipeline (extension point).
Definition StyleChain.h:27
One stylized post-process pass bound to a style id (built-in or custom label). Draws a full-quad of t...
Definition StylePass.h:22
Stylized / NPR rendering module — stable public surface for future expansion.
Definition Stylize.h:39
bool hasStyle(const std::string &style) const
Definition Stylize.cpp:21
int getStyleCount() const
Definition Stylize.cpp:17
int getStyleParamCount(const std::string &style) const
Introspect built-in post param names (empty for unknown / custom-only ids).
Definition Stylize.cpp:31
StylePass * newPass(graphics::Graphics *gfx, const std::string &style)
Post-process StylePass (shader owned by Graphics).
Definition Stylize.cpp:39
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 on...
Definition Stylize.cpp:44
graphics::Shader * newPostShader(graphics::Graphics *gfx, const std::string &style)
Raw post Shader with defaults (owned by Graphics).
Definition Stylize.cpp:51
graphics::Shader * newMeshShader(graphics::Graphics *gfx, const std::string &style)
Mesh3D Shader for cartoon/ink (owned by Graphics).
Definition Stylize.cpp:55
bool hasMeshStyle(const std::string &style) const
Definition Stylize.cpp:23
~Stylize() override=default
bool supports(const std::string &style, const std::string &feature) const
Feature query. Known features: "post" — StylePass / newPostShader "mesh" — newMeshShader "cpu" — proc...
Definition Stylize.cpp:27
std::string getStyleId(int index) const
Definition Stylize.cpp:19
std::string getStyleParamName(const std::string &style, int index) const
Definition Stylize.cpp:35
image::ImageData * processImage(image::ImageData *src, const std::string &style)
CPU fallback stylization for ImageData (RGBA8). Caller owns returned ImageData*.
Definition Stylize.cpp:59
StyleChain * newChain()
Definition Stylize.cpp:49
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition AnimTrail.h:6