Fission FSN
Loading...
Searching...
No Matches
fsCNative3dSceneRenderData.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsCNative3dSceneRenderData.h
4*
5* Purpose: cocos2d-x implementation of sprite render data.
6*
7*********************************************************************/
8
9#ifndef fsCNativeS3dSceneRenderDatahdr
10#define fsCNativeS3dSceneRenderDatahdr
11
12#include <fsCore/fsBaseTypes.h>
13
14#if defined fs3d
15
18
19#include <fs3d/fsI3dScene.h>
20
21#if defined fsFRAMEWORK_CX
23#elif defined fsFRAMEWORK_AX
25#elif defined fsFRAMEWORK_MG
27#elif defined fsFRAMEWORK_RL
29#elif defined fsFRAMEWORK_BF
31#else
32 #error Unhandled platform.
33#endif
34
35class fsC3dSprite;
36struct fsPoint;
37
38
40{
43 friend class fsC3dScene;
44
45public:
46
47 void pick(const fsPoint& pScreenPos, fsI3dScene::fsTPickCallback pPickCallback);
48 void spriteRemove(fsC3dSprite* const);
49 void spriteAdd(fsC3dSprite* const p3dSprite);
50 void lightAdd(fsI3dLight* const pLight);
51 void lightRemove(fsI3dLight* const pLight);
52 void cameraSet(fsC3dCamera* const pCamera);
53
54 virtual ~fsCNative3dSceneRenderData() = default;
55
56protected:
57
58 static fsIRenderData* create();
60
61 void passToEngineRendererDo(fsIRenderer* const pRenderer, fsS32 pFirstMaterialIndex, fsS32 pLastMaterialInJob) override;
62 void renderDo() override;
63
64 void matrixApplyDo(const fsAffineMtx2d& pRenderMatrix) override;
65
66 fsCNative3dScene* nativeImplGet() const override;
67
68private:
69
70};
71
72#endif
73
74#endif
Definition fsAffineMtx2d.h:27
Definition fsC3dCamera.h:18
Definition fsC3dSprite.h:29
Definition fsCNative3dScene.h:46
void lightAdd(fsI3dLight *const pLight)
Definition fsCNative3dSceneRenderData.cpp:41
void cameraSet(fsC3dCamera *const pCamera)
Definition fsCNative3dSceneRenderData.cpp:51
void spriteRemove(fsC3dSprite *const)
Definition fsCNative3dSceneRenderData.cpp:31
friend class fsC3dScene
Definition fsCNative3dSceneRenderData.h:43
void lightRemove(fsI3dLight *const pLight)
Definition fsCNative3dSceneRenderData.cpp:46
void pick(const fsPoint &pScreenPos, fsI3dScene::fsTPickCallback pPickCallback)
Definition fsCNative3dSceneRenderData.cpp:21
static fsIRenderData * create()
Definition fsCNative3dSceneRenderData.cpp:71
void matrixApplyDo(const fsAffineMtx2d &pRenderMatrix) override
Definition fsCNative3dSceneRenderData.cpp:66
friend class fsCRenderDataFactoryVertexStream
Definition fsCNative3dSceneRenderData.h:42
friend class fsCRenderDataFactoryNative
Definition fsCNative3dSceneRenderData.h:41
fsCNative3dScene * nativeImplGet() const override
Definition fsCNative3dSceneRenderData.cpp:26
void spriteAdd(fsC3dSprite *const p3dSprite)
Definition fsCNative3dSceneRenderData.cpp:36
void renderDo() override
Definition fsCNative3dSceneRenderData.cpp:61
virtual ~fsCNative3dSceneRenderData()=default
fsCNative3dSceneRenderData()
Definition fsCNative3dSceneRenderData.cpp:76
void passToEngineRendererDo(fsIRenderer *const pRenderer, fsS32 pFirstMaterialIndex, fsS32 pLastMaterialInJob) override
Definition fsCNative3dSceneRenderData.cpp:56
Definition fsI3dLight.h:23
std::function< void(fsC3dSprite *sprt3d)> fsTPickCallback
Definition fsI3dScene.h:26
fsINativeRenderData()
Definition fsINativeRenderData.cpp:30
fsIRenderData()=default
Definition fsIRenderer.h:73
int fsS32
Definition fsBaseTypes.h:20
Definition fsPoint.h:17