axmol/tests/cpp-tests/Classes/NewRendererTest/NewRendererTest.h

196 lines
4.5 KiB
C
Raw Normal View History

#ifndef __NewRendererTest_H_
#define __NewRendererTest_H_
#include "cocos2d.h"
#include "../BaseTest.h"
2013-11-13 03:53:53 +08:00
#define kTagSpriteBatchNode 100
2013-11-16 03:29:11 +08:00
#define kTagClipperNode 101
#define kTagContentNode 102
2013-11-13 03:53:53 +08:00
DEFINE_TEST_SUITE(NewRendererTests);
2013-11-13 03:19:18 +08:00
class MultiSceneTest : public TestCase
2013-11-13 03:19:18 +08:00
{
public:
virtual std::string title() const override;
virtual std::string subtitle() const override;
2013-11-27 08:54:48 +08:00
protected:
2013-11-13 03:19:18 +08:00
};
class NewSpriteTest : public MultiSceneTest
{
public:
2013-11-27 08:54:48 +08:00
CREATE_FUNC(NewSpriteTest);
2013-11-13 03:19:18 +08:00
virtual std::string title() const override;
virtual std::string subtitle() const override;
void createSpriteTest();
void createNewSpriteTest();
void onTouchesEnded(const std::vector<cocos2d::Touch*>& touches, cocos2d::Event* event);
protected:
2013-11-27 08:54:48 +08:00
NewSpriteTest();
virtual ~NewSpriteTest();
};
class GroupCommandTest : public MultiSceneTest
{
public:
CREATE_FUNC(GroupCommandTest);
virtual std::string title() const override;
virtual std::string subtitle() const override;
protected:
GroupCommandTest();
virtual ~GroupCommandTest();
};
2013-11-16 03:29:11 +08:00
class NewClippingNodeTest : public MultiSceneTest
{
public:
2013-11-27 08:54:48 +08:00
CREATE_FUNC(NewClippingNodeTest);
virtual std::string title() const override;
virtual std::string subtitle() const override;
2013-11-15 08:39:03 +08:00
void onTouchesBegan(const std::vector<cocos2d::Touch*>& touches, cocos2d::Event *event);
void onTouchesMoved(const std::vector<cocos2d::Touch*>& touches, cocos2d::Event *event);
void onTouchesEnded(const std::vector<cocos2d::Touch*>& touches, cocos2d::Event *event);
2013-11-16 03:29:11 +08:00
protected:
2013-11-27 08:54:48 +08:00
NewClippingNodeTest();
virtual ~NewClippingNodeTest();
2013-11-16 03:29:11 +08:00
bool _scrolling;
cocos2d::Vec2 _lastPoint;
2013-11-16 03:29:11 +08:00
};
2013-11-15 08:39:03 +08:00
2013-11-20 05:57:39 +08:00
class NewDrawNodeTest : public MultiSceneTest
{
public:
2013-11-27 08:54:48 +08:00
CREATE_FUNC(NewDrawNodeTest)
virtual std::string title() const override;
virtual std::string subtitle() const override;
2013-11-20 05:57:39 +08:00
protected:
2013-11-27 08:54:48 +08:00
NewDrawNodeTest();
virtual ~NewDrawNodeTest();
2013-11-20 05:57:39 +08:00
};
2013-11-27 10:35:23 +08:00
class NewCullingTest : public MultiSceneTest
{
public:
CREATE_FUNC(NewCullingTest)
virtual std::string title() const override;
virtual std::string subtitle() const override;
2013-11-27 10:35:23 +08:00
protected:
NewCullingTest();
virtual ~NewCullingTest();
bool onTouchBegan(cocos2d::Touch* touch, cocos2d::Event *event);
void onTouchMoved(cocos2d::Touch* touch, cocos2d::Event *event);
cocos2d::Vec2 _lastPos;
2013-11-27 10:35:23 +08:00
};
2014-01-15 09:03:54 +08:00
class VBOFullTest : public MultiSceneTest
{
public:
CREATE_FUNC(VBOFullTest);
virtual std::string title() const override;
virtual std::string subtitle() const override;
protected:
VBOFullTest();
virtual ~VBOFullTest();
};
class CaptureScreenTest : public MultiSceneTest
{
2014-05-26 16:32:13 +08:00
static const int childTag = 119;
public:
CREATE_FUNC(CaptureScreenTest);
virtual std::string title() const override;
virtual std::string subtitle() const override;
protected:
CaptureScreenTest();
~CaptureScreenTest();
void onCaptured(cocos2d::Ref*);
2014-05-14 01:06:26 +08:00
void afterCaptured(bool succeed, const std::string& outputFile);
2014-05-14 01:06:26 +08:00
std::string _filename;
};
class CaptureNodeTest : public MultiSceneTest
{
static const int childTag = 120;
public:
CREATE_FUNC(CaptureNodeTest);
virtual std::string title() const override;
virtual std::string subtitle() const override;
protected:
CaptureNodeTest();
~CaptureNodeTest();
void onCaptured(cocos2d::Ref*);
std::string _filename;
};
2015-06-29 17:25:13 +08:00
class BugAutoCulling : public MultiSceneTest
{
public:
CREATE_FUNC(BugAutoCulling);
virtual std::string title() const override;
virtual std::string subtitle() const override;
protected:
BugAutoCulling();
Renderer improvments: TriangleCommand and QuadCommand merged - more options for batching (faster) - less flushing in between commands (faster) - less renderer code (easier to maintain) - less VBO/VAO (less memory) - uses temporary buffer for faster rendering (more memory) - QuadCommand is just a subclass of TriangleCommand (simpler) - but statically it allocates indices internally (like any TriangleCommand) (more memory, but not that much) - adds more tests for SpritePolygon - adds test for batching Tri + Quad command - and fixes some other bugs Squashed commit of the following: commit cce893a9114da5dda91a895e4e661894f365e2c7 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Feb 8 06:56:57 2016 -0800 QuadCommand: indices are static thanks @Darinex commit e5fd1c14e93d2f07b8266bfec03cf7206d348f59 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sun Feb 7 19:18:42 2016 -0800 little improvements in xcode proj management commit 6cd29764e01ad300f4e89e62aa6b399f73e94f01 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sun Feb 7 19:05:52 2016 -0800 Renderer improvments: TriangleCommand and QuadCommand merged - more options for batching (faster) - less flushing in between commands (faster) - less renderer code (easier to maintain) - less VBO/VAO (less memory) - uses temporary buffer for faster rendering (more memory) and fixes some other bugs Squashed commit of the following: commit af7a209435c5f2430c31ab3ebcc7f45051eacb1a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sun Feb 7 18:55:27 2016 -0800 adds test for batching quads and tris commit 25816e3eaeffd4b0cfe5fa15e97ff84e9013b8be Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sun Feb 7 18:40:15 2016 -0800 cleanup renderer commit 7f9785056681756c865d603516c7e14c46040e82 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sun Feb 7 15:34:48 2016 -0800 clean up docs commit 92a8b679dd404e4ca2839d85e2bd925195b12996 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sun Feb 7 15:18:52 2016 -0800 QuadCommand converted to Triangles command commit 7e21ec12d3781f6964b4d639cfa4bdc79eb8ae80 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Feb 5 16:17:29 2016 -0800 adds missing files... new test as well commit d1bd4391785515bdc2e1bebbeb3f321f983b51f2 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Feb 5 14:35:41 2016 -0800 more tests for poly sprites commit 5775a25b1046671bd0f5af4c5ab52b308b34bb39 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Feb 5 00:30:13 2016 -0800 malloc instead of std::vector commit 14a5d45cc978c55a182c03f181ca2bc603776561 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Feb 4 21:40:46 2016 -0800 little optimization commit 5667cb2b62416f8a439a54c3973d5841fbe1b68b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Feb 4 19:13:13 2016 -0800 quad works as expected commit 462aef05baa6586591882faa366839bead4be068 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Feb 4 15:22:59 2016 -0800 works commit c789e6c42811278563c7682b5620296ae8d84aeb Merge: d6c3729 de62924 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Feb 4 14:08:49 2016 -0800 Merge branch 'v3' into uniform_matrix_auto commit d6c37297954af752ebf42ec5f71e5e2fe28c9cc2 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Feb 4 13:54:07 2016 -0800 works ok... commit 45c288631989ea735cc31ec5aa683d9d41aacab3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Feb 4 12:58:34 2016 -0800 quad works! commit 7137cff51df09adee7129738cea2b69da090756e Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Feb 3 16:19:34 2016 -0800 more optimizations... WIP... doesn't work yet commit a8324c1a9acb6b82102e05eee6e5e5f341306c7b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 2 21:59:42 2016 -0800 compiles in release mode more tests... better threshold commit 884ffc756e7520fcbb9252260181538ec81b8368 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Feb 2 17:21:32 2016 -0800 initial uniform_auto_matrix commit Changes the CC_matrix uniform in runtime depending on whether the command can be batched or not. Lot of things missing, though... like performance tests.
2016-02-09 03:25:37 +08:00
};
class RendererBatchQuadTri : public MultiSceneTest
{
public:
CREATE_FUNC(RendererBatchQuadTri);
virtual std::string title() const override;
virtual std::string subtitle() const override;
protected:
RendererBatchQuadTri();
2015-06-29 17:25:13 +08:00
};
class RendererUniformBatch : public MultiSceneTest
{
public:
CREATE_FUNC(RendererUniformBatch);
virtual std::string title() const override;
virtual std::string subtitle() const override;
protected:
RendererUniformBatch();
cocos2d::GLProgramState* createBlurGLProgramState();
cocos2d::GLProgramState* createSepiaGLProgramState();
};
class RendererUniformBatch2 : public MultiSceneTest
{
public:
CREATE_FUNC(RendererUniformBatch2);
virtual std::string title() const override;
virtual std::string subtitle() const override;
protected:
RendererUniformBatch2();
cocos2d::GLProgramState* createBlurGLProgramState();
cocos2d::GLProgramState* createSepiaGLProgramState();
};
#endif //__NewRendererTest_H_