Commit Graph

1177 Commits

Author SHA1 Message Date
rdb 92e2c24958 Experimental InstancedNode class for hardware instancing 2020-11-22 22:01:13 +01:00
rdb d62146a317 Merge branch 'release/1.10.x' 2020-11-17 23:56:00 +01:00
rdb 3a2048e44a glgsg: Fix skinning shader being unable to render unskinned models
Panda was adding a column with weights (0, 0, 0, 0), but these weights don't add up to 1 so no useful identity matrix can be produced.  Instead it's better to fall back to the OpenGL default, (0, 0, 0, 1).

I'm also defaulting the transform_index values to (0, 1, 2, 3) to support non-indexed skinning (although that's pretty esoteric, given that that only supports 4 transforms...)
2020-11-17 21:01:56 +01:00
Brian Lach 57c9fbd86e glgsg: fix identical states never short-circuiting set_state_and_transform
Closes #1012
2020-11-02 11:02:49 +01:00
rdb e787929c85 Merge branch 'release/1.10.x' 2020-06-29 14:50:59 +02:00
rdb 40962e1eb5 gsg: Don't error for sampler/light type mismatch for non-casting lights
Closes #942
2020-06-29 12:17:36 +02:00
Fireclaw 0f2cf6d14b Add maximized property to WindowProperties, plus implementation (#809)
Closes #809

Co-authored-by: rdb <git@rdb.name>
2020-06-20 23:00:52 +02:00
rdb 6b19be495a display: fix long-standing typo in error message
How was this never caught?!
2020-05-19 20:24:45 +02:00
rdb d799a09002 cleanup: Remove support for EOL versions of Python
Fixes #905
2020-04-26 20:07:56 +02:00
rdb b511eabb0f display: fix fallback of SMO_light_source_i_packed shader input
This is not actually used by anything, but we might as well ensure that it's set to something sensible
2020-04-02 12:41:14 +02:00
rdb 088a1f3774 display: fix crash with oversized p3d_LightSource array
This was a regression in 89f1a0e63c

Closes #897
2020-04-02 12:32:20 +02:00
rdb 30d9f88f8e Merge branch 'release/1.10.x' 2020-04-01 18:53:00 +02:00
rdb c81bfb09b7 shader: default fog exponential density to 0 if fog is disabled 2020-03-30 14:01:50 +02:00
rdb c59b91f503 Merge branch 'release/1.10.x' 2020-02-23 14:53:16 +01:00
kamgha c2866ea4ed Fix includes for Windows on case-sensitive filesystems
Closes #866
2020-02-22 12:55:45 +01:00
Leandro (Cerberus1746) Benedet Garcia 5f7809469c general: removed all WIN32, WIN32_VC and friends 2020-02-05 22:45:03 -07:00
rdb 89f1a0e63c shader: separate shader matrix input cache from ShaderMatSpec
If multiple ShaderMatSpec entries use the same state matrix, this should result in a reduction in the number of times that state matrix is fetched.  This is especially so for arrays, which are now fetched once rather than once for every item.

This is the first step towards trying to solve #846.
2020-01-25 19:26:50 +01:00
rdb b272af8bbf Merge branch 'cmake' 2020-01-22 11:20:51 +01:00
rdb 651cf189fc display: remove CPUID ASM, use __get_cpuid(_max) (on macOS too)
I think this requires at least XCode 5.
2020-01-06 21:08:10 +01:00
rdb 81b33a7afa Merge branch 'release/1.10.x' 2020-01-06 21:06:57 +01:00
rdb bf6dbefdd2 display: fix get_cpuid_max clobbering %rbx (fixes Py 3.8 crash on macOS)
This could cause a crash when constructing a GraphicsPipe() under some conditions (observed in Python 3.8).  Credit goes to @CFSworks for tracking this down.
2020-01-06 18:18:02 +01:00
Sam Edwards cdc16291dd CMake: `SKIP_COMPOSITING` -> `SKIP_UNITY_BUILD_INCLUSION`
The latter is what CMake (3.16+) itself uses; we should start using
CMake's own unity build capabilities if available.
2019-12-24 17:20:43 -07:00
Sam Edwards 12c16eb9ff Merge branch 'master' into cmake 2019-10-15 23:43:25 -06:00
rdb 247f3c415a Merge branch 'release/1.10.x' 2019-10-08 19:50:48 +02:00
rdb 1eeea718c5 display: fix ABI compat with GraphicsStateGuardian flash texture 2019-10-06 11:54:31 +02:00
Sam Edwards 5961cc2ee0 Merge branch 'master' into cmake 2019-10-05 15:00:49 -06:00
rdb 114a7c0995 Merge branch 'release/1.10.x' 2019-10-05 21:13:42 +02:00
rdb 207263c1a8 display: handle resource releases in batches, not individually
This is intended to eventually replace the old interface, since GSGs may be able to do a batch of prepare/release operations more efficiently.
2019-10-05 21:13:32 +02:00
rdb 3a19dfb62e Fix load_dso error message sometimes being suppressed 2019-10-05 20:56:58 +02:00
Mitchell Stokes 660249a5cc Remove p3d/AppRunner/plugin system
Co-authored-by: rdb <git@rdb.name>

Closes #734
2019-09-10 16:49:57 +02:00
rdb 2c42cfcc1a Merge branch 'release/1.10.x' 2019-09-10 16:34:11 +02:00
rdb 05ed918d63 general: mark deprecated methods with the @deprecated tag
This makes them easier to find and, if necessary, automatically generate deprecation warnings for.
2019-09-08 09:50:28 +02:00
Sam Edwards 5fa4af9189 CMake: Rely on GNUInstallDirs to specify install paths
This makes multiarch OSes happy as they can dictate that
64-bit libraries go into 'lib64'
2019-08-31 00:48:42 -06:00
Sam Edwards 1a654cba04 CMake: Record the location that headers are installed
This populates INTERFACE_INCLUDE_DIRECTORIES on the targets
after they're installed.
2019-08-30 22:58:18 -06:00
Sam Edwards 8588ddc3dc CMake: When building on MSVC, add /bigobj to compiler where necessary 2019-08-25 15:54:02 -06:00
Sam Edwards 19ed9f6b47 Merge branch 'master' into cmake 2019-08-24 18:07:12 -06:00
rdb 6d34a4a644 Merge branch 'release/1.10.x' 2019-08-12 21:09:52 +02:00
rdb dc599901bc Work around shutdown hang when compiling with SIMPLE_THREADS=1
This is a workaround for a specific case of #508
2019-08-12 19:37:11 +02:00
rdb 2ef70579c8 display: remove reference to non-existent HardwareChannel class
[skip ci]
2019-07-12 12:59:46 +02:00
Sam Edwards 039f5af34e Merge branch 'master' into cmake 2019-06-03 23:12:23 -06:00
Sam Edwards 865d824313 CMake: Remove some unused #cmakedefine directives 2019-04-15 22:15:27 -06:00
Sam Edwards 6097d34ead CMake: Neatly format everything for readability and consistency 2019-04-14 22:37:18 -06:00
rdb 6df700939a glsl: make ParamVecBase4 and ParamVecBase4i work with ptr inputs 2019-04-14 23:08:02 +02:00
Sam Edwards 671f15e052 Merge branch 'master' into cmake 2019-04-13 17:29:44 -06:00
rdb e98fbc7633 Merge branch 'release/1.10.x' 2019-03-29 13:44:50 +01:00
rdb 63a764a61b display: fix missed cases in 364d5d82fe 2019-03-29 13:28:12 +01:00
rdb 364d5d82fe display: don't apply color-scale-via-lighting to shader inputs
This isn't working properly at the moment, since the state gets set for the *next* object, causing significant artifacts.  I wasn't entirely sure whether to restore the "proper" behavior or not, since applications may be relying on one or the other behavior, but enabling this feature for shaders is a minefield and it's a lot better to just tell people to use p3d_ColorScale instead.
2019-03-26 23:12:41 +01:00
Sam Edwards f8161cc529 Merge branch 'master' into cmake 2019-03-12 02:03:16 -06:00
rdb d11d4e0d85 display: don't render shadow cameras whose frusta are out of view
This is done by collecting bounding volumes for each camera in a scene, and then only rendering a shadow camera if at least one of those bounding volumes overlaps with the shadow camera bounding volume.

Closes #560
2019-02-19 21:59:04 +01:00
rdb 80bb5c09fe Merge branch 'release/1.10.x' 2019-02-12 01:13:56 +01:00