Huge optimizations of glTF animations, pool of scenes for FPS game, limited PBR specular-glossiness support

Posted on

  1. With the help from Valgrind, I made a few significant optimizations to the engine animations, in particular affecting the skinned animation of glTF:

    • We update VBOs during animations much faster (we upload it more directly when possible, without recalculating some useless structures along the way).

    • Some primitives are kept in GPU much better (previously we wasted GPU space sometimes, needlessly duplicating some data instead of uploading it to GPU without transformation).

    • OptimizeExtensiveTransformations and InternalFastTransformUpdate make sense, and are enabled for fps_game, I’ll work on making them “just done by default” ASAP.

  2. I have introduced a pool of items for fps_game — more functional and more optimal solution to manage creature instances. The example knight creature in fps_game already uses it.

  3. I added a limited support for PBR specular-glossiness parameters. It’s converted to PBR metallic-roughness parameters at import (this means it is limited, e.g. we cannot handle specularGlossinessTexture). It’s far from perfect, but at least the result looks sensible for models that contain only pbrSpecularGlossiness specification, and no pbrMetallicRoughness parameters.

Notable Replies

  1. Hi,

    Thanks for update, there is any more info about Pool system?

  2. Understood now :grinning:
    Thank you

Continue the discussion at Castle Game Engine Forum