//Application initialisation void Application::initialise() { createRoot(); defineResources(); setupRenderSystem(); createRenderWindow(); initialiseResourceGroups(); setupScene(); setupInputSystem(); }
MyListener::MyListener(AaSceneManager* mSceneMgr, AaPhysicsManager* mPhysicsMgr) { zp=zm=xp=xm = false; cameraMan = new FreeCamera(mSceneMgr->getCamera()); mSceneMgr->getCamera()->setPosition(XMFLOAT3(-1.8f,10,-6)); this->mPhysicsMgr = mPhysicsMgr; this->mSceneMgr = mSceneMgr; continue_rendering = true; AaRenderSystem* rs=mSceneMgr->getRenderSystem(); voxelScene = new AaVoxelScene(mSceneMgr); voxelScene->initScene(128); mShadowMapping = new AaShadowMapping(mSceneMgr); mSceneMgr->loadMaterialFiles(MATERIAL_DIRECTORY); pp = new AaBloomPostProcess(mSceneMgr); AaMaterial* mat=mSceneMgr->getMaterial("Green"); /*ent= mSceneMgr->createEntity("testEnt",mat); ent->setModel("angel"); ent->setScale(XMFLOAT3(10,10,10)); ent->setPosition(0,-15,30); ent= mSceneMgr->createEntity("testEnt22",mat); ent->setModel("angel"); ent->setScale(XMFLOAT3(10,10,10)); ent->setPosition(-15,-15,30); //ent->yaw(-2.0f); AaSceneNode* node= new AaSceneNode(XMFLOAT3(-15,-15,30)); node->attachEntity(ent); ent= mSceneMgr->createEntity("testEnt33",mat); ent->setModel("angel"); ent->setScale(XMFLOAT3(10,10,10)); ent->setPosition(15,-15,30); //ent->yaw(0.7f); ent->pitch(-1.0f); AaSceneNode* node2 = node->createChild(); node2->setPosition(XMFLOAT3(15,-15,30)); node2->attachEntity(ent); node->move(XMFLOAT3(0,10,0)); node->yawPitchRoll(0.4,0.2,0); node->localPitch(1);*/ /*ent= mSceneMgr->createEntity("testEnt2",mat); ent->setModel("teapot.obj"); ent->yaw(0.7f); ent->pitch(-1.7f); ent->yaw(-2.7f); ent->setPosition(3,-1,10);*/ /*PxMaterial* mMaterial; mMaterial = mPhysicsMgr->getPhysics()->createMaterial(0.7f, 1.7f, 0.2f); //static friction, dynamic friction, restitution PxShape* aSphereShape; AaEntity* ent= mSceneMgr->createEntity("testEnt3",mat); ent->setModel("ball24.mesh"); ent->setPosition(0,20,0); ent->setScale(XMFLOAT3(0.4,1.4,1.4)); mPhysicsMgr->createSphereBodyDynamic(ent,0.4);//->setLinearVelocity(physx::PxVec3(1,15,0)); ent= mSceneMgr->createEntity("testEnt6",mat); ent->setModel("ball24.mesh"); ent->setPosition(0,20,0); mPhysicsMgr->createConvexBodyDynamic(ent);//->setLinearVelocity(physx::PxVec3(1,15,0)); ent= mSceneMgr->createEntity("testEnt63",mat); ent->setModel("ball32.mesh"); ent->setPosition(5,35,20); ent->setScale(XMFLOAT3(4,1,4)); ent->yaw(0.5); ent->roll(0.5); mPhysicsMgr->createTreeBodyStatic(ent); ent= mSceneMgr->createEntity("testEnt61",mat); ent->setModel("ball24.mesh"); ent->setPosition(5,25,20); ent->setScale(XMFLOAT3(2,1,2)); ent->roll(0.5); mPhysicsMgr->createConvexBodyDynamic(ent)->setLinearVelocity(physx::PxVec3(1,15,0)); */ Light* l = new Light(); l->color = XMFLOAT3(1,1,1); l->direction = XMFLOAT3(0.0f,-2,1.6); XMStoreFloat3(&l->direction,XMVector2Normalize(XMLoadFloat3(&l->direction))); mSceneMgr->mShadingMgr->directionalLight = l; mPhysicsMgr->createPlane(0); loadScene("test.scene",mSceneMgr,mPhysicsMgr); mRS=rs; setupInputSystem(); debugWindow = new TestGuiWindow(mSceneMgr->getGuiManager()->getContext(),mSceneMgr); }