GraphicsComponent* GraphicsSystem::AddWall( vec2 const& pos, vec2 const& dim ) { GraphicsComponent* comp = new GraphicsComponent; comp->rect = new SDL_Rect; comp->rect->x = (i32)pos.x; comp->rect->y = (i32)pos.y; comp->rect->w = (i32)dim.x; comp->rect->h = (i32)dim.y; comp->rotation = 0.f; if ( dim.x < dim.y ) { if ( !wallVertTextureInit ) { wallVertTexture = CreateTextureFromImage( renderer, "assets/wall-vert.png" ); wallVertTextureInit = true; } comp->texture = wallVertTexture; } else { if ( !wallHoriTextureInit ) { wallHoriTexture = CreateTextureFromImage( renderer, "assets/wall-hori.png" ); wallHoriTextureInit = true; } comp->texture = wallHoriTexture; } components.push_back( comp ); return comp; }
TextureId TextureManager::CreateTextureFromFile(const char * pathToFile, GraphicsCore::TextureFormat format) { Core::Image<unsigned char> img; // todo: remove the if/else and make sure we just use 1 single LoadImageFromFile. if (strcmp(Core::GetFileExtension(pathToFile), "png") == 0) { Core::LoadPNGImageFromFile(img, pathToFile); } else { Core::LoadImageFromFile(img, pathToFile); } return CreateTextureFromImage(img, format); }
void CreateTextureFromFile( const Diligent::Char *FilePath, const TextureLoadInfo& TexLoadInfo, IRenderDevice *pDevice, ITexture **ppTexture ) { RefCntAutoPtr<Image> pImage; RefCntAutoPtr<IDataBlob> pDDSData; CreateImageFromFile( FilePath, &pImage, &pDDSData ); if( pImage ) CreateTextureFromImage( pImage, TexLoadInfo, pDevice, ppTexture ); else if(pDDSData) CreateTextureFromDDS( pDDSData, TexLoadInfo, pDevice, ppTexture ); }
GraphicsComponent* GraphicsSystem::AddSphere( vec2 const& pos, f32 radius ) { GraphicsComponent* comp = new GraphicsComponent; comp->rect = new SDL_Rect; comp->rect->x = (i32)pos.x; comp->rect->y = (i32)pos.y; comp->rect->w = radius * 2.f; comp->rect->h = radius * 2.f; comp->rotation = 0.f; if ( !smileyTextureInit ) { smileyTexture = CreateTextureFromImage( renderer, "assets/doge.png" ); smileyTextureInit = true; } comp->texture = smileyTexture; components.push_back( comp ); return comp; }
GraphicsComponent* GraphicsSystem::AddBox( vec2 const& pos, vec2 const& dim ) { GraphicsComponent* comp = new GraphicsComponent; comp->rect = new SDL_Rect; comp->rect->x = (i32)pos.x; comp->rect->y = (i32)pos.y; comp->rect->w = (i32)dim.x; comp->rect->h = (i32)dim.y; comp->rotation = 0.f; if ( !crateTextureInit ) { crateTexture = CreateTextureFromImage( renderer, "assets/crate.png" ); crateTextureInit = true; } comp->texture = crateTexture; components.push_back( comp ); return comp; }