Commit Graph

9996 Commits

Author SHA1 Message Date
rdb 8b3ad7348e cocoa: fix broken mouse events in fullscreen on macOS (LP 1500026) 2017-07-10 19:53:53 +02:00
rdb 925ce854d0 general: make DO_MEMORY_USAGE setting not change ABI compatibility 2017-07-10 19:50:09 +02:00
rdb 5fffbbce47 express: error if Windows-style path is used (LP 1429241) 2017-07-10 14:25:41 +02:00
rdb 2e5051ac04 bullet: fix crash when adding non-indexed GeomTriangles to trimesh 2017-07-10 01:54:37 +02:00
rdb 9a40febdb9 shadows: fix light buffer not being destructed after light removal
Fixes LP 1672089
2017-07-09 20:36:13 +02:00
rdb 1fd8af5acd express: add C++11 methods to ordered_vector 2017-07-09 19:56:56 +02:00
rdb 84520ce21c display: prefer 24-bit depth buffer on Intel over 16-bit 2017-07-09 19:53:23 +02:00
rdb a866f9fbcb audio: fix case of get_speaker_setup/set_speaker_setup methods 2017-07-09 15:47:09 +02:00
rdb e45af355cc glgsg: fix multisample FBO regression (on Intel Windows driver) 2017-07-09 15:32:13 +02:00
Younguk Kim e07e5d0203 Fix assert macros that cause a crash in non-debug 2017-07-05 19:49:46 +09:00
The Cheaterman 86cbdddd76 Fix float precision issues in bulletHeightfieldShape
Closes: #152
2017-07-03 22:36:22 +02:00
rdb fa1c480508 general: clean up use of override keyword 2017-07-03 12:56:23 +02:00
rdb 48c811e112 cull: remove GeomMunger stored on CullableObject 2017-07-03 11:47:59 +02:00
rdb f57a3f9cde Hack to remove build warning on MSVC 2010
Fixes LP #1700329
2017-07-03 11:13:02 +02:00
rdb 9c4151cb0f ShaderGenerator: fix TextureAttrib assertion
This was caused by af57c829d2 and was triggered by a change in TextureStage sort.
2017-06-22 13:36:47 +02:00
rdb 511b0c10e5 ShaderGenerator: don't generate a shader per Material 2017-06-22 13:35:46 +02:00
rdb c6dda2a44a vfs: Show IOError instead of AssertionError if read_file fails
The methods are marked non-BLOCKING since the GIL needs to be held while throwing exceptions.  We handle the GIL in the extension functions instead.
2017-06-20 21:52:22 +02:00
rdb b41496b17a Fix texpad/texpix inputs not updating (fixes CommonFilters resize issue) 2017-06-20 19:15:12 +02:00
rdb af57c829d2 ShaderGenerator: reduce combinatoric explosion of shaders
This is done by:
* Not considering the texture pointer when looking up a generated shader, only type
* Not requiring different shaders based on RescaleNormalAttrib
* Not looking at AlphaTestAttrib unless it is going to be relevant

This should dramatically reduce the number of shaders that are being generated for many scenes, especially since the only thing that differs from object to object is often just the texture.

These changes are also necessary to make b781995ef1 more usable, since prepare_scene may see a slightly different state than is encountered at render time due to code in CullResult adding in an AlphaTestAttrib or RescaleNormalAttrib.
2017-06-20 18:45:49 +02:00
rdb b781995ef1 ShaderGenerator: prepare_scene now invokes shader generator.
This also necessarily removes ShaderGenerator's dependency on a host window.
2017-06-20 16:16:30 +02:00
rdb 90f96fc1a9 Change SimpleHashMap implementation to improve performance of GC.
The new implementation stores elements contiguously and keeps a separate sparse array of indices, similar to the new PyPy and CPython implementations.  This vastly improves performance when iterating over the individual elements, such as when garbage collecting states, and decreases memory usage.
2017-06-12 19:58:02 +02:00
rdb ca2e96d296 Fix for certain libjpeg versions that override INLINE macro 2017-06-12 19:46:59 +02:00
rdb 6b882ac767 Fix slow garbage collect after using a lot of states 2017-06-09 20:12:49 +02:00
rdb 2e8d09a99c Workaround for compiler bug when producing debug build
(with thanks to consultit)
2017-06-09 19:48:44 +02:00
rdb 828f1c10ca Support loading Opus audio files via libopusfile. 2017-05-24 22:21:54 +02:00
rdb 257311cc0c physics: fix crash in edge case when PhysicalNode dies before Physical
Also add more assertion checks
2017-05-24 20:21:48 +02:00
rdb 904209b277 Split out interrogate jobs for dtool directories from express 2017-05-24 13:44:52 +02:00
rdb 53794e8e36 Get rid of unnecessary DisplayRegionBase class 2017-05-24 13:42:01 +02:00
rdb d576c6b638 Improvements to generated API docs, especially in direct tree.
Also add an entry point for pfreeze.
2017-05-24 13:30:21 +02:00
rdb c52bab1805 stb_image: update to v2.15, support 16-bit PNGs
Also removes SSE2 runtime detection, which was causing compilation issues on Fedora
Also now supports HDR images with #?RGBE header
2017-05-24 13:19:18 +02:00
rdb 68be3c6dfe More efficient light handling; sort lights by highest priority first 2017-05-15 16:59:44 +02:00
rdb a71a89acc2 putil: make UpdateSeq a literal type 2017-05-15 16:34:13 +02:00
rdb 7755a2e1c7 shadows: provide dummy shadow maps for nonexistent/noncasting lights 2017-05-15 14:50:50 +02:00
rdb 652f2d7f21 bullet: improve performance of adding geometry to BulletTriangleMesh 2017-05-14 22:17:41 +02:00
deflected 560fd4eb3d panda: Get rid of few warnings
- Correct missing override
        - Correct deprecated XKeycodeToKeysym
        - Correct deprecated @exec for FreeBSD pkg plist

Signed-off-by: deflected <deflected@users.noreply.github.com>
Closes #144
2017-05-14 00:02:33 +02:00
rdb 81e414030e Fix RenderState cache leak - gc did not work properly
(Thanks to deflected for helping to track this down)
2017-05-13 23:30:09 +02:00
rdb e15cfd74e8 Prevent assertion when calculating bounds for geom without vertices 2017-05-13 21:40:59 +02:00
wolfgangp a1a99c49c0 Buffer protocol support for (Const)PointerToArray of vectors and matr… (#148) 2017-05-06 02:16:07 +02:00
rdb 160f652d58 text: use HarfBuzz for text shaping; support right-to-left text 2017-04-25 12:25:31 +02:00
rdb e67ebd80cd glgsg: deal with false negatives with feature checks on Intel 2017-04-14 19:40:02 +02:00
rdb fa1b656961 glgsg: fix get_host() of GL FBO. Fixes LP 1672560 shadow bug 2017-04-09 22:14:20 +02:00
rdb f7af155e93 Compile with VS 2015 Express, build assimp on Windows 2017-04-03 13:57:40 +02:00
sean5470 97cd007af3 bam2egg: retain model nodes
added code to retain model nodes that are not DCS nodes.
2017-04-03 02:28:37 +02:00
rdb 2980bbc955 android: fix error when uploading BGRA image 2017-04-03 01:41:28 +02:00
rdb 6f8b379bda Big patch full of performance improvements
This particularly benefits applications with a lot of nodes.
2017-04-03 01:41:23 +02:00
rdb 163c923c82 Backport various fixes for 1.9.4 2017-03-31 18:08:49 +02:00
wolfgangp f773bf6328 Add properties to Bullet classes (#140) 2017-03-29 11:38:39 +02:00
rdb 605ac1189f text: kerning should respect text scale 2017-03-28 21:13:03 +02:00
rdb e1c0e7d1d4 text: add experimental kerning support, enabled by 'text-kerning' 2017-03-27 19:15:09 +02:00
rdb 9d05044a9f shadows: force interocular distance to 0 for shadow cameras 2017-03-23 12:22:34 +01:00
rdb d8066e19b1 Fix assertion when using Texture.load_sub_image to load entire image 2017-03-22 22:42:21 +01:00
rdb 64a7fbab87 glgsg: fix assertion encountered when trying to use pointer textures
Fixes LP 990089
2017-03-10 23:01:11 +01:00
Younguk Kim 0406a49edc Fix include guard typo. 2017-03-10 15:51:11 +01:00
rdb 63be56cd0e Backport part of b21e8fdf32 that fixes an issue with geometry generation when multithreaded pipeline is enabled
Fixes bullet soft body issue as well as LP 1671639
2017-03-10 15:46:44 +01:00
rdb 20085d182a Backport 4a8819b0bd (MeshDrawer fixes and improvements)
* Fix random number generator on Windows (LP 1663895)
* Assert instead of crash when passing in non-Camera to begin() (LP 1663900)
* Prevent repeated calls to generator()/set_budget() from leaking GeomNodes (LP 1663903)
* Make the generator more efficient
2017-03-10 15:44:47 +01:00
rdb ce736ad093 glsl: fix issue with vertex colors not showing up 2017-03-10 12:25:21 +01:00
rdb 4f299fa71f Fix compilation when building without threads enabled 2017-03-09 14:31:07 +01:00
rdb 3db8ce2562 Fixes for ARM build 2017-03-08 12:28:06 +01:00
rdb 72262ea15a Fix compiler issues on Windows 2017-02-21 21:38:46 +01:00
rdb 8ec4da2824 Compile fixes for compilers that don't support all C++11 features 2017-02-21 02:45:30 +01:00
rdb 1eaa1bcf70 Fix error when not compiling with clang 2017-02-21 02:27:28 +01:00
deflected 351627a0e3 glgsg: fix false positive for buffer texture detection on OpenGL 3.0 2017-02-21 02:21:50 +01:00
rdb edb83fe89a Various optimizations to reduce performance overhead of rendering 2017-02-21 02:20:06 +01:00
rdb 6104e75eb0 bam2egg: generate a sphere from polygon with four vertices instead of two 2017-02-20 15:09:11 +01:00
rdb b113d9db55 Fix incorrect type hierarchy of HermiteCurve, PandaNode, ShaderGenerator 2017-02-20 00:32:05 +01:00
rdb 53258af876 display: reduce GraphicsEngine traversal overhead a bit 2017-02-20 00:23:21 +01:00
rdb 4a8819b0bd MeshDrawer fixes and improvements:
* Fix random number generator on Windows (LP 1663895)
* Assert instead of crash when passing in non-Camera to begin() (LP 1663900)
* Prevent repeated calls to generator()/set_budget() from leaking GeomNodes (LP 1663903)
* Make the generator more efficient
2017-02-19 22:16:49 +01:00
Jose Luis Cercos Pita aa00138b34 Support core-only OpenGL contexts in the default build.
This is a squashed commit of the following, as well as my own (rdb's) revisions:

commit 80662759a18607743316f75ee6aa4a63c3f8d8e6
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 15:07:29 2016 +0100

    Removed some useless fixed pipeline checks

commit 563b5dbe93b451006ddbf3797aabdda7482ef3de
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 14:19:21 2016 +0100

    Improved the LUMINANCE check system

commit 596036a8bb59d627f703bccfdc399dc31e1723a9
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 13:30:45 2016 +0100

    Removed some useless fixed pipeline checks

commit 0f7fa7cd33860c3cde1b4594731271170301b42d
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 13:26:07 2016 +0100

    Don't try to check if fixed pipeline is available before the context has been generated

commit 56ed18e29dcb0a7cb0feccd0d50038416637427f
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Thu Dec 1 13:14:49 2016 +0100

    Assuming the fixed pipeline is available in GL 3.1 contexts

commit 73075ead73be21c8ce9a468ed92eb2c8c7d548c4
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Fri Nov 4 12:59:45 2016 +0100

    Fixed errors while quering for GL_TEXTURE_LUMINANCE_SIZE and GL_TEXTURE_INTENSITY_SIZE in GL >= 4.0 core profile contexts

commit 3f799ed20be22f6f82de13445c5f9515a424ef9f
Author: Jose Luis Cercos Pita <jlcercos@gmail.com>
Date:   Fri Dec 16 10:01:03 2016 +0100

    Added fixed functions pipeline support check at runtime

Closes: 128
2017-02-19 20:15:54 +01:00
rdb f5f51c5d5b Remove OpenSSL includes from headers, so C++ users don't need to have OpenSSL 2017-02-17 16:15:04 +01:00
rdb 21a42f62df Fix FreeBSD compile error 2017-02-17 13:02:01 +01:00
rdb 78e4c71202 Fix issue with taking screenshots from an FBO 2017-02-17 13:02:01 +01:00
rdb 8c914a2855 Work towards ABI stability wrt allocation. Let MemoryHook take advantage of dlmalloc's internal bookkeeping. 2017-02-17 13:02:01 +01:00
rdb 2acde88695 New alignment code to hopefully fix the alignment issues 2017-02-10 03:01:32 +01:00
rdb fdffcc280b Fix compile error for ancient clangs 2017-02-10 00:38:18 +01:00
rdb dcb793aed4 Clean up cpuid code, make selection of cpu/mem info available on Linux, macOS and FreeBSD 2017-02-09 22:56:37 +01:00
rdb cfe810ace7 Add set_shader_inputs for efficiently setting multiple shader inputs 2017-02-06 13:16:27 +01:00
rdb c3a196860a downloader: support TLS SNI when negotiating with SSL server 2017-01-28 17:41:09 +01:00
Younguk Kim ad34bc3eb8 Fix include guard typo. 2017-01-26 00:16:26 +09:00
rdb a15d84dbeb Fix compile errors and warnings in MSVC 2010 / GCC 4.6 2017-01-12 15:18:48 +01:00
rdb e60d1e292e Make better use of C++ rules for implicit generation; allow PointerTo and some mutex impls to be static initialised 2017-01-12 12:34:15 +01:00
rdb 2de6c85fc9 glsl: fix shadowMatrix for point lights 2017-01-10 19:36:03 +01:00
rdb 749e09d49e ffmpeg: don't hide last frame of video
This is not quite a complete fix, since the last frame of the video won't be shown long enough for it to matter when looping the video.  A more complete fix may be needed later.
2017-01-09 23:10:51 +01:00
rdb 4ed199cece Fix various compile warnings and a few code consistency issues 2017-01-09 20:36:53 +01:00
rdb 72a1a9820b Fix issues in ancient ffmpeg versions (Eg. Ubuntu Precise) 2017-01-08 17:50:48 -05:00
rdb 41d26284d7 Fix various compilation issues on Mac.
Work around bugs in Apple Clang that ships with XCode 4 with C++11 by disabling constexpr
Use move() instead of std::move()
It also looks like we'll have to continue using pystub for tools that use libp3interrogatedb for now.
2017-01-08 17:17:56 -05:00
David Rose c4d232b0be publish PfmVizzer destructor to fix leak 2017-01-04 16:56:09 -08:00
David Rose 63eb1636a9 Merge branch 'master' of https://github.com/panda3d/panda3d 2017-01-04 16:28:42 -08:00
David Rose 603f0eb3b1 fix occasional crash in PNMImage::quick_filter_from() 2017-01-04 16:28:38 -08:00
rdb 9facf874ab Let compiler synthesize QuadDef move assignment operator
This hopefully fixes a compile issue with older clang versions.
2017-01-04 23:53:55 +01:00
rdb cf105f276c More alignment fixes for 32-byte AVX 2016-12-28 20:23:27 +01:00
rdb 94641c83a0 linmath: use correct 32-byte alignment when compiling Eigen with AVX 2016-12-28 19:18:21 +01:00
Sam Edwards ea2305de70 general: Fix missing includes. 2016-12-26 18:11:03 -07:00
rdb ab5b5e7e74 Merge branch 'release/1.9.x' 2016-12-25 22:47:22 +01:00
rdb 4393455eba Fix get_keyboard_map on Czech (and other) layouts
Now reports proper Unicode name, and doesn't omit keys that don't have a recognised mapping by Panda
https://bugs.launchpad.net/panda3d/+bug/1652145
2016-12-25 16:12:54 +01:00
rdb 59c3aa3ef6 cocoa: don't crash if display server doesn't give us display modes 2016-12-25 09:59:29 -05:00
rdb 45356e85e1 Backward compat with older OpenSSL versions 2016-12-25 11:48:38 +01:00
rdb 28bb737597 Load X11 extensions dynamically; don't expect them to be there at compile time
Add x-cursor-size variable for overriding XCursor size.
2016-12-24 22:21:53 +01:00
rdb 122d9dd3ff Support building with OpenSSL 1.1.0 2016-12-24 22:19:51 +01:00
rdb 2ac1734566 Fix crash when trying to write 16-bit TIFF file (LP bug 1222922)
Note: does not actually add support for writing 16-bit tifs; Panda just doesn't crash but automatically downsamples to 8-bit.
2016-12-23 00:36:59 +01:00
rdb 056ea94765 Fix PythonThread crash (LP bug 1245818) 2016-12-22 21:28:19 +01:00
rdb 7d414500c6 Various compile fixes 2016-12-22 11:34:47 +01:00
rdb e8fbd2f9da Fix potential crash in shader preprocess code 2016-12-21 18:14:46 +01:00
rdb 62d0d8292e More texture load/store performance optimisations 2016-12-21 18:04:08 +01:00
rdb 92302942fe Changes to build on ancient Linux distributions (CentOS 5 / manylinux) 2016-12-21 17:40:49 +01:00
rdb a13fb0e8ca Fix compilation issue with older ffmpeg versions 2016-12-21 17:35:45 +01:00
rdb 5aa8618572 Don't error if passing an oversized matrix array to a mat4[1] shader parameter 2016-12-20 23:18:05 +01:00
rdb eab2a1a733 Add CP_area_priority for area lights 2016-12-19 23:39:50 +01:00
rdb da79c28a6c Add RectangleLight class 2016-12-19 23:29:42 +01:00
rdb 4b5c317160 Improve shader caching; cache result of preprocess if cache-generated-shaders is set 2016-12-19 22:26:16 +01:00
rdb 36f2eda9ec Fix name of "Buffer switch" pcollector in pStatProperties.cxx 2016-12-18 00:12:26 +01:00
rdb da0d7752c1 Register .webm extension for videos 2016-12-18 00:08:59 +01:00
rdb b6cb9b0045 ffmpeg: support videos with alpha; add ffmpeg-prefer-libvpx prc var
ffmpeg-prefer-libvpx forces ffmpeg to use the libvpx decoder for VP8/VP9 files, allowing the playback of WebM files with an alpha channel.
2016-12-17 00:17:30 +01:00
rdb 34068dc0c1 Implement support for SSBOs 2016-12-13 21:22:17 +01:00
rdb 23645cc407 Fix DDS load crash with certain formats; support R16, RG16, R32, RG32 2016-12-13 21:00:11 +01:00
rdb b21e8fdf32 COW performance tweaks; also somehow fixes Bullet soft body issue 2016-12-11 15:30:03 +01:00
rdb 9eb04a533d More texture load/store performance optimisations 2016-12-09 01:41:32 +01:00
rdb b217752e16 Merge remote-tracking branch 'origin/release/1.9.x' 2016-12-07 23:03:16 +01:00
rdb a1338b9ac6 Backport to 1.9: fix for distance sorting with gl-coordinate-system changed 2016-12-07 23:00:06 +01:00
rdb 83d54bcdaf Try to preserve refresh rate when switching display mode on Windows 2016-12-07 22:57:53 +01:00
rdb b1d61b7b10 Fix back-to-front sorting with gl-coordinate-system set to a custom value 2016-12-07 19:36:31 +01:00
rdb ceee5e9df9 Show texture names in glBindTexture() calls in spam output 2016-12-07 19:32:01 +01:00
rdb e778c529b2 Implement Python 3.6 fspath protocol; allow passing a pathlib.Path wherever Filename is expected
The Python 3.6 fspath protocol allows passing Filename objects into any Python standard library calls that take a path.
2016-12-07 00:42:44 +01:00
tobspr 3fa5b6b4ee Add prc variable to force image bindings as writeonly (#131) 2016-12-06 18:42:08 +01:00
rdb 6344c05b18 Clean up dynamic loading of Win32 funcs, remove makepanda touchinput setting, remove checks for pre-WinXP 2016-12-05 17:21:09 -05:00
rdb c410d812ff Remove some settings from dtool_config.h to prevent rebuilds:
- HAVE_OPENCV
 - OPENCV_VER_23
 - HAVE_FFMPEG
 - HAVE_SWSCALE
 - HAVE_SWRESAMPLE
2016-12-05 16:32:13 -05:00
rdb 6dc6b05409 Merge remote-tracking branch 'origin/release/1.9.x' 2016-12-05 02:01:44 +01:00
rdb 84789ecdd1 Fix GL compile error on Mac OS X 2016-12-04 21:28:52 +01:00
rdb 2b6e192e5a Protect against overallocation when reading corrupt texture from bam 2016-12-03 01:04:35 +01:00
Sam Edwards 573dad8dde general: Fix missing includes. 2016-11-30 19:21:34 -08:00
rdb 1c957b26b4 Fix for getting R8 and R8G8 formats via FrameBufferProperties 2016-11-29 23:07:37 +01:00
rdb 441b791e57 Fix extract_texture_data for buffer textures 2016-11-29 23:05:01 +01:00
rdb 5ad900a413 Bullet fixes: copying compound shapes, compile warnings, motion state alignment 2016-11-29 22:43:28 +01:00
rdb 7db45cb647 Make fetching of p3d_LightSource[n] input clearly defined for non-existent lights
Refer to OpenGL 2.1 spec page 61

Closes: #129
2016-11-27 14:25:58 +01:00
rdb 78bf339c41 Fix material shader inputs not being updated properly 2016-11-27 14:24:37 +01:00
rdb cf389276da Backport b02e352 to 1.9:
rdb: Fix wrong GL texture being bound to image slot after being recreated
2016-11-27 13:04:54 +01:00
rdb b02e3521bc Fix wrong GL texture being bound to image slot after being recreated 2016-11-27 12:30:37 +01:00
rdb 8c1f64e086 Fix for 1.9: fix errors when Cg-style matrix inputs are mat3 2016-11-14 19:41:54 +01:00
rdb 7259425b7c Let's do away with Geom-wide usage hints, it's not very useful 2016-11-03 11:34:10 +01:00
rdb 7bef96e71d Don't give misleading error when image shader input is missing 2016-11-03 11:11:02 +01:00
rdb 29411f5e14 Merge remote-tracking branch 'origin/release/1.9.x' 2016-10-31 22:32:39 +01:00
rdb 4526de8f7a Fix exception when trying to pickle NodePathCollection objects 2016-10-31 22:07:01 +01:00
rdb ed761f2997 Fix build without Python 2016-10-31 20:14:48 +01:00
Mitchell Stokes 59b0913b0b Cleanup .gitignore files
Remove all .gitignore files in subdirectories and add a few new ignores
to the top-level directory .gitignore file.
2016-10-30 20:06:12 -07:00
Mitchell Stokes 81dd4d97ad Implement make_copy() for BulletRigidBodyNode
This appears to be the last piece needed to load BulletRigidBodyNodes from BAM files.
2016-10-27 13:56:02 +02:00
rdb 1049088f11 Clean up some of the dtool_config.h variables 2016-10-24 22:10:46 +02:00
rdb ef986ccfc0 Texture.set_ram_image(_as) now directly accepts buffers with right component size 2016-10-24 21:29:43 +02:00
rdb a757cb47e8 Add tube-into-plane and tube-into-sphere tests 2016-10-24 17:34:55 +02:00
rdb df998fb24c bam2egg: support collision masks, UvScrollNode 2016-10-24 17:20:21 +02:00
David Rose 775c69b53d PfmFile::set_point() should allow NaN's 2016-10-23 19:14:39 -07:00
rdb 62c008602e Merge branch 'release/1.9.x' 2016-10-20 11:14:37 +02:00