Пример #1
0
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 );
}
Пример #4
0
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;
}
Пример #5
0
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;
}