2010-09-07 07:25:40 +02:00
|
|
|
// ==============================================================
|
|
|
|
// This file is part of Glest Shared Library (www.glest.org)
|
|
|
|
//
|
2011-12-14 08:40:48 +01:00
|
|
|
// Copyright (C) 2001-2008 Martiño Figueroa
|
2010-09-07 07:25:40 +02:00
|
|
|
//
|
|
|
|
// You can redistribute this code and/or modify it under
|
|
|
|
// the terms of the GNU General Public License as published
|
|
|
|
// by the Free Software Foundation; either version 2 of the
|
|
|
|
// License, or (at your option) any later version
|
|
|
|
// ==============================================================
|
|
|
|
|
|
|
|
#ifndef _SHARED_GRAPHICS_GL_GRAPHICSFACTORYGL_H_
|
|
|
|
#define _SHARED_GRAPHICS_GL_GRAPHICSFACTORYGL_H_
|
|
|
|
|
|
|
|
#include "texture_manager.h"
|
|
|
|
#include "model_manager.h"
|
|
|
|
#include "particle.h"
|
|
|
|
#include "font_manager.h"
|
|
|
|
#include "graphics_factory.h"
|
|
|
|
#include "text_renderer_gl.h"
|
|
|
|
#include "model_renderer_gl.h"
|
|
|
|
#include "particle_renderer_gl.h"
|
|
|
|
#include "context_gl.h"
|
|
|
|
#include "model_gl.h"
|
|
|
|
#include "texture_gl.h"
|
|
|
|
#include "font_gl.h"
|
|
|
|
#include "leak_dumper.h"
|
|
|
|
|
|
|
|
namespace Shared{ namespace Graphics{ namespace Gl{
|
|
|
|
|
|
|
|
// =====================================================
|
|
|
|
// class GraphicsFactoryGl
|
|
|
|
// =====================================================
|
|
|
|
|
|
|
|
class GraphicsFactoryGl: public GraphicsFactory{
|
|
|
|
public:
|
|
|
|
//context
|
|
|
|
virtual Context *newContext() {return new ContextGl();}
|
|
|
|
|
|
|
|
//textures
|
|
|
|
virtual TextureManager *newTextureManager() {return new TextureManager();}
|
|
|
|
virtual Texture1D *newTexture1D() {return new Texture1DGl();}
|
|
|
|
virtual Texture2D *newTexture2D() {return new Texture2DGl();}
|
|
|
|
virtual Texture3D *newTexture3D() {return new Texture3DGl();}
|
|
|
|
virtual TextureCube *newTextureCube() {return new TextureCubeGl();}
|
|
|
|
|
|
|
|
//models
|
|
|
|
virtual ModelManager *newModelManager() {return new ModelManager();}
|
|
|
|
virtual ModelRenderer *newModelRenderer() {return new ModelRendererGl();}
|
2013-12-05 21:28:20 +01:00
|
|
|
virtual Model *newModel(const string &path,TextureManager* textureManager,bool deletePixMapAfterLoad,std::map<string,vector<pair<string, string> > > *loadedFileList, string *sourceLoader) { return new ModelGl(path,textureManager,deletePixMapAfterLoad,loadedFileList,sourceLoader); }
|
2010-09-07 07:25:40 +02:00
|
|
|
|
|
|
|
//text
|
|
|
|
virtual FontManager *newFontManager() {return new FontManager();}
|
|
|
|
virtual TextRenderer2D *newTextRenderer2D() {return new TextRenderer2DGl();}
|
|
|
|
virtual TextRenderer3D *newTextRenderer3D() {return new TextRenderer3DGl();}
|
|
|
|
virtual Font2D *newFont2D() {return new Font2DGl();}
|
|
|
|
virtual Font3D *newFont3D() {return new Font3DGl();}
|
|
|
|
|
|
|
|
//particles
|
|
|
|
virtual ParticleManager *newParticleManager() {return new ParticleManager();}
|
|
|
|
virtual ParticleRenderer *newParticleRenderer() {return new ParticleRendererGl();}
|
|
|
|
};
|
|
|
|
|
|
|
|
}}}//end namespace
|
|
|
|
|
|
|
|
#endif
|