Ordered multi-pass stylize pipeline (extension point). 更多...
#include <StyleChain.h>
Public 成员函数 | |
| StyleChain ()=default | |
| ~StyleChain ()=default | |
| StyleChain (const StyleChain &)=delete | |
| StyleChain & | operator= (const StyleChain &)=delete |
| void | clear () |
| void | add (StylePass *pass) |
| int | getPassCount () const |
| StylePass * | getPass (int index) const |
| void | apply (graphics::Graphics *gfx, graphics::Texture *source, graphics::Canvas *dest, graphics::Canvas *temp=nullptr) |
Run passes in order into dest. When more than one pass is present, temp is required for ping-pong (same size as dest, sampleable via getTexture()). | |
| void | applyCanvas (graphics::Graphics *gfx, graphics::Canvas *source, graphics::Canvas *dest, graphics::Canvas *temp=nullptr) |
详细描述
Ordered multi-pass stylize pipeline (extension point).
Future NPR often needs ping-pong chains (separable bleed, outline then shade, depth-aware contour, etc.). This type owns the sequencing contract; built-in styles today are still single-pass, but callers can already compose them.
Passes are NOT owned — create via Stylize::newPass / newPassFromShader.
Script: chain <- stylize.newChain(); chain.add(passA); chain.add(passB);
在文件 StyleChain.h 第 27 行定义.
构造及析构函数说明
◆ StyleChain() [1/2]
|
default |
◆ ~StyleChain()
|
default |
◆ StyleChain() [2/2]
|
delete |
成员函数说明
◆ add()
| void eve::stylize::StyleChain::add | ( | StylePass * | pass | ) |
在文件 StyleChain.cpp 第 16 行定义.
◆ apply()
| void eve::stylize::StyleChain::apply | ( | graphics::Graphics * | gfx, |
| graphics::Texture * | source, | ||
| graphics::Canvas * | dest, | ||
| graphics::Canvas * | temp = nullptr |
||
| ) |
Run passes in order into dest. When more than one pass is present, temp is required for ping-pong (same size as dest, sampleable via getTexture()).
在文件 StyleChain.cpp 第 26 行定义.
引用了 eve::graphics::Graphics::drawTexturedRect(), eve::graphics::Graphics::getCanvas(), eve::graphics::Canvas::getHeight(), eve::graphics::Canvas::getTexture(), eve::graphics::Canvas::getWidth(), n, eve::graphics::Graphics::setCanvas() , 以及 temp.
被这些函数引用 applyCanvas().
◆ applyCanvas()
| void eve::stylize::StyleChain::applyCanvas | ( | graphics::Graphics * | gfx, |
| graphics::Canvas * | source, | ||
| graphics::Canvas * | dest, | ||
| graphics::Canvas * | temp = nullptr |
||
| ) |
在文件 StyleChain.cpp 第 64 行定义.
引用了 apply(), eve::graphics::Canvas::getTexture() , 以及 temp.
◆ clear()
| void eve::stylize::StyleChain::clear | ( | ) |
在文件 StyleChain.cpp 第 14 行定义.
◆ getPass()
| StylePass * eve::stylize::StyleChain::getPass | ( | int | index | ) | const |
在文件 StyleChain.cpp 第 21 行定义.
◆ getPassCount()
|
inline |
在文件 StyleChain.h 第 37 行定义.
◆ operator=()
|
delete |
该类的文档由以下文件生成:
- src/modules/stylize/StyleChain.h
- src/modules/stylize/StyleChain.cpp