22558 Commits

Author SHA1 Message Date
rdb
c5dd683366 tests: add unit test for writing to and extracting buffer textures 2018-07-04 20:55:07 +02:00
rdb
00888518fe gobj: add F_r32i and F_r32 to TexturePeeker 2018-07-04 20:31:08 +02:00
rdb
e9e18c2277 dtoolutil: fix PandaSystem TypeHandle static init issue 2018-07-04 20:29:31 +02:00
rdb
66c5d65bf6 maxegg: fix compilation errors with min/max 2018-07-04 19:11:59 +02:00
rdb
f2976b03ec gobj: add alignment support and move semantics to SimpleAllocator 2018-07-02 12:55:18 +02:00
rdb
68e7f681f4 interrogate: support enum class to limited extent in Python 2
Only the basics are supported; the __members__ or iter interface is not supported at this time.

See also #351 for discussion on pulling in enum34 module.
2018-07-02 12:16:35 +02:00
rdb
cce21a5bee Add .pytest_cache/ directory to .gitignore 2018-07-02 11:54:27 +02:00
rdb
f5a78d599d putil: make LinkedListNode moveable 2018-06-30 21:38:45 +02:00
rdb
9441c28f61 interrogate: do not wrap methods with rvalue arguments
This could in theory be supported, but this is not really intuitive from a Python user's point of view.
2018-06-30 21:38:45 +02:00
rdb
e191ee84f4 cppparser: class is not implicitly copyable if it has a move ctor 2018-06-30 21:38:45 +02:00
rdb
b2c04a8c7a interrogate: support scoped enum args and return values 2018-06-30 21:38:40 +02:00
rdb
94cbdc563b general: fix a few more compiler warnings 2018-06-30 17:19:23 +02:00
rdb
c03a75d755 interrogate: use range for in various places for code cleanliness 2018-06-30 17:18:14 +02:00
David Carlsson
371e60c768 bullet: Change the b2p sync-order to allow parenting BulletWheels to a BulletVehicle
Parenting a BulletVehicle's wheels to the chassis-BulletRigidBodyNode now works as expected. Previously doing this would make the wheels appear to be positioned one frame ahead of the chassis, because the wheel's position were synced before the chassis' position.

For more information see issue #250.

Closes #349
2018-06-23 00:02:10 +02:00
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
Sam Edwards
4c8693f019 CMake: Run pytest as part of CTest 2018-06-13 21:07:56 -06:00
Sam Edwards
29bc62bf9b CMake: Alias Interrogate
This allows us to have a different name for Interrogate
on the host vs. Interrogate on the target platform, which
facilitates cross-compiling.
2018-06-13 21:07:56 -06:00
Sam Edwards
21a30a8429 CMake: Make INTERROGATE_PYTHON_INTERFACE option dependent
This also makes it sufficient for turning on Interrogate.
2018-06-13 21:07:56 -06:00
Sam Edwards
d6d6df83ef CMake: Move Python detection to Package.cmake 2018-06-13 21:07:56 -06:00
Sam Edwards
6b660a5c58 CMake: Fix metalib linkage against pandaexpress 2018-06-13 21:07:56 -06:00
Younguk Kim
d22da73a4c Fix macro redefinition warning 2018-06-14 09:33:19 +09:00
Psychotropos
fef2fff1f1 cmake: Actually install the p3direct library during the CMake install process 2018-06-13 02:05:32 -06:00
Sam Edwards
c96a49e897 CMake: Update egg/physics metalibs to add_metalib(... INIT ...) 2018-06-12 16:32:26 -06:00
Sam Edwards
93306c0aa5 CMake: Build pandaexpress metalib 2018-06-12 16:23:32 -06:00
Sam Edwards
600590ed7a CMake: Update BUILDING_ defines for upstream 2018-06-12 16:23:32 -06:00
Sam Edwards
ed2b3017d4 Merge branch 'master' into local/cmake-merge 2018-06-12 16:19:30 -06: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