21714 Commits

Author SHA1 Message Date
deflected
e4a817b469 Loader: Fixed crash when canceling async loading of model
- Clean up the _loader after we clean up the requests,
        not before that

Signed-off-by: deflected <deflected@users.noreply.github.com>
2017-12-13 13:42:29 +02:00
rdb
9bfc425b75 Fix assertion when rendering bounding volumes (broken since 6f8b379) 2017-12-12 23:27:51 +01:00
rdb
193e4b5f59 interrogate: clean py_panda.h; use macros to access Dtool_PyInstDef 2017-12-12 23:03:38 +01:00
rdb
18678214ae interrogate: pass "args" tuple to function that takes PyObject *args 2017-12-12 16:20:59 +01:00
rdb
3e83f8c65e Fix priority argument ignored in NodePath::set_shader_input 2017-12-12 15:25:21 +01:00
rdb
46189dc1bf Compile fix for macOS build
[skip ci]
2017-12-04 22:52:23 +01:00
deflected
bdd53d60fc ShowBase: Fixed crash when want-render2dp is False
- Fixed crash in ShowBase when want-render2dp setting
        is set to 0(False).

Signed-off-by: deflected <deflected@users.noreply.github.com>
2017-12-04 22:46:30 +01:00
deflected
7a46b2ca60 ShowBase: Minor fixes over aspect ratio and size calculations
- Do not take into accound SBS if it is not enabled
        - Always return value for getSize()
        - Properly handle SBS for window-events
        - Redo positioning of aspect2d(p) markers exactly as
        they are created when adjusting aspect ratio

Signed-off-by: deflected <deflected@users.noreply.github.com>
2017-12-04 22:46:22 +01:00
rdb
2e20a0f16e Implement awaitable thread-safe future for async operations
This introduces AsyncFuture as a new base class of AsyncTask.  It's modelled after asyncio's Future class, except that it is thread-safe and you can use result() to block the current thread waiting for the future to finish (of course this is not necessary for use with coroutines).

AsyncFuture should be used for any operation that finishes in the future, to get the benefit of awaitability within coroutines as well as a standard interface for querying status and results of the operation as well as cancelling it.  As such, it's been implemented in various places, including texture.prepare() and win.trigger_copy().

Note that AsyncFuture is intended to be used *once*; it cannot be used more than once.  As an example of how this works, tex.prepare() will return the same future as long as the prepare isn't complete, but when it is done, subsequent calls to tex.prepare() will return a new future.
2017-12-04 22:25:28 +01:00
rdb
f54b8be676 Separate out Python compat hacks from py_panda.h into py_compat.h 2017-12-03 15:48:02 +01:00
Younguk Kim
3abf3a0c88 Add HAVE_PYTHON macro to build without python 2017-11-28 13:04:57 +09:00
rdb
27f20c80fd Don't include dlmalloc_src.cxx in interrogate
Fixes: #200
2017-11-27 18:49:28 +01:00
rdb
69b3468b2c interrogate: more improvements to seq/map wrappers
Gets rid of properties defined as both MAKE_SEQ_PROPERTY/MAKE_MAP_PROPERTY, which are just a bad idea. Instead, adds a way for map properties to define a separate "keys" interface.

Fixes: #203
2017-11-27 17:29:50 +01:00
rdb
567463eab3 makepanda: look for vorbis library without _static suffix
Fixes: #202
2017-11-26 23:42:46 +01:00
rdb
3be22679a4 display: also avoid getting more than 24 color bits if 0 were requested
See issue #197
2017-11-26 00:06:03 +01:00
rdb
749b23a190 Fix support for pickling NodePaths (broken in 1b1d80c)
Fixes: #199
2017-11-25 23:12:47 +01:00
rdb
46c8852eed text: fix for certain versions of HarfBuzz 2017-11-20 20:40:51 +01:00
rdb
0edac2e94a Work around gamma issue with 64-bit color depths on NVIDIA hardware 2017-11-16 23:52:12 +01:00
Younguk Kim
82d66c1928 makepanda: add support for compiling with VS 2017
This is a squashed merge of PR #153 by bluekyu with fixes by rdb.

Closes: #153
2017-11-16 17:33:46 +01:00
rdb
001804113a ShaderGenerator: make colorscale/texture blending match FFP better
A notable change is that the color scale is now applied *before* texture blending, matching the FFP.  If this breaks anything, we might want to add a configuration option for this.
This also implements the remaining combine modes, CM_dot3_rgb and CM_dot3_rgba, and fixes the broken CM_subtract mode (which currently worked the same way as CM_add).

Fixes: #189
2017-11-16 15:58:13 +01:00
fireclawthefox
936ef1953c Small extensions for the mirror demo
Add extra parameters for buffer size and clear color
Add sample code at the bottom to display usage of mirror demo

Closes: #195
2017-11-12 00:19:50 +01:00
fireclawthefox
feb36d9818 Fixed mirror demo
Set "mirror" camera to always have the same roll as the mirror
-> otherwise the model in the mirror will move unexpectedly
Set y coordinate of the mirror corners to the cameras distance
-> This fixes a crash and keep the mirrored model at correct sizer

Closes: #194
2017-11-12 00:15:58 +01:00
fireclawthefox
649a9abf8d Fix initial usage of letterbox
Set start position of letterbox frames to the hidden position

Closes: #193
2017-11-12 00:06:13 +01:00
rdb
4b4e11c085 egg-palettize: implement mirror and border-color wrap modes
Closes: #192
2017-11-11 23:59:47 +01:00
rdb
404842e70b interrogate: fix warning message caused by erroneously wrapped remap
Fixes: #191
2017-11-11 20:36:58 +01:00
rdb
3621bd64c5 tests: add unit tests for bullet bam serializability 2017-11-08 01:56:31 +01:00
consultit
e13d14fe3d bullet: add bam serializability of remaining shapes
From #123 with significant changes from rdb.

Closes: #123
2017-11-08 01:53:53 +01:00
rdb
b8bf8bd641 interrogate: fix crash when calling functions returning TypedWritable 2017-11-08 00:04:00 +01:00
rdb
1b1d80cd27 More thoroughly fix issues with pickling Panda objects in Python 3
This also adds DatagramBuffer, a class for writing datagrams to memory and reading them from there again.
2017-11-08 00:02:35 +01:00
rdb
08629ef1a0 Fix a few compiler warnings 2017-11-07 15:38:40 +01:00
rdb
483a491ed7 interrogate: simplify coercion code
This remove support for coercing non-ReferenceCounted types that are neither default-constructible nor move-assignable, but it turns out none of the classes we really need it for matches that.
It further cuts down on the amount of code that is being generated to support coercion in cases where it makes absolutely no sense.
2017-11-06 19:53:38 +01:00
rdb
dd2806c8bd Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01:00
rdb
dc1f5dd3b1 tests: fix syntax error on Python 3 2017-11-06 19:42:52 +01:00
rdb
b73c627c61 tests: add interrogate tests for MAKE_PROPERTY et al 2017-11-06 13:02:23 +01:00
rdb
96d237377b interrogate: add various sequence/mapping methods to seq/map property 2017-11-05 18:01:39 +01:00
kamgha
f6c12ced34
Update makepanda.py 2017-11-04 18:28:46 +01:00
rdb
0343dbcbba makepanda: locate setup.cfg using __file__, not working directory.
This fixes the buildbots, which import makewheel from inside the makepanda directory.
2017-11-03 20:15:21 +01:00
rdb
3f0ab1d198 interval: fix ActorInterval endFrame assignment when passing duration
Fixes: #187
2017-11-03 20:07:24 +01:00
rdb
c043755f94 Add --tests argument to makepanda, instructions to README.md 2017-11-03 20:06:49 +01:00
rdb
b865b31390 makepanda: add __version__ attribute to panda3d module 2017-11-03 20:06:07 +01:00
rdb
19fe51eddd makewheel: fix sha256 hashes being surrounded with b'' in Python 3 2017-11-03 20:05:24 +01:00
rdb
e0a3788636 Move metadata to setup.cfg; also use this for pytest configuration
This makes it possible to run pytest in the root directory.  It also lets us store metadata such as the current version number, preventing us from having this in several different places, and allowing us to phase out parsing dtool/PandaVersion.pp.
2017-11-03 20:04:37 +01:00
Mitchell Stokes
40aa65249b tests: Add tests to .travis.yml 2017-11-03 19:26:35 +01:00
Mitchell Stokes
aabf009ff0 tests: Add test_window_basic
This test just makes sure that created windows match the default
WindowProperties (with a few exceptions).

This also adds the following fixtures:

  * graphics_engine - scope='session', GraphicsEngine
  * graphics_pipe - scope='session', default GraphicsPipe
  * window - scope='test', GraphicsWindow with default framebuffer and window properties
2017-11-03 19:25:13 +01:00
Mitchell Stokes
9d7896ccc4 tests: Add simple NodePath tests using PyTest
These tests were converted from the tests branch with some changes:

  * Convert from unittest to PyTest
  * Update code to use new API (LVector3 instead of Vec3, properties, etc.)
2017-11-03 17:58:53 +01:00
Younguk Kim
a26662ce46 Fix compile error by missing header file 2017-11-02 18:04:36 +09:00
rdb
075cb14cbb bullet: implement debug draw via cull callback for efficiency
Now the debug drawing will no longer happen if the debug node is not being visited by the cull pass, ie. in another scene graph.  Furthermore, the generation code has been optimized a bit more.

This change means it no longer inherits from GeomNode.  Future improvements could include better culling (which is currently disabled entirely).

Closes: #130
2017-11-01 21:55:54 +01:00
rdb
490dbe7b2a readme: fix link to issue tracker 2017-11-01 21:32:48 +01:00
rdb
745b51f10f ShaderGenerator: fix M_blend to match fixed-function pipeline
See panda3d/panda3d#178
2017-11-01 20:20:38 +01:00
rdb
73d13a8f5c Merge remote-tracking branch 'origin/release/1.9.x' 2017-10-31 20:20:49 +01:00