diff options
Diffstat (limited to 'TextureLoader/src/TextureUtilities.cpp')
| -rw-r--r-- | TextureLoader/src/TextureUtilities.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/TextureLoader/src/TextureUtilities.cpp b/TextureLoader/src/TextureUtilities.cpp index a25754e..90c5064 100644 --- a/TextureLoader/src/TextureUtilities.cpp +++ b/TextureLoader/src/TextureUtilities.cpp @@ -36,7 +36,7 @@ using namespace Diligent; namespace Diligent { -void CreateImageFromFile( const Diligent::Char *FilePath, +void CreateImageFromFile( const Char *FilePath, Image **ppImage, IDataBlob **ppDDSData) { @@ -74,8 +74,10 @@ void CreateImageFromFile( const Diligent::Char *FilePath, else LOG_ERROR_AND_THROW("Unsupported file format ", Extension); - *ppImage = MakeNewRCObj<Image>()(pFileStream, ImgLoadInfo); - (*ppImage)->AddRef(); + RefCntAutoPtr<IDataBlob> pFileData(MakeNewRCObj<DataBlobImpl>()(0)); + pFileStream->Read(pFileData); + + Image::CreateFromDataBlob(pFileData, ImgLoadInfo, ppImage); } } catch (std::runtime_error &err) @@ -84,7 +86,7 @@ void CreateImageFromFile( const Diligent::Char *FilePath, } } -void CreateTextureFromFile( const Diligent::Char *FilePath, +void CreateTextureFromFile( const Char *FilePath, const TextureLoadInfo& TexLoadInfo, IRenderDevice *pDevice, ITexture **ppTexture ) |
