From ed075ce357d4702cef937ff42b39809fc9dabccb Mon Sep 17 00:00:00 2001 From: devdad Date: Sun, 10 Dec 2023 10:45:41 +0100 Subject: [PATCH] Unloading PBRMAterial I forgot unloading PBRMaterial --- examples/shaders/basic_pbr.c | 10 ++++++---- examples/shaders/rpbr.h | 8 ++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/examples/shaders/basic_pbr.c b/examples/shaders/basic_pbr.c index 9c6e56c12..9e620018c 100644 --- a/examples/shaders/basic_pbr.c +++ b/examples/shaders/basic_pbr.c @@ -157,10 +157,12 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - UnloadModel(floor.model); - //UnloadModel(model.model); // Unload model - UnloadShader(shader); // Unload Shader - + UnloadModel(floor.model); // Unload model + UnloadModel(model.model); // Unload model + UnloadShader(shader); // Unload Shader + UnloadPBRMaterial(floor_mat); // Unload PBRMaterial + UnloadPBRMaterial(model_mat); // Unload PBRMaterial + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/examples/shaders/rpbr.h b/examples/shaders/rpbr.h index a20d14850..dfa4ac973 100644 --- a/examples/shaders/rpbr.h +++ b/examples/shaders/rpbr.h @@ -174,6 +174,7 @@ void PBRSetAmbient(Shader shader, Color color, float intensity); PBRModel PBRModelLoad(const char *fileName); void PBRLoadTextures(PBRMaterial *pbrMat,PBRTexType pbrTexType,const char *fileName); +void UnloadPBRMaterial(PBRMaterial pbrMat) void PBRSetColor(PBRMaterial *pbrMat,PBRColorType pbrColorType,Color color); void PBRSetVec2(PBRMaterial *pbrMat,PBRVec2Type type,Vector2 value); void PBRSetFloat(PBRMaterial *pbrMat, PBRFloatType pbrParamType, float value); @@ -334,6 +335,13 @@ void PBRLoadTextures(PBRMaterial *pbrMat,PBRTexType pbrTexType,const char *fileN } } +void UnloadPBRMaterial(PBRMaterial pbrMat){ + if(pbrMat.useTexAlbedo == 1) UnloadTexture(pbrMat.texAlbedo); + if(pbrMat.useTexNormal == 1) UnloadTexture(pbrMat.texNormal); + if(pbrMat.useTexMRA == 1) UnloadTexture(pbrMat.texMRA); + if(pbrMat.useTexEmissive == 1) UnloadTexture(pbrMat.texEmissive); +} + void PBRSetColor(PBRMaterial *pbrMat,PBRColorType pbrColorType,Color color){ if(pbrMat == NULL) return; switch(pbrColorType){