22031 Commits

Author SHA1 Message Date
David Carlsson
c18abad8c3 bullet: Interpolate BulletVehicle-wheel transform before syncing it to panda
Bullet automatically interpolate most bodies for us (for example the "chassis"
of a BulletVehicle), but BulletVehicle-wheels must be manually interpolated by
calling 'updateWheelTransform()'. Otherwise they will slowly rubber-band
between their intended position and a position one frame ahead in time.

For more information see issue #250.
2018-06-23 00:01:41 +02:00
rdb
29a08932ea display: improve mouselook smoothness significantly, esp if low FPS
This problem occurs when movePointer is used to reset the mouse back to the center every frame, a very common way to implement mouselook on Windows (which has no relative mouse mode).  Any movement between the last event loop run and the call to movePointer is destroyed, resulting in quite choppy mouselook in most implementations.

The solution is for getPointer to always return the latest mouse cursor position.  This goes a long way but is not 100% perfect; see the discussion in #359 for other solutions.

Fixes #359
2018-06-22 23:58:56 +02:00
rdb
927fcda817 shader: fix shader newline error with Intel drivers
It appears that Intel drivers always need a newline at the end of the file.
2018-06-22 20:53:56 +02:00
rdb
582cc2991e pipeline: add TypeHandle for CycleData if DO_PIPELINING is set
This helps to identify CycleData when tracking memory usage via MemoryUsage.
2018-06-22 20:52:44 +02:00
rdb
0367c73026 py_panda: fix leak of reference counted class with inaccessible dtor
If a class inherits from ReferenceCount, it can be destructed by downcasting to ReferenceCount, so it should not be an obstacle to properly clean it up when such a class is returned from C++.

This issue comes up when a CycleData is returned via MemoryUsagePointers, which is not exposed so is wrapped as NodeReferenceCount instead, which has a protected destructor.
2018-06-22 20:49:19 +02:00
rdb
b0bbc66f06 bullet: document that sweep_test_closest is convex-only in API ref
Closes #356
2018-06-19 00:37:29 +02:00
rdb
886e1c2f16 general: fix many compilation warnings in GCC 8 2018-06-19 00:37:28 +02:00
rdb
d89efcfda2 makepanda: fix recognition of armv7 android systems 2018-06-19 00:37:18 +02:00
rdb
835aab5424 physx: fix compiler errors 2018-06-15 18:05:41 +02:00
rdb
754344906c mayaegg: fix various compiler warnings 2018-06-15 18:04:17 +02:00
Younguk Kim
a6b6f40015 pandatool/maya: Fix compilation error by missing std namespace 2018-06-15 09:22:35 +09:00
rdb
d48695cb2e glgsg: fix occasional WeakPointerTo dereference 2018-06-14 22:51:35 +02:00
rdb
19e1b1d877 pgraph: add version of RenderState::get_attrib(_def) taking a CPT 2018-06-14 22:51:12 +02:00
rdb
f804b10d45 Fix more compiler warnings 2018-06-14 22:49:45 +02:00
rdb
83f637ea9f ffmpeg: fix compilation for older FFMpeg versions 2018-06-14 19:00:13 +02:00
rdb
c1fbeaea51 display: allow full access to all 4 of each aux buffer category
I think there was some confusion about how set_aux_rgba (and friends) worked; it seems the original intent was to toggle each individual buffer whereas it is actually interpreted as a count of how many of these buffers should be enabled.  We should try to clarify the API and/or replace it with something better as soon as possible.
2018-06-14 16:08:33 +02:00
Sam Edwards
b2bfb31114 general: Remove using std::* from headers
Also remove most `using namespace std;` statements. The only one that remains is in py_panda.h.

Closes #350
Closes #335
2018-06-14 16:04:49 +02:00
rdb
d284cedbea movies/ffmpeg: support grayscale and grayscale-alpha videos
Fixes #352
2018-06-14 14:22:56 +02:00
rdb
9231694f8f gobj: fix Python 3 support for GVADHandle::get_(sub)data/set_(sub)data
That said, you should really be using the buffer protocol; you can create a memoryview() directly around the GeomVertexArrayData.
2018-06-14 14:11:34 +02:00
Younguk Kim
d22da73a4c Fix macro redefinition warning 2018-06-14 09:33:19 +09:00
Sam Edwards
69d5fcf3b0 pgraph: Fix use of incomplete GeomNode in PT(GeomNode) 2018-06-12 16:18:15 -06:00
Sam Edwards
a971bc1dfc general: Break apart BUILDING_PANDAGL 2018-06-12 16:15:45 -06:00
Sam Edwards
768f78306a general: Break apart BUILDING_PANDAEGG 2018-06-12 16:15:25 -06:00
Sam Edwards
e73c25d15e general: Break apart BUILDING_PANDAPHYSICS 2018-06-12 16:15:04 -06:00
Sam Edwards
7e61891c09 general: Fix more DLL linkage and EXPCL_PANDA_ macros 2018-06-12 16:14:33 -06:00
rdb
eab8b1c7a3 tform: MouseWatcher sort should uniquify duplicates
Also change the code to use range-for when appropriate, which improves code readability.
2018-06-12 13:44:24 +02:00
rdb
65217a258d tform: allow calling MouseWatcher::add_region with same region twice
Previously, this was an error.  Now, it will simply silently be ignored, making it behave more like a set.
2018-06-12 12:45:48 +02:00
rdb
b88bd99704 Various compiler warning fixes 2018-06-12 12:38:07 +02:00
rdb
fa23c199ec makepanda: fix faulty error when immediately pressing Ctrl+C 2018-06-12 11:08:52 +02:00
rdb
4fe7fe4c88 interrogate: fix int8_t / signed char range checking on Android 2018-06-12 11:08:02 +02:00
rdb
ac4b8d1e1d Fix various compilation warnings 2018-06-11 14:53:25 +02:00
rdb
494ba40c5e Fix compilation error on Android 2018-06-11 14:35:37 +02:00
rdb
1c476203fc interrogate: remove Dtool_AddToDictionary (let me know if anyone uses this)
If any code is relying on this, please let me know and I will add it back.  It appears to be redundant, though, since one can access DtoolClassDict directly.

Symbol kept around temporarily in order to keep ABI compatibility for a short while as people may not update their interrogate and Panda in sync, but it can soon be removed.
2018-06-11 13:43:30 +02:00
rdb
3cc88cd304 interrogate: clean up py_panda.h a bit more
Inching towards reducing code in py_panda and eventually having no Python-specific code in interrogatedb anymore.
2018-06-11 13:39:45 +02:00
Sam Edwards
bc596797a3 general: Resolve some warnings unique to Windows 2018-06-10 02:25:10 -06:00
Sam Edwards
3c6ebb56bd general: pvector<unsigned char> -> vector_uchar 2018-06-10 02:25:10 -06:00
Sam Edwards
f1eb811c0e general: Break apart BUILDING_PANDAEXPRESS 2018-06-10 01:37:31 -06:00
Sam Edwards
b8bc1bb5e9 gobj: Include, don't forward-declare, BamCacheRecord in shader.h
Closes #346
2018-06-10 01:37:13 -06:00
rdb
c1e5a71904 tests: ensure FrameBufferProperties has working copy constructor 2018-06-09 10:38:03 +02:00
rdb
fa6d8b4b39 cppparser: fix class with array member not seen as copy-constructible 2018-06-09 10:29:34 +02:00
rdb
acac93a1d1 parse_file: show various additional type traits 2018-06-09 10:29:19 +02:00
rdb
7086a6a2db parser-inc: add missing ios_base::iostate 2018-06-09 10:21:28 +02:00
rdb
a76747cba5 parser-inc: C++ headers: cassert, cerrno, fstream, new, cstdlib, csetjmp 2018-06-09 10:18:28 +02:00
Sam Edwards
7790f8429d general: Fully qualify header references into the std namespace
Closes #341
2018-06-07 10:35:12 +02:00
Sam Edwards
4754ba524c dtoolbase: Avoid Windows's min/max macros 2018-06-07 10:35:00 +02:00
rdb
b7f8ddfe35 dxgsg9: fix type mismatch in min() call 2018-06-07 10:34:47 +02:00
Sam Edwards
e72fab9520 dtoolutil: Add missing declaration for init_libdtoolutil() 2018-06-07 01:47:38 -06:00
rdb
4e7edf8a53 parser-inc: add missing include to <string> header 2018-06-06 12:22:31 +02:00
rdb
c166daf0f3 interrogate: fix detection of special std types 2018-06-06 12:22:23 +02:00
rdb
3a698e5a81 dtoolutil: use std:: qualification when exposing std types 2018-06-06 11:48:52 +02:00