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

Ordered multi-pass stylize pipeline (extension point). 更多...

#include <StyleChain.h>

Public 成员函数

 StyleChain ()=default
 Style chain.
 
 ~StyleChain ()=default
 Style chain.
 
 StyleChain (const StyleChain &)=delete
 
StyleChain & operator= (const StyleChain &)=delete
 
void clear ()
 Clears .
 
void add (StylePass *pass)
 Adds .
 
int getPassCount () const
 Returns the pass count.
 
StylePass * getPass (int index) const
 Returns the pass.
 
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)
 Applies canvas.
 

详细描述

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 第 29 行定义.

构造及析构函数说明

◆ StyleChain() [1/2]

eve::stylize::StyleChain::StyleChain ( )
default

Style chain.

◆ ~StyleChain()

eve::stylize::StyleChain::~StyleChain ( )
default

Style chain.

◆ StyleChain() [2/2]

eve::stylize::StyleChain::StyleChain ( const StyleChain &  )
delete

成员函数说明

◆ add()

void eve::stylize::StyleChain::add ( StylePass *  pass)

Adds .

在文件 StyleChain.cpp 第 16 行定义.

被这些函数引用 eve::stylize::StyleRecipe::apply().

◆ 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() , 以及 source.

被这些函数引用 eve::stylize::StyleRecipe::apply() , 以及 applyCanvas().

◆ applyCanvas()

void eve::stylize::StyleChain::applyCanvas ( graphics::Graphics *  gfx,
graphics::Canvas *  source,
graphics::Canvas *  dest,
graphics::Canvas *  temp = nullptr 
)

Applies canvas.

在文件 StyleChain.cpp 第 64 行定义.

引用了 apply() , 以及 source.

◆ clear()

void eve::stylize::StyleChain::clear ( )

Clears .

在文件 StyleChain.cpp 第 14 行定义.

◆ getPass()

StylePass * eve::stylize::StyleChain::getPass ( int  index) const

Returns the pass.

在文件 StyleChain.cpp 第 21 行定义.

引用了 index.

◆ getPassCount()

int eve::stylize::StyleChain::getPassCount ( ) const
inline

Returns the pass count.

在文件 StyleChain.h 第 44 行定义.

◆ operator=()

StyleChain & eve::stylize::StyleChain::operator= ( const StyleChain &  )
delete

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