14#ifndef fsCNative3dScenehdr
15#define fsCNative3dScenehdr
25#include <2d/CCCamera.h>
28namespace cocos2d {
class Scene; }
29namespace cocos2d {
class Sprite3D; }
63 enum class eSCENE_FLAG
66 WORLD_MODELS =
static_cast<fsS32>(cocos2d::CameraFlag::USER1),
67 DYNAMIC_MODELS = WORLD_MODELS << 1,
69 ALL_MODELS = WORLD_MODELS | DYNAMIC_MODELS,
72 void nodeProcess(cocos2d::Node*
const pNode);
73 void nodeProcessRecursive(cocos2d::Node*
const pNode);
75 void calculateRayByLocationInView(cocos2d::Ray* ray,
const cocos2d::Vec2& location);
76 void unproject(
const cocos2d::Mat4& viewProjection,
const cocos2d::Size* viewport, cocos2d::Vec3* src, cocos2d::Vec3* dst);
78 fsBool worldModelGet(cocos2d::Sprite3D* pModel)
const;
79 fsBool worldModelGet(cocos2d::Node* pNode)
const;
83 virtual cocos2d::Node* implGet()
const override;
86 cocos2d::Mat4 mDisplayMatrix;
87 cocos2d::Scene* mScene;
88 cocos2d::Camera* mWorldCamera;
89 cocos2d::Node* mSceneDisplayRoot;
90 cocos2d::Node* mSceneRoot;
93 std::vector<std::shared_ptr<fsI3dLight>> mLights;
95 std::vector<fsC3dSprite*> mDynamicModels;
Definition fsAffineMtx2d.h:27
Definition fsC3dCamera.h:18
Definition fsC3dLight.h:25
Definition fsC3dModelData.h:27
Definition fsC3dSprite.h:29
Definition fsCNative3dScene.h:46
void ligthtAdd(fsI3dLight *const pLight)
friend class fsCNative3dSceneRenderData
Definition fsCNative3dScene.h:47
void ligthtRemove(fsI3dLight *const pLight)
virtual void matrixApplyDo(const fsAffineMtx2d &pRenderMatrix) override
void spriteRemove(fsC3dSprite *const)
void cameraSet(fsC3dCamera *const pCamera)
virtual ~fsCNative3dScene()
void pick(const fsPoint &pScreenPos, fsI3dScene::fsTPickCallback pPickCallback)
void spriteAdd(fsC3dSprite *const)
virtual void renderDo() override
Definition fsI3dLight.h:23
std::function< void(fsC3dSprite *sprt3d)> fsTPickCallback
Definition fsI3dScene.h:26
Definition fsINative.h:31
fsF32 mRenderMatrix[16]
Definition fsINative.h:68
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
float fsF32
Definition fsBaseTypes.h:28
Definition fsC3dLight.h:19