Commit Graph

71 Commits

Author SHA1 Message Date
rdb a0be50c769 general: Fix assorted compiler warnings 2022-03-01 16:09:07 +01:00
rdb a05405c475 pgraph: API reference improvements for NodePath 2021-02-21 10:15:33 +01:00
rdb ca9ad5f174 pgraph: fix ignored fixed_depth parameter 2018-12-07 00:57:21 +01:00
rdb 89236ac136 pgraph: fixed-depth billboards, bam additions (6.43)
This makes it possible to use BillboardEffect to specify a fixed distance to the camera, in order to keep them at a fixed apparent size.

This also enables serialization to .bam of the reference NodePaths of BillboardEffect and CompassEffect.
2018-12-06 23:52:58 +01: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 298147bb39 Give several additional classes constexpr constructors
This is useful because these types are created at static init time, and giving them a constexpr constructor and trivial destructor lets them be created during constant initialization, which helps to prevent static init ordering issues.
2018-06-03 10:45:58 -04:00
rdb 9fad3dba60 general: remove macros for compatibility with non-C++11 compilers
Now that we require MSVC 2015, we no longer need all this nonsense, so we can write cleaner code.
2018-05-23 23:33:05 +02: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 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 34068dc0c1 Implement support for SSBOs 2016-12-13 21:22:17 +01:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb 75019784f4 Changes to inlining so we can use FORCE_INLINING in gcc as well 2015-07-27 15:39:46 +02:00
rdb b2f73d0877 Merge branch 'master' into interrogate-overhaul 2015-02-08 12:11:19 +01:00
rdb 028c09add5 Implicit cast string to InternalName in c++, also optimize for string literals 2015-02-07 16:43:25 +01:00
rdb 0ad0d4ec33 Further optimizations to the cull pipeline.
The only transform still stored in CullableObject is internal transform.

NB: I haven't tested my PipeOcclusionCullTraverser changes.  Please contact me if you encounter problems with it.
2015-01-22 16:22:16 +01:00
rdb 6db5d0dc11 Huge cppparser and interrogate overhaul, bringing:
* Better support for typedefs
* Same code should compile for both 32-bit and 64-bit
* C++11 typed enum support
* Synthesize __setitem__ when operator [] returns reference
* Rewrite coerce system to have better performance
* Change semantics of __getattr__ and __setattr__ to match
  Python's, add __getattribute__, __delattr__ and __delitem__
* Improve performance of slot functions a bit more
* Reduce memory overhead of type system
* Some support for wrapping arrays of numeric types
* C++11 character type support in cppparser
* Chars are handled as strings of length 1
* Template functions for CreatePyInstance that use runtime type map
* More functions from dtool as extension functions
* Code cleanup
2014-12-30 16:43:52 +01:00
rdb 5f2c0a6e04 Big commit aiding in separation of Python bindings:
* Most extension functions have been moved to C++.
 * In makepanda, Python bindings are compiled into panda3d/<module>.pyd.
2014-02-20 13:33:26 +00:00
rdb 8c83ab08f4 Add get_tag_keys / get_python_tag_keys (based on patch by Josh Enes) 2012-12-02 12:21:17 +00:00
David Rose 501470169f stdfloat_double 2011-10-10 05:25:10 +00:00
David Rose 6064045aa3 fix an assertion failure at shutdown 2011-09-09 01:17:35 +00:00
David Rose 4cf4811af6 more refinements to the whole shared-node pickle thing 2010-02-11 01:32:00 +00:00
David Rose 981890183b bamify NodePath's parents etc too, to better support common nodes 2010-02-10 23:50:57 +00:00
David Rose 58c13de4ca integrate changes from Schell Games (plus some tab character fixes) 2009-06-01 21:51:15 +00:00
David Rose 681551c918 empty-node-path handling 2009-02-15 01:45:15 +00:00
David Rose 5d73bc8e19 operator bool() 2009-01-20 03:17:59 +00:00
David Rose 2e7751678f initialization issue 2008-10-29 00:58:06 +00:00
David Rose a89acc64a2 add clear_model_nodes 2008-07-29 19:42:53 +00:00
David Rose fb9c56432a we are now using the modified BSD license 2008-05-28 18:37:20 +00:00
David Rose d86c60305c copy_all_properties() should copy into_colilde_mask too 2007-10-26 22:11:11 +00:00
David Rose 8566b388fb add count_num_descendants() 2007-04-17 18:21:29 +00:00
Asad M. Zaman 1d0789ecde added a compose_color_scale interface 2007-03-28 23:36:45 +00:00
David Rose 89950a2132 try to defend against hard crashes 2007-03-16 15:43:17 +00:00
David Rose 601dbd02ca fixes for osx build 2006-09-25 22:29:39 +00:00
David Rose 3fe0ad1080 AsyncTaskManager, threaded sound loader 2006-08-29 19:27:03 +00:00
David Rose ddd1046462 factor out Thread::get_current_thread() some more 2006-04-26 07:31:23 +00:00
David Rose 725e82e6f4 show_through() 2006-03-20 20:48:26 +00:00
David Rose 1d2282a879 pipelining getting close; uprev bam version to 6.0 2006-02-14 19:07:47 +00:00
David Rose 5ea15b9dd7 add NodePath.has_texcoord() 2006-01-13 00:58:55 +00:00
David Rose 1568b255ca extend set_tex_pos() etc. for 3-d 2005-10-08 15:07:12 +00:00
David Rose 65458d9edd introduce 2-d TransformStates 2005-07-21 23:46:15 +00:00
David Rose 7a249dde55 add set_python_tag() etc. 2005-07-06 22:43:53 +00:00
David Rose 10242ea013 new NodePath::set_attrib(), set_clip_plane(), etc. 2005-04-26 17:51:54 +00:00
David Rose 4a5e1e825e is_ancestor_of(), get_common_ancestor() 2005-02-26 00:44:53 +00:00
David Rose 557060cb1d weak pointers, and FadeLODNode fixes for instances/multiple cameras 2004-09-30 21:29:25 +00:00
David Rose 895b553cdb better NodePath interfaces for set_collide_mask() 2004-09-23 20:57:34 +00:00
David Rose 0369f07074 all nodes now have a CollideMask 2004-09-23 19:51:54 +00:00
David Rose 597d379038 add NodePath::set_color_scale_off() and Camera::set_initial_state() and related methods 2004-08-03 19:59:21 +00:00
David Rose c7c639797e merge multitexture support in from branch 2004-07-30 00:38:35 +00:00
David Rose 0fe1abded6 relative set_fluid_pos 2004-06-24 23:11:22 +00:00