Ejemplo n.º 1
0
 void SimpleCreator( ResourceManager& res,Task* t)
 {
 	Primitive* prim=(Primitive*)GetResource(t,"primitive","Simple",res,Resource::PRIMITIVE);
 	Material* m=(Material*)GetResource(t,"material","Simple",res,Resource::MATERIAL);
 	
 	res.Add(t->name,new Simple(prim,m));
 }
Ejemplo n.º 2
0
 /*void OrthoCamCreator( ResourceManager& res,Task* t)
 {
 	int width=(int)ToFloat(GetElement(t,"width","OrthoCam",res,false,""));
 	int height=(int)ToFloat(GetElement(t,"height","OrthoCam",res,false,""));
 	
 	res.Add(t->name,new OrthographicCam(width,height));
 }*/
 void ConicCamCreator( ResourceManager& res,Task* t)
 {
 	int width=(int)ToFloat(GetElement(t,"width","ConicCam",res,false,""));
 	int height=(int)ToFloat(GetElement(t,"height","ConicCam",res,false,""));
 	
 	res.Add(t->name,new ConicCam(width,height));
 }
Ejemplo n.º 3
0
 void PlaneCreator( ResourceManager& res,Task* t)
 {
 	Vector3 n=ToVector3(GetElement(t,"normal","Plane",res,false,""));
 	float d=ToFloat(GetElement(t,"distance","Plane",res,false,""));
 	
 	res.Add(t->name,new Plane(n,d));
 }
Ejemplo n.º 4
0
 void DepthAntialiasing( ResourceManager& res,Task* t)
 {
 	PixelBuff* one=(PixelBuff*)GetResource(t,"buffer","DepthAntialiasing",res,Resource::BUFFER);
 	float treshold=ToFloat(GetElement(t,"treshold","DepthAntialiasing",res,true,"1.2"));
 	
 	res.Add(t->name,PostProcess::DepthAntialiasing(one,one,treshold));
 }
Ejemplo n.º 5
0
 void SphereCreator( ResourceManager& res,Task* t)
 {
 	Vector3 pos=ToVector3(GetElement(t,"origin","Sphere",res,false,""));
 	float r=ToFloat(GetElement(t,"radius","Sphere",res,false,""));
 	
 	res.Add(t->name,new Sphere(pos,r));
 }
Ejemplo n.º 6
0
 void SimpleToneMap( ResourceManager& res,Task* t)
 {
 	PixelBuff* one=(PixelBuff*)GetResource(t,"buffer","SimpleToneMap",res,Resource::BUFFER);
 	float exposure=ToFloat(GetElement(t,"exposure","SimpleToneMap",res,true,"1"));
 	
 	res.Add(t->name,PostProcess::SimpleToneMapping(one,exposure));
 }
Ejemplo n.º 7
0
 void AreaLightCreator( ResourceManager& res,Task* t)
 {
 	Vector3 color=ToVector3(GetElement(t,"color","AreaLight",res,false,""));
 	Primitive* prim=(Primitive*)GetResource(t,"primitive","AreaLight",res,Resource::PRIMITIVE);
 	float p=ToFloat(GetElement(t,"points","AreaLight",res,false,""));
 	
 	res.Add(t->name,new AreaLight(Color(color),prim,(int)p));
 }	
Ejemplo n.º 8
0
 void GaussianBlur( ResourceManager& res,Task* t)
 {
 	PixelBuff* one=(PixelBuff*)GetResource(t,"buffer","GaussianBlur",res,Resource::BUFFER);
 	
 	float value=ToFloat(GetElement(t,"sigma","GaussianBlur",res,false,"0"));;
 	
 	res.Add(t->name,PostProcess::GaussianBlur(one,value));
 }
Ejemplo n.º 9
0
 void AdvToneMap( ResourceManager& res,Task* t)
 {
 	PixelBuff* one=(PixelBuff*)GetResource(t,"buffer","AdvToneMap",res,Resource::BUFFER);
 	
 	float grey=ToFloat(GetElement(t,"middleGrey","AdvToneMap",res,true,"0.6"));
 	float white=ToFloat(GetElement(t,"whitePoint","AdvToneMap",res,true,"16"));
 	
 	res.Add(t->name,PostProcess::AdvToneMapping(one,grey,white));
 }
Ejemplo n.º 10
0
 void Lerp( ResourceManager& res,Task* t)
 {
 	PixelBuff* one=(PixelBuff*)GetResource(t,"buffer1","Lerp",res,Resource::BUFFER);
 	PixelBuff* two=(PixelBuff*)GetResource(t,"buffer2","Lerp",res,Resource::BUFFER);
 		
 	float value=ToFloat(GetElement(t,"value","Lerp",res,false,"0"));
 	
 	res.Add(t->name,PostProcess::Lerp(one,two,value));	
 }
Ejemplo n.º 11
0
 void PhongCreator( ResourceManager& res,Task* t)
 {
 	Vector3 color=ToVector3(GetElement(t,"color","Phong",res,false,""));
 	Vector3 spec=ToVector3(GetElement(t,"specColor","Phong",res,true,"1,1,1"));
 	float diff=ToFloat(GetElement(t,"diffuse","Phong",res,false,""));
 	float ref=ToFloat(GetElement(t,"reflectance","Phong",res,false,""));
 	float specPower=ToFloat(GetElement(t,"specPower","Phong",res,true,"100"));
 	
 	res.Add(t->name,new Phong(Color(color),Color(spec),diff,ref,(int)specPower));
 }
Ejemplo n.º 12
0
 void BrightPass( ResourceManager& res,Task* t)
 {
 	PixelBuff* one=(PixelBuff*)GetResource(t,"buffer","BrightPass",res,Resource::BUFFER);
 	
 	float treshold=ToFloat(GetElement(t,"treshold","BrightPass",res,true,"0.5"));
 	float offset=ToFloat(GetElement(t,"offset","BrightPass",res,true,"1"));
 	float grey=ToFloat(GetElement(t,"middleGrey","BrightPass",res,true,"0.6"));
 	float white=ToFloat(GetElement(t,"whitePoint","BrightPass",res,true,"16"));
 	
 	res.Add(t->name,PostProcess::BrightPass(one,grey,white,treshold,offset));
 }
Ejemplo n.º 13
0
 void ImageCreator( ResourceManager& res,Task* t)
 {
 	int width,height;
 	width=(int)ToFloat(GetValue(t,"width"));
 	height=(int)ToFloat(GetValue(t,"height"));
 	
 	if(width<=0||height<=0)
 		Log::AddMessage("ImageCreator: Wrong width or size attribute",Log::ERR);
 	
 	res.Add(t->name,new PixelBuff(width,height));
 }	
Ejemplo n.º 14
0
 void RayTracing( ResourceManager& res,Task* t)
 {
 	Camera* cam=(Camera*)GetResource(t,"camera","RayTracing",res,Resource::CAMERA);
 	Scene* scene=(Scene*)GetResource(t,"scene","RayTracing",res,Resource::SCENE);
 	int trDpt=(int)ToFloat(GetElement(t,"tracingDepth","RayTracing",res,true,"5"));
 	int width=(int)ToFloat(GetElement(t,"width","RayTracing",res,false,""));
 	int height=(int)ToFloat(GetElement(t,"height","RayTracing",res,false,""));
 	
 	Engine engine(scene);
 	res.Add(t->name,engine.Render(cam,width,height,trDpt));
 }
Ejemplo n.º 15
0
void gameLoop()
{
	sprite_Handles.push_back(SpriteManager.Add("ground.png"));
	sprite_Handles.push_back(SpriteManager.Add("player.png"));

	GraphicsManager.DrawSprite("ground.png",0,0,0, SpriteManager);

	al_flip_display();
	al_rest(2.0);
	cleanUp();
}
Ejemplo n.º 16
0
 void SceneCreator( ResourceManager& res,Task* t)
 {
 	Vector3 size=ToVector3(GetElement(t,"size","Scene",res,false,""));
 	
 	Scene* scene=new Scene(size);
 	std::string v;
 	int i=1;
 	while((v=GetValue(t,"object"+ToString(i++)))!="")
 		scene->AddObject((Object*)GetResource(t,"object"+ToString(i-1),"Scene",res,Resource::OBJECT));
 	res.Add(t->name,scene);
 }
Ejemplo n.º 17
0
  void ImageLoader(ResourceManager& res,Task* t)
  {    
  	//load input file name
	std::string fileName=GetElement(t,"filename","ImageLoader",res,false,"");
	//load input file format
	std::string format=GetElement(t,"format","ImageLoader",res,true,"hlt");
	
	//load file to the buffer
	if(format=="hlt")
		res.Add(t->name,FromHLT(fileName));
	if(format=="bmp")
		res.Add(t->name,FromBMP(fileName));
	if(format=="raw")
	{
		int width=(int)ToFloat(GetElement(t,"width","ImageLoader",res,false,""));
  		int height=(int)ToFloat(GetElement(t,"height","ImageLoader",res,false,""));
  		res.Add(t->name,FromRAW(fileName,width,height));
	}
	if(format!="hlt"&&format!="raw"&&format!="bmp")
		Log::AddMessage("ImageLoader: Unsupported format "+format,Log::ERR);
  }
Ejemplo n.º 18
0
  void PointLightCreator( ResourceManager& res,Task* t)
  {
  	Primitive* prim=NULL;
  	Vector3 color=ToVector3(GetElement(t,"color","PointLight",res,false,""));
  	Vector3 pos=ToVector3(GetElement(t,"position","PointLight",res,false,""));
  	
  	std::string v=GetValue(t,"primitive");
  	if(v=="")
  		Log::AddMessage("PointLight: No primitve specified for point light",Log::NORMAL);
  	else
  	{
  		Resource* resource=res.Get(v);
  		prim=dynamic_cast<Primitive*>(resource);
  		if(prim==NULL)
  			Log::AddMessage("PointLight: Object "+v+" cannot be found. Skipping...",Log::HIGH);
  	}
  	
 	res.Add(t->name,new PointLight(Color(color),pos,prim));
  }