/********************************************************************
*
* File: fsCNative3dScene.h
*
* Purpose: cocos2d-x implementation of 3d sprite.
*
* left hand rule, thumb up, index right, middle towards
* x - right
* y - up
* z - out
*
*********************************************************************/
#ifndef fsCNative3dScenehdr
#define fsCNative3dScenehdr
#include <fsCore/fsBaseTypes.h>
#if defined fs3d
#include "fsINative.h"
#include <fs3d/fsI3dScene.h>
class fsC3dCamera;
class fsI3dLight;
class fsC3dSprite;
class fsC3dLight;
struct fsPoint;
class fsC3dModelData;
class fsCNative3dScene : public fsINative
{
friend class fsCNative3dSceneRenderData;
public:
void pick(const fsPoint& pScreenPos, fsI3dScene::fsTPickCallback pPickCallback);
void spriteAdd(fsC3dSprite* const);
void spriteRemove(fsC3dSprite* const);
void ligthtAdd(fsI3dLight* const pLight);
void ligthtRemove(fsI3dLight* const pLight);
void cameraSet(fsC3dCamera* const pCamera);
virtual ~fsCNative3dScene();<--- Destructor in derived class
protected:
virtual void renderDo() override;
virtual void matrixApplyDo(const fsAffineMtx2d& pRenderMatrix) override;
fsCNative3dScene();
private:
};
#endif
#endif