Wraith  0.1.5
Basic 3D game engine in C++
Resources

Loading external resources into the game. Uses various resource managers: ModelManager, ShaderManager, TextureManager, ImageManager, and SpriteFontManager. More...

Collaboration diagram for Resources:

Modules

 Model Resources
 Loading external model resources into the game. As well as accessing them.
 
 Shader Resources
 Loading external shader resources into the game. As well as accessing them.
 
 Texture Resources
 Loading external texture resources into the game. As well as accessing them.
 
 Image Resources
 Loading external image resources into the game. As well as accessing them.
 
 Sprite Resources
 Loading external sprite font resources into the game. As well as accessing them.
 
 Terrain Resources
 Loading external height maps (as .tga files) to create Terrain Objects. As well as accessing them.
 

Functions

void Wraith::loadResources ()
 User defined area where the user loads resources. More...
 

Detailed Description

Loading external resources into the game. Uses various resource managers: ModelManager, ShaderManager, TextureManager, ImageManager, and SpriteFontManager.

Resources are loaded by the users in the LoadResource.cpp file. Here is an example of how resources are to be load NOTE: Must include header files for all asset managers.

#include "Wraith.h"
#include "ModelManager.h"
#include "ShaderManager.h"
#include "TextureManager.h"
#include "SceneManager.h"
#include "ImageManager.h"
#include "SpriteFontManager.h"
#include "TerrainObjectManager.h
void Wraith::loadResources()
{
//---------------------------------------------------------------------------------------------------------
// Load Models
//---------------------------------------------------------------------------------------------------------
ModelManager::LoadModelAndAssignKey(Model::PreMadeModels::UnitSphere, "UnitSphere");
ModelManager::LoadModelAndAssignKey(Model::PreMadeModels::UnitBox_WF, "UnitCube");
ModelManager::LoadModelAndAssignKey("tank.azul", "Tank");
ModelManager::LoadModelAndAssignKey("Plane.azul", "Plane");
ModelManager::LoadModelAndAssignKey("Axis.azul", "Axis");
//---------------------------------------------------------------------------------------------------------
// Load Shaders
//---------------------------------------------------------------------------------------------------------
ShaderManager::LoadShaderAndAssignKey("colorNoTextureRender", "colorNoTexture");
//---------------------------------------------------------------------------------------------------------
// Load Textures
//---------------------------------------------------------------------------------------------------------
// load tga files
TextureManager::LoadTextureAndAssignKey("tank.tga", "TankTexture");
TextureManager::LoadTextureAndAssignKey("grid.tga", "GridTexture");
TextureManager::LoadTextureAndAssignKey("mountain.tga", "MountainTexture");
TextureManager::LoadTextureAndAssignKey("grass.tga", "GrassTexture");
// load color textures from color values
TextureManager::LoadTextureAndAssignKey(128, 128, 128, "Grey");
TextureManager::LoadTextureAndAssignKey(254, 0, 0, "Red");
TextureManager::LoadTextureAndAssignKey(0, 254, 0, "Green");
TextureManager::LoadTextureAndAssignKey(0, 0, 254, "Blue");
//---------------------------------------------------------------------------------------------------------
// Load Images
//---------------------------------------------------------------------------------------------------------
ImageManager::LoadImageAndAssignKey("RedBar.tga", "RedBarImage");
ImageManager::LoadImageAndAssignKey("EnemySpriteSheet.tga", new Rect(0.0f, 0.0, 19.4f, 20.05f), "Enemy1");
ImageManager::LoadImageAndAssignKey(254, 0, 0, "RedImage");
//---------------------------------------------------------------------------------------------------------
// Load Images
//---------------------------------------------------------------------------------------------------------
SpriteFontManager::LoadSpriteFontAndAssignKey("TimesNewRoman, "HUDFont");
//---------------------------------------------------------------------------------------------------------
// Load Terrain
//---------------------------------------------------------------------------------------------------------
TerrainObjectManager::LoadAndAssignKey("HMtest1.tga", 500.0f, 30.0f, -10.0f, "GridTexture", 1, 1, "TestTerrain");
TerrainObjectManager::LoadAndAssignKey("FlatHeightMap.tga", 500.0f, 30.0f, -10.0f, "GrassTexture", 1, 1, "GrassTerrain");
TerrainObjectManager::LoadAndAssignKey("MountainHeightMap.tga", 500.0f, 30.0f, -10.0f, "MountainTexture", 1, 1, "MountainTerrain");
//---------------------------------------------------------------------------------------------------------
// Set Starting Scene
//---------------------------------------------------------------------------------------------------------
SceneManager::SetStartScene(new LevelOneScene());
}
static void LoadSpriteFontAndAssignKey(const std::string &fileName, const MapKey &key)
Loads a sprite font and assigns it to a user defined key.
Definition: SpriteFontManager.h:78

And are retrived within an GameObject entitiy like a tank like this NOTE: You must include ModelManager.h, ShaderManager.h, and TextureManager.h header files to access resources.

#include "ModelManager.h"
#include "ShaderManager.h"
#include "TextureManager.h"
// -----------------------------------------------------------------------------------
// Tank Game Object Set Up
// -----------------------------------------------------------------------------------
void Tank::Tank()
{
// Retrivieing resources
Model* pTankModel = ModelManager::GetModel("Tank");
ShaderObject* pTankShader = ShaderManager::GetDefaultShader(ShaderManager::DefaultShader::LIGHTED_TEXTURE);
Texture* pTankTexture = TextureManager::GetTexture("TankTexture");
_pTankGraphicsObject = new GraphicsObject_FlatTexture(pTankModel, pTankShader, pTankTexture);
Sprite _healthBar = new Sprite("RedBarImage");
}
A sprite used to display 2D images.
Definition: Sprite.h:18
static Model * GetModel(const MapKey &key)
Gets a model with user defined key.
Definition: ModelManager.h:144
static ShaderObject * GetDefaultShader(const DefaultShader defaultShader)
Gets default preloaded shader.
Definition: ShaderManager.h:118
static Texture * GetTexture(const MapKey &key)
Gets a texture with a user defined key.
Definition: TextureManager.h:124

Function Documentation

◆ loadResources()

void Wraith::loadResources ( )
private

User defined area where the user loads resources.

This is where the user calls on various asset managers to load in various assets into the game before running.