mirror of
https://github.com/glest/glest-source.git
synced 2025-08-09 09:56:30 +02:00
- added support for showing projectile particles in the g3d viewer
This commit is contained in:
68
source/shared_lib/include/graphics/graphics_interface.h
Normal file
68
source/shared_lib/include/graphics/graphics_interface.h
Normal file
@@ -0,0 +1,68 @@
|
||||
// ==============================================================
|
||||
// This file is part of Glest Shared Library (www.glest.org)
|
||||
//
|
||||
// Copyright (C) 2001-2008 Martio Figueroa
|
||||
//
|
||||
// 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_GRAPHICSINTERFACE_H_
|
||||
#define _SHARED_GRAPHICS_GRAPHICSINTERFACE_H_
|
||||
|
||||
namespace Shared{ namespace Graphics{
|
||||
|
||||
class GraphicsFactory;
|
||||
class Context;
|
||||
class Texture2D;
|
||||
class Model;
|
||||
|
||||
enum ResourceScope{
|
||||
rsGlobal,
|
||||
rsMenu,
|
||||
rsGame,
|
||||
|
||||
rsCount
|
||||
};
|
||||
|
||||
class RendererInterface {
|
||||
public:
|
||||
virtual Texture2D *newTexture2D(ResourceScope rs) = 0;
|
||||
virtual Model *newModel(ResourceScope rs) = 0;
|
||||
};
|
||||
|
||||
// =====================================================
|
||||
// class GraphicsInterface
|
||||
//
|
||||
/// Interface for the graphic engine
|
||||
// =====================================================
|
||||
|
||||
class GraphicsInterface{
|
||||
private:
|
||||
GraphicsFactory *graphicsFactory;
|
||||
Context *currentContext;
|
||||
|
||||
private:
|
||||
friend class TextureManager;
|
||||
friend class FontManager;
|
||||
|
||||
private:
|
||||
GraphicsInterface();
|
||||
GraphicsInterface(GraphicsInterface &);
|
||||
void operator=(GraphicsInterface &);
|
||||
|
||||
public:
|
||||
static GraphicsInterface &getInstance();
|
||||
|
||||
void setFactory(GraphicsFactory *graphicsFactory);
|
||||
void setCurrentContext(Context *context);
|
||||
|
||||
Context *getCurrentContext() const {return currentContext;}
|
||||
GraphicsFactory *getFactory() const {return graphicsFactory;}
|
||||
};
|
||||
|
||||
}}//end namespace
|
||||
|
||||
#endif
|
53
source/shared_lib/include/graphics/model_manager.h
Normal file
53
source/shared_lib/include/graphics/model_manager.h
Normal file
@@ -0,0 +1,53 @@
|
||||
// ==============================================================
|
||||
// This file is part of Glest Shared Library (www.glest.org)
|
||||
//
|
||||
// Copyright (C) 2001-2008 Martio Figueroa
|
||||
//
|
||||
// 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_MODELMANAGER_H_
|
||||
#define _SHARED_GRAPHICS_MODELMANAGER_H_
|
||||
|
||||
#include "model.h"
|
||||
|
||||
#include <vector>
|
||||
|
||||
using namespace std;
|
||||
|
||||
namespace Shared{ namespace Graphics{
|
||||
|
||||
class TextureManager;
|
||||
|
||||
// =====================================================
|
||||
// class ModelManager
|
||||
// =====================================================
|
||||
|
||||
class ModelManager{
|
||||
protected:
|
||||
typedef vector<Model*> ModelContainer;
|
||||
|
||||
protected:
|
||||
ModelContainer models;
|
||||
TextureManager *textureManager;
|
||||
|
||||
public:
|
||||
ModelManager();
|
||||
virtual ~ModelManager();
|
||||
|
||||
Model *newModel();
|
||||
|
||||
void init();
|
||||
void end();
|
||||
void endModel(Model *model,bool mustExistInList=false);
|
||||
void endLastModel(bool mustExistInList=false);
|
||||
|
||||
void setTextureManager(TextureManager *textureManager) {this->textureManager= textureManager;}
|
||||
};
|
||||
|
||||
}}//end namespace
|
||||
|
||||
#endif
|
@@ -44,7 +44,8 @@ public:
|
||||
void setFilter(Texture::Filter textureFilter);
|
||||
void setMaxAnisotropy(int maxAnisotropy);
|
||||
void initTexture(Texture *texture);
|
||||
void endTexture(Texture **texture);
|
||||
void endTexture(Texture *texture,bool mustExistInList=false);
|
||||
void endLastTexture(bool mustExistInList=false);
|
||||
void reinitTextures();
|
||||
|
||||
Texture *getTexture(const string &path);
|
||||
|
Reference in New Issue
Block a user