Commit Graph

395 Commits

Author SHA1 Message Date
rdb 03c53bb33b ShaderTerrainMesh: set a bounding volume around the whole terrain
This lets one use multiple ShaderTerrainMesh tiles effectively, with Panda automatically disabling ones that are certainly not in view.  It may be worth an attempt to call `set_bounds_type(BoundingVolume::BT_box)` or set `bounds-type best` in Config.prc to get a tighter volume.
2019-03-17 21:45:27 +01:00
rdb 6559932c7b ShaderTerrainMesh: silently reload texture if it has no RAM image
Fixes #492
2018-12-31 16:28:27 +01:00
rdb d093cbbb90 grutil: apply FPS meter improvements to scene graph analyzer too
This fixes the aspect ratio scaling issue in particular.

Fixes #456
2018-11-22 23:05:59 +01:00
Sam Edwards a9dfd8352e general: Distinguish local/system includes
This changes includes so that local includes are consistently
#include "localFile.h"
while system and third-party includes are consistently
#include <systemFile.h>

This commit mostly converts the former to the latter; the two
exceptions are in android_main.cxx and fmodAudioSound.h, where
the reverse was necessary.
2018-11-10 18:00:10 -07:00
rdb bcc2e3e404 gobj: add Geom::get_animated_vertex_data() short-hand
This is a method for getting the animated vertex data that will keep working even if GeomVertexData::animate_vertices() gets deprecated due to #421 being fixed.
2018-10-15 22:13:21 +02:00
rdb cd033c27e8 grutil: add thread safety to ShaderTerrainMesh 2018-09-25 21:00:08 +02:00
Sam Edwards 4695557a5d general: Don't require BUILDING_* for static builds 2018-08-31 23:54:32 -06:00
rdb c6ed4e1836 general: don't cast to regular pointer when returning a PointerTo
This is inefficient because it induces an unnecessary ref()/unref() pair when we just need to move the pointer out of the function.  Thanks to 23128e4695, we can now move between related pointer types, making the .p() hack unnecessary.
2018-07-08 21:40:58 +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 b88bd99704 Various compiler warning fixes 2018-06-12 12:38:07 +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 e2b4353800 general: Replace NULL (and 0 as pointer) with C++11 nullptr
Exceptions to this replacement are:
- .c files
- Headers included by a .c file
- stb_image.h
- dr_flac.h
- Strings
- Comments
2018-06-03 16:35:13 -06:00
rdb db5dd98d33 general: further warning fixes, use -Wno-unused-variable if NDEBUG
Disabling unused variable checking is needed in NDEBUG builds because of the heavy use of temporary variables in asserts.
2018-05-30 22:51:04 +02:00
rdb 6b726fa697 general: fix various compiler warnings and issues exposed thereby 2018-05-30 11:09:35 +02:00
rdb 3077316782 general: use proper deleted funcs instead of stubs with asserts
This gives better compile-time diagnostics and saves on code, while also better communicating intent.
2018-05-23 23:35:27 +02:00
Sam Edwards 9dd37e9dbc general: Add guards to ensure proper BUILDING_ macros defined
This is designed to sanity-check the buildsystem, ensuring that the
expected BUILDING_ macros are defined at the expected time. It
also helps catch cases where the wrong BUILDING_/EXPCL_ macros
are used.
2018-03-25 13:17:52 -06:00
Sam Edwards 32aceab7b4 grutil: Fix missing EXPCL_PANDA_GRUTIL 2018-03-15 12:48:44 -06:00
deflected 8fd4584bd0 grutil: Add control over heightfield filtering in shaderTerrainMesh
Signed-off-by: deflected <deflected@users.noreply.github.com>
2018-02-23 13:37:07 +02:00
deflected 6c7894f68d terrain: set ShaderTerrainMesh heightfield wrap mode to clamp 2018-02-21 15:27:15 +01:00
rdb dd2806c8bd Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01: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 edb83fe89a Various optimizations to reduce performance overhead of rendering 2017-02-21 02:20:06 +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
David Rose c4d232b0be publish PfmVizzer destructor to fix leak 2017-01-04 16:56:09 -08:00
rdb da0d7752c1 Register .webm extension for videos 2016-12-18 00:08:59 +01:00
rdb 8381118a97 Assorted tweaks and compile warning fixes 2016-07-14 12:54:39 +02:00
rdb 7d6b7f40f5 Merge branch 'release/1.9.x' 2016-06-09 21:52:51 +02:00
rdb a1749b2f07 Don't align transform_blend vertex column to 4 byte boundary
Somewhat improves performance of CPU vertex animation
2016-06-09 21:48:57 +02:00
wolfgangp 821e625c4f Remove obsolete property heightfield_tex 2016-05-03 14:57:25 +02:00
tobspr dac2bfc7b9 Support for setting a heightfield handle directly on the ShaderTerrainMesh 2016-04-30 09:32:09 +02:00
rdb 369df86096 Fix a compile issue or two 2016-04-29 19:17:47 +02:00
rdb a2ae62dbda Introduce ability to write older .bam versions, down to 6.21
See https://www.panda3d.org/manual/index.php/Dev:Bam_Format
2016-04-29 16:30:41 +02:00
David Rose 063f9bbc4d minor compilation issues 2016-04-28 16:14:44 -07:00
wolfgangp 4821b69ec1 Match ShaderTerrainMesh triangulation scheme with Bullet's 2016-04-11 22:01:13 +02:00
tobspr 84f5baaf2c Add ShaderTerrainMesh sample 2016-02-20 14:05:50 +01:00
tobspr da29c7eea4 Add new terrain implementation (ShaderTerrainMesh) 2016-02-18 20:51:14 +01:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb 090e912ce6 Cleanup of comments and whitespace 2016-02-01 22:30:43 +01:00
rdb e4857a58bb Add many more Python properties 2015-12-24 16:17:34 +01:00
rdb 08c29313b2 Reduce redundant state changes, add gl-fixed-vertex-attrib-locations 2015-12-22 20:22:24 +01:00
rdb db3ab953e4 Remove ppremake, genPyCode, and all hacks created to support them 2015-11-09 19:06:49 +01:00
rdb be652bb112 Merge branch 'release/1.9.x', change default value of geomipterrain-incorrect-normals to false 2015-10-23 16:20:17 +02:00
rdb da1d5755f9 Add config var to toggle between incorrect/correct normal generation for GeoMipTerrain 2015-10-23 16:18:59 +02:00
rdb bac400543a Correct scaling of normals during flatten operations 2015-06-14 23:14:56 +02:00
rdb c85a92d378 Add assertion to GeoMipTerrain::get_block_node_path 2015-06-13 13:34:19 +02:00
rdb 11350334d0 Add assertion to prevent invalid use of FrameRateMeter 2015-05-02 22:07:03 +02:00
rdb f8779d7eaf Warn if GeoMipTerrain is passed a height field with sRGB color space 2015-03-31 22:33:11 +02:00
Nikola Milentijevic e687c76db8 Fix MeshDrawer::stream
Direction vector is computed as stop - start, but the position
in the loop is computed from stop as base, instead of from start;
this is changed to start as the base (and then offset must be added).
Multiplication of non-normalized direction vector with its length
yields square of the expected current step inside the loop;
this is changed to use the normalized direction vector.
2015-03-17 19:40:09 +01:00
rdb 22120524a2 PNMImage sRGB support, use floats instead of doubles 2015-03-15 17:22:28 +01:00