MCPcopy Create free account
hub / github.com/Apress/Ray-Tracing-Gems-II / LoadDDSFromFile

Method LoadDDSFromFile

Chapter_27/Core/TextureManager.cpp:266–286  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

264}
265
266const ManagedTexture* TextureManager::LoadDDSFromFile( const std::wstring& fileName, bool sRGB )
267{
268 auto ManagedTex = FindOrLoadTexture(fileName);
269
270 ManagedTexture* ManTex = ManagedTex.first;
271 const bool RequestsLoad = ManagedTex.second;
272
273 if (!RequestsLoad)
274 {
275 ManTex->WaitForLoad();
276 return ManTex;
277 }
278
279 Utility::ByteArray ba = Utility::ReadFileSync( s_RootPath + fileName );
280 if (ba->size() == 0 || !ManTex->CreateDDSFromMemory( ba->data(), ba->size(), sRGB ))
281 ManTex->SetToInvalidTexture();
282 else
283 ManTex->GetResource()->SetName(fileName.c_str());
284
285 return ManTex;
286}
287
288const ManagedTexture* TextureManager::LoadTGAFromFile( const std::wstring& fileName, bool sRGB )
289{

Callers

nothing calls this directly

Calls 8

FindOrLoadTextureFunction · 0.85
WaitForLoadMethod · 0.80
CreateDDSFromMemoryMethod · 0.80
SetToInvalidTextureMethod · 0.80
c_strMethod · 0.80
sizeMethod · 0.45
dataMethod · 0.45
GetResourceMethod · 0.45

Tested by

no test coverage detected