mgsx-dev / gdx-gltf

GLTF 2.0 3D format support and PBR shader implementation for LibGDX
Apache License 2.0
214 stars 50 forks source link

GL memory leak in IBLComposer: radiance fbo and default BRDF texture are never released #111

Closed dar-dev closed 1 year ago

dar-dev commented 1 year ago

The radiance fbo and default BRDF texture are never released when calling IBLComposer.dispose(). Here's the code to replicate:

for (;;)
{
    try
    {
        IBLComposer c = new IBLComposer();
        c.loadHDR(new FileHandle(filename));

        c.getEnvMap(1024, 1f);
        c.getRadianceMap(1024);
        c.getIrradianceMap(1024);
        c.getDefaultBRDFMap();

        c.dispose();

        Thread.sleep(200);
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
}

In addition, this PR fixes a possible NPE when disposing EnvironmentBaker class.

--