#include <RenderTextureTest.h>
◆ RenderTextureTestDepthStencil()
| RenderTextureTestDepthStencil::RenderTextureTestDepthStencil |
( |
| ) |
|
move sprite half width and height, and draw only where not marked
在文件 RenderTextureTest.cpp 第 484 行定义.
486 auto s = Director::getInstance()->getWinSize();
488 _spriteDS = Sprite::create(
"Images/fire.png");
490 _spriteDS->setPosition(Vec2(s.width * 0.25f, 0.0f));
495 _spriteDraw->setPosition(Vec2(s.width * 0.25f, 0.0f));
500 _rend = RenderTexture::create(s.width, s.height, backend::PixelFormat::RGBA4444, PixelFormat::D24S8);
502 _rend->setPosition(Vec2(s.width * 0.5f, s.height * 0.5f));
504 this->addChild(
_rend);
cocos2d::Sprite * _spriteDS
cocos2d::RenderTexture * _rend
cocos2d::Sprite * _spriteDraw
引用了 _rend, _spriteDraw , 以及 _spriteDS.
◆ ~RenderTextureTestDepthStencil()
| RenderTextureTestDepthStencil::~RenderTextureTestDepthStencil |
( |
| ) |
|
|
virtual |
◆ CREATE_FUNC()
◆ draw()
| void RenderTextureTestDepthStencil::draw |
( |
cocos2d::Renderer * |
renderer, |
|
|
const cocos2d::Mat4 & |
transform, |
|
|
uint32_t |
flags |
|
) |
| |
|
overridevirtual |
在文件 RenderTextureTest.cpp 第 513 行定义.
519 _rend->beginWithClear(0, 0, 0, 0, 0, 0);
cocos2d::CallbackCommand _renderCmds[4]
引用了 _rend, _renderCmds, _spriteDraw, _spriteDS, onAfterDraw(), onBeforeClear(), onBeforeDraw() , 以及 onBeforeStencil().
◆ onAfterDraw()
| void RenderTextureTestDepthStencil::onAfterDraw |
( |
| ) |
|
|
private |
◆ onBeforeClear()
| void RenderTextureTestDepthStencil::onBeforeClear |
( |
| ) |
|
|
private |
◆ onBeforeDraw()
| void RenderTextureTestDepthStencil::onBeforeDraw |
( |
| ) |
|
|
private |
在文件 RenderTextureTest.cpp 第 554 行定义.
556 Director::getInstance()->getRenderer()->setStencilCompareFunction(backend::CompareFunction::NOT_EQUAL, 1, 0xFF);
被这些函数引用 draw().
◆ onBeforeStencil()
| void RenderTextureTestDepthStencil::onBeforeStencil |
( |
| ) |
|
|
private |
mark sprite quad into stencil buffer
在文件 RenderTextureTest.cpp 第 545 行定义.
548 auto renderer = Director::getInstance()->getRenderer();
549 renderer->setStencilTest(
true);
550 renderer->setStencilCompareFunction(backend::CompareFunction::NEVER, 1, 0xFF);
551 renderer->setStencilOperation(backend::StencilOperation::REPLACE, backend::StencilOperation::REPLACE, backend::StencilOperation::REPLACE);
被这些函数引用 draw().
◆ subtitle()
| std::string RenderTextureTestDepthStencil::subtitle |
( |
| ) |
const |
|
overridevirtual |
◆ title()
| std::string RenderTextureTestDepthStencil::title |
( |
| ) |
const |
|
overridevirtual |
◆ _rend
| cocos2d::RenderTexture* RenderTextureTestDepthStencil::_rend |
|
private |
◆ _renderCmds
| cocos2d::CallbackCommand RenderTextureTestDepthStencil::_renderCmds[4] |
|
private |
◆ _spriteDraw
| cocos2d::Sprite* RenderTextureTestDepthStencil::_spriteDraw |
|
private |
◆ _spriteDS
| cocos2d::Sprite* RenderTextureTestDepthStencil::_spriteDS |
|
private |
该类的文档由以下文件生成:
- /Users/yujizhu/Documents/Git/cocos2d-x-4.0/tests/cpp-tests/Classes/RenderTextureTest/RenderTextureTest.h
- /Users/yujizhu/Documents/Git/cocos2d-x-4.0/tests/cpp-tests/Classes/RenderTextureTest/RenderTextureTest.cpp