Existing "selector" mode (which was unused and has been used to
implement ORM textures has been renamed to metallic-roughness, and new
modes have been added for occlusion and occlusion-metallic-roughness.
New GLSL input names have been added. The .egg format has been
extended. The Assimp loader has been updated. The shader generator now
handles occlusion maps, and a unit test for that is added.
In particular, these optimize the traversal of nodes that are not in view, which are discarded more efficiently.
This change affects both the cull and collision traversers.
See #981. Setting `vertex-colors-prefer-packed` to false will make Panda default to OpenGL-style vertex colors, which is useful if are targeting OpenGL and not DirectX 9, avoiding a potential performance cost.
This lets one use multiple ShaderTerrainMesh tiles effectively, with Panda automatically disabling ones that are certainly not in view. It may be worth an attempt to call `set_bounds_type(BoundingVolume::BT_box)` or set `bounds-type best` in Config.prc to get a tighter volume.
Files excluded from compositing are (from makepanda):
dtool/src/dtoolbase/indent.cxx
panda/src/display/graphicsStateGuardian.cxx
panda/src/dxgsg9/dxGraphicsStateGuardian9.cxx
panda/src/grutil/multitexReducer.cxx
panda/src/pgraph/nodePath.cxx
panda/src/pnmimage/convert_srgb_sse2.cxx (due to being compiled w/ SSE2)
This changes includes so that local includes are consistently
#include "localFile.h"
while system and third-party includes are consistently
#include <systemFile.h>
This commit mostly converts the former to the latter; the two
exceptions are in android_main.cxx and fmodAudioSound.h, where
the reverse was necessary.
This is a method for getting the animated vertex data that will keep working even if GeomVertexData::animate_vertices() gets deprecated due to #421 being fixed.