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

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

#include <StyleChain.h>

Public 成员函数

 StyleChain ()=default
 
 ~StyleChain ()=default
 
 StyleChain (const StyleChain &)=delete
 
StyleChainoperator= (const StyleChain &)=delete
 
void clear ()
 
void add (StylePass *pass)
 
int getPassCount () const
 
StylePassgetPass (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.h27 行定义.

构造及析构函数说明

◆ StyleChain() [1/2]

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

◆ ~StyleChain()

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

◆ StyleChain() [2/2]

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

成员函数说明

◆ add()

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

在文件 StyleChain.cpp16 行定义.

◆ 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.cpp26 行定义.

引用了 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.cpp64 行定义.

引用了 apply(), eve::graphics::Canvas::getTexture() , 以及 temp.

◆ clear()

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

在文件 StyleChain.cpp14 行定义.

◆ getPass()

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

在文件 StyleChain.cpp21 行定义.

◆ getPassCount()

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

在文件 StyleChain.h37 行定义.

◆ operator=()

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

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