PuzzleSDK
RenderTextureWithSprite3DIssue16894类 参考

#include <RenderTextureTest.h>

+ 类 RenderTextureWithSprite3DIssue16894 继承关系图:
+ RenderTextureWithSprite3DIssue16894 的协作图:

Public 成员函数

 CREATE_FUNC (RenderTextureWithSprite3DIssue16894)
 
 RenderTextureWithSprite3DIssue16894 ()
 
virtual ~RenderTextureWithSprite3DIssue16894 ()
 
virtual void visit (cocos2d::Renderer *renderer, const cocos2d::Mat4 &parentTransform, uint32_t parentFlags) override
 
virtual std::string title () const override
 
virtual std::string subtitle () const override
 
- Public 成员函数 继承自 TestCase
 TestCase ()
 
 ~TestCase ()
 
virtual Type getTestType () const
 
virtual float getDuration () const
 
virtual std::string getExpectedOutput () const
 
virtual std::string getActualOutput () const
 
virtual void restartTestCallback (cocos2d::Ref *sender)
 
virtual void nextTestCallback (cocos2d::Ref *sender)
 
virtual void priorTestCallback (cocos2d::Ref *sender)
 
virtual void onBackCallback (cocos2d::Ref *sender)
 
void setTestSuite (TestSuite *testSuite)
 
TestSuitegetTestSuite () const
 
float getRunTime () const
 
void setTestCaseName (const std::string &name)
 
std::string getTestCaseName () const
 
const cocos2d::Label * getSubtitleLable () const
 
const cocos2d::MenuItemImage * getRestartTestItem () const
 
virtual void onEnter () override
 

Private 属性

cocos2d::Sprite3D * _ship [3]
 
cocos2d::RenderTexture * _renderTexDefault
 
cocos2d::RenderTexture * _renderTexWithBuffer
 

额外继承的成员函数

- Public 类型 继承自 TestCase
enum class  Type { ROBUSTNESS , UNIT , GRAPHICAL_STATIC , MANUAL }
 
- Public 属性 继承自 TestCase
CC_CONSTRUCTOR_ACCESS __pad0__: virtual bool init() override
 
- Protected 属性 继承自 TestCase
cocos2d::MenuItemImage * _priorTestItem
 
cocos2d::MenuItemImage * _restartTestItem
 
cocos2d::MenuItemImage * _nextTestItem
 
cocos2d::Label * _titleLabel
 
cocos2d::Label * _subtitleLabel
 

详细描述

在文件 RenderTextureTest.h181 行定义.

构造及析构函数说明

◆ RenderTextureWithSprite3DIssue16894()

RenderTextureWithSprite3DIssue16894::RenderTextureWithSprite3DIssue16894 ( )

在文件 RenderTextureTest.cpp807 行定义.

808{
809 auto visibleSize = Director::getInstance()->getVisibleSize();
810 Vec2 origin = Director::getInstance()->getVisibleOrigin();
811
812 for (int i = 0; i < 3; ++i)
813 {
814 // Ship - Model is from cocos2d-x test project
815 auto ship = Sprite3D::create("Sprite3DTest/boss.c3b");
816 ship->setScale(6);
817 ship->setRotation3D(Vec3(180.0f,45.0f,0.0f));
818 ship->setPosition(Vec2(visibleSize.width/4 + origin.x, visibleSize.height/2 + origin.y));
819 ship->setForce2DQueue(true);
820 ship->retain();
821
822 if (i == 0)
823 {
824 addChild(ship, 1);
826 auto spin = RotateBy::create(4, Vec3(0.0f,180.0f,0.0f));
827 auto repeatspin = RepeatForever::create(spin);
828 ship->runAction(repeatspin);
829 }
830 _ship[i] = ship;
831 }
832
833 // RenderTextures
834 _renderTexDefault = RenderTexture::create(visibleSize.width, visibleSize.height, backend::PixelFormat::RGBA8888);
835 _renderTexDefault->setKeepMatrix(true);
836 addChild(_renderTexDefault);
837 _renderTexDefault->setPosition(visibleSize.width/4 * 3, visibleSize.height/2);
838
839 _renderTexWithBuffer = RenderTexture::create(visibleSize.width, visibleSize.height, backend::PixelFormat::RGBA8888, backend::PixelFormat::D24S8);
840 _renderTexWithBuffer->setKeepMatrix(true);
841 addChild(_renderTexWithBuffer);
842 _renderTexWithBuffer->setPosition(visibleSize.width/4 * 4, visibleSize.height/2);
843
844 // Update
845 scheduleUpdate();
846
847 auto label1 = Label::createWithTTF("Normal Sprite3D\n", "fonts/arial.ttf", 10);
848 label1->setPosition(Vec2(visibleSize.width/4 * 1, 60.0f));
849 this->addChild(label1, 1);
850
851 auto label2 = Label::createWithTTF("RenderTexture\nDefault - No depth buffer", "fonts/arial.ttf", 10);
852 label2->setPosition(Vec2(visibleSize.width/4 * 2, 60.0f));
853 this->addChild(label2, 1);
854
855 auto label3 = Label::createWithTTF("RenderTexture\nGL_DEPTH24_STENCIL8", "fonts/arial.ttf", 10);
856 label3->setPosition(Vec2(visibleSize.width/4 * 3, 60.0f));
857 this->addChild(label3, 1);
858}
cocos2d::RenderTexture * _renderTexDefault
cocos2d::RenderTexture * _renderTexWithBuffer

◆ ~RenderTextureWithSprite3DIssue16894()

RenderTextureWithSprite3DIssue16894::~RenderTextureWithSprite3DIssue16894 ( )
virtual

在文件 RenderTextureTest.cpp860 行定义.

861{
862 for (int i = 0; i < 3; ++i)
863 {
864 _ship[i]->release();
865 }
866}

成员函数说明

◆ CREATE_FUNC()

RenderTextureWithSprite3DIssue16894::CREATE_FUNC ( RenderTextureWithSprite3DIssue16894  )

◆ subtitle()

std::string RenderTextureWithSprite3DIssue16894::subtitle ( ) const
overridevirtual

重载 TestCase .

在文件 RenderTextureTest.cpp889 行定义.

890{
891 return "3 ships, 1st & 3rd are the same";
892}

◆ title()

std::string RenderTextureWithSprite3DIssue16894::title ( ) const
overridevirtual

重载 TestCase .

在文件 RenderTextureTest.cpp884 行定义.

885{
886 return "Issue16894: Render Sprite3D to texture";
887}

◆ visit()

void RenderTextureWithSprite3DIssue16894::visit ( cocos2d::Renderer *  renderer,
const cocos2d::Mat4 &  parentTransform,
uint32_t  parentFlags 
)
overridevirtual

在文件 RenderTextureTest.cpp868 行定义.

869{
870 RenderTextureTest::visit(renderer, parentTransform, parentFlags);
871
872 _ship[1]->setRotation3D(_ship[0]->getRotation3D());
873 _ship[2]->setRotation3D(_ship[0]->getRotation3D());
874
875 _renderTexDefault->beginWithClear(0, 0, 0, 0, 0, 0);
876 _ship[1]->visit(Director::getInstance()->getRenderer(), Mat4::IDENTITY, 0);
877 _renderTexDefault->end();
878
879 _renderTexWithBuffer->beginWithClear(0, 0, 0, 0, 1, 0);
880 _ship[2]->visit(Director::getInstance()->getRenderer(), Mat4::IDENTITY, 0);
882}

类成员变量说明

◆ _renderTexDefault

cocos2d::RenderTexture* RenderTextureWithSprite3DIssue16894::_renderTexDefault
private

在文件 RenderTextureTest.h196 行定义.

◆ _renderTexWithBuffer

cocos2d::RenderTexture* RenderTextureWithSprite3DIssue16894::_renderTexWithBuffer
private

在文件 RenderTextureTest.h197 行定义.

◆ _ship

cocos2d::Sprite3D* RenderTextureWithSprite3DIssue16894::_ship[3]
private

在文件 RenderTextureTest.h194 行定义.


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