Functions get_point_a() and get_point_b() appear to return the top of the cylinder section of the tube, not the tip of the endcap, making subtracting the radius unnecessary.
Even a brief error message in the assertion is infinitely more useful to a user who is not at home in the source code, especially for assertions that may reasonably be triggered by honest user mistakes.
It's not really reasonable to expect a user to find every occurrence of a cached resource that might be using an open stream and remove it or crash otherwise.
This is fixed by keeping the multifile stream open as long as any substreams are still pointing to it, using a simplified reference counting (care is taken not to fully make StreamWrapper reference-counted, since it's not in express and existing uses should not be broken).
Fixes#449
Also see #428
This is an addendum to cd2ea97b1ffb65512f5ee8ba0665f46345ef7795 (fix for #428) which did
not properly delete the SoundData when uncaching sounds that were loaded as streams.
Having depth test disabled is the default OpenGL state, and callbacks may quite reasonably expect to see the default state. Kivy seems to expect this, for one.
This is necessary for GLSL 1.30 which deprecates gl_FragData but does not yet support layout(location=) specifiers
Also fix some function pointer checks for pre-GL 3.0
Fixes#455
Previously, all draw calls would be grouped under "Primitive Setup", rather than under the appropriate bin collector. This commit fixes that and adds a few other useful collectors as well.
This is an optimization, which will skip begin_frame/end_frame for a buffer that isn't going to have anything rendered to it. Affects the RenderPipeline.
While it becomes possible to do this now, it should not become standard practice, and we should deprecate cases where we already do it by renaming either the static method or the property.
Fixes#444
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 changes the Assimp include path to point to the
directory containing assimp/ instead of inside assimp/
directly. This is for consistency with how the Assimp
project defines their "include path" and keeps the actual
inclusions themselves unambiguous (since Assimp's headers
have fairly generic filenames).