//Application initialisation
void Application::initialise()
{
	createRoot();
	defineResources();
	setupRenderSystem();
	createRenderWindow();
	initialiseResourceGroups();
	setupScene();
	setupInputSystem();
}
Beispiel #2
0
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);
 
	
}