Fission FSN
Loading...
Searching...
No Matches
fsI3dSpriteRenderData.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsI3dSpriteRenderData.h
4*
5* Purpose: Interface for retained render data - scene processing
6*
7*********************************************************************/
8
9#ifndef fsI3dSpriteRenderDatahdr
10#define fsI3dSpriteRenderDatahdr
11
12#include <memory>
13
14#include <fsCore/fsBaseTypes.h>
15
17
18class fsIScene;
19class fsCSprite;
20class fsSColour;
21class fsVec3d;
22class fsI3dAnimation;
23class fsC3dCamera;
24class fsC3dSprite;
25class fsC3dLight;
26
27
29{
30public:
31
32 void update(fsS32 pDeltaMs);
33
34 void animationSet(fsI3dAnimation* pAnim);
35 void pathAnimationSet(fsI3dAnimation* pAnimation);
36 void trackSet(fsC3dSprite* pTrackAnimation);
37
38 void modelMatrixSet(const fsVec3d& pPos, const fsVec3d& pAngle, fsF32 pScale);
39 void render();
40
42 virtual ~fsI3dSpriteRenderData();
43
44protected:
45
46 virtual void trackSetDo()
47 {
48 }
49
50 virtual void pathSetDo()
51 {
52 }
53
54 virtual void animationSetDo()
55 {
56 }
57
58 virtual void modelMatrixSetDo(const fsVec3d& pPos, const fsVec3d& pAngle, fsF32 pScale)
59 {
60 }
61
62 void renderDo() override
63 {
64 }
65
66 virtual void colourSetDo(const fsSColour& pColour)
67 {
68 }
69
72 fsC3dSprite* trackGet() const;
73
74private:
75
76 fsI3dAnimation* mAnimation;
77 fsI3dAnimation* mPathAnimation;
78 fsC3dSprite* mTrack;
79};
80
82
83#if defined fsFRAMEWORK_CX
85#elif defined fsFRAMEWORK_AX
87#elif defined fsFRAMEWORK_RL
89#elif defined fsFRAMEWORK_BF
90 #include "impl/bgfx/fsC3dSpriteRenderData.h"
91#else
92 #error Unhandled platform.
93#endif
94
95
96#endif
Definition fsC3dCamera.h:18
Definition fsC3dLight.h:25
Definition fsC3dSprite.h:29
Definition fsCSprite.h:24
Definition fsI3dAnimation.h:22
fsI3dAnimation * pathAnimationGet() const
Definition fsI3dSpriteRenderData.cpp:23
virtual ~fsI3dSpriteRenderData()
Definition fsI3dSpriteRenderData.cpp:68
void trackSet(fsC3dSprite *pTrackAnimation)
Definition fsI3dSpriteRenderData.cpp:43
virtual void pathSetDo()
Definition fsI3dSpriteRenderData.h:50
virtual void colourSetDo(const fsSColour &pColour)
Definition fsI3dSpriteRenderData.h:66
fsC3dSprite * trackGet() const
Definition fsI3dSpriteRenderData.cpp:28
void animationSet(fsI3dAnimation *pAnim)
Definition fsI3dSpriteRenderData.cpp:55
void render()
Definition fsI3dSpriteRenderData.cpp:38
void update(fsS32 pDeltaMs)
Definition fsI3dSpriteRenderData.cpp:5
void renderDo() override
Definition fsI3dSpriteRenderData.h:62
fsI3dAnimation * animationGet() const
Definition fsI3dSpriteRenderData.cpp:18
virtual void trackSetDo()
Definition fsI3dSpriteRenderData.h:46
virtual void animationSetDo()
Definition fsI3dSpriteRenderData.h:54
void pathAnimationSet(fsI3dAnimation *pAnimation)
Definition fsI3dSpriteRenderData.cpp:49
void modelMatrixSet(const fsVec3d &pPos, const fsVec3d &pAngle, fsF32 pScale)
Definition fsI3dSpriteRenderData.cpp:33
fsI3dSpriteRenderData()
Definition fsI3dSpriteRenderData.cpp:61
virtual void modelMatrixSetDo(const fsVec3d &pPos, const fsVec3d &pAngle, fsF32 pScale)
Definition fsI3dSpriteRenderData.h:58
fsIRenderData()=default
Definition fsIScene.h:18
Definition fsSColour.h:20
int fsS32
Definition fsBaseTypes.h:20
float fsF32
Definition fsBaseTypes.h:28
Definition fsVec3d.h:16