Commit Graph

54 Commits

Author SHA1 Message Date
rdb c59a039fa8 pgraph: fix RenderState/TransformState count in PStats exploding
This was a regression in 1.10.6 that caused PStats to misreport the amount of RenderState/TransformStates in the application.
2020-04-25 23:39:03 +02:00
rdb 19e1b1d877 pgraph: add version of RenderState::get_attrib(_def) taking a CPT 2018-06-14 22:51: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 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 6f8b379bda Big patch full of performance improvements
This particularly benefits applications with a lot of nodes.
2017-04-03 01:41:23 +02:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb 18ad6d1543 Replace many int params with size_t params where appropriate, and work towards fixing type conversion warnings 2015-10-07 18:58:26 +02:00
rdb f33e450823 A lot of performance changes, particularly wrt dcasts and state management 2015-07-27 16:32:57 +02:00
rdb b4bfe7010c A few convenience methods that allow for cleaner code in GSGs 2015-03-31 13:57:02 +02:00
rdb af15797a25 Many, many performance optimizations and enhancements 2015-01-07 19:30:01 +01:00
rdb 56334e73e8 try fix segfault (sorry!) 2013-11-22 10:53:19 +00:00
rdb 126573775a fix LP bug 1133771, RenderState.compare_to does not work with state-cache or uniquify-attribs disabled 2013-11-19 21:34:55 +00:00
David Rose 229cf67ae5 Finishing migration of RenderState and RenderAttrib to SimpleHashMap and garbage_collect() models, working towards threaded pipelining 2011-09-04 15:47:45 +00:00
David Rose e41d03482f fix TransformState leak 2009-03-11 00:21:01 +00:00
David Rose 26754b86ca merge dev_slots_2008: slot-based RenderState implementation 2008-11-19 01:21:44 +00:00
David Rose d4c2c9858d SIMPLE_THREADS_NO_MUTEX -> LightMutex 2008-10-08 23:23:40 +00:00
David Rose 4d59f04134 scissor MouseWatcherRegions too 2008-08-01 22:48:42 +00:00
David Rose fb9c56432a we are now using the modified BSD license 2008-05-28 18:37:20 +00:00
Josh Yelon 1d44682463 Much progress implementing shader generator 2008-01-25 03:35:12 +00:00
David Rose e75c8695dd resolve dependency issue 2007-12-17 21:23:38 +00:00
Josh Yelon 5d0c234484 Added ShaderGenerator 2007-12-16 05:45:35 +00:00
Josh Yelon d8e6dc13a3 Modifications to eliminate class ShaderExpansion 2007-12-13 20:56:29 +00:00
David Rose 68cd3322a9 better thread protection in reference counts, esp. TransformState etc. 2007-07-14 21:32:48 +00:00
Darren Ranalli 2a6b1cb479 added audioVolumeAttrib 2006-12-21 23:40:22 +00:00
David Rose fade04905d more mutex protection; more current_thread passing 2006-04-28 16:17:55 +00:00
David Rose 9e986fce40 make PStats more thread-friendly 2006-04-09 20:17:26 +00:00
David Rose 8a78fffd8f multithreading optimizations, tau profiler, related changes 2006-04-05 19:36:05 +00:00
Josh Yelon 2095d8c44f New shader system 2005-09-25 04:06:31 +00:00
David Rose a7b1f14e80 integrate AviTexture better with Panda, rename to OpenCVTexture 2005-09-21 23:53:07 +00:00
Josh Yelon 83b88c1ac3 Shader vertex arrays implemented 2005-09-14 03:45:32 +00:00
David Rose 1e81e656ab PGItemNotify interface, PGScrollFrame, and more general PGSliderBar 2005-08-27 00:15:54 +00:00
David Rose 166e7414a6 first pass at primitive bumpmapping support 2005-07-02 00:56:30 +00:00
David Rose 977f692331 NodeCachedReferenceCount 2005-05-09 13:59:15 +00:00
David Rose 23e43fc04e hardware-point-sprites, GR_point_sprite_tex_matrix 2005-04-22 18:48:26 +00:00
David Rose 2434300804 move rotate and decompose operations into cull 2005-04-15 01:41:07 +00:00
David Rose 43f4675d65 use new munger system for qpgeom sprites/points 2005-04-07 21:51:00 +00:00
David Rose 92a93e8af0 clean up caching a bit, multitex in gl 2005-03-21 01:39:24 +00:00
David Rose d72e2da5c5 support flat-shading properly in new geom 2005-03-17 01:16:28 +00:00
David Rose 63a777ed78 fix list_cycles() 2004-09-13 17:26:16 +00:00
David Rose cf44a95d84 fix leak due to cyclic RenderState reference counts 2004-09-13 16:29:57 +00:00
David Rose 843c0331ae update license, change remaining local #includes to use quotation marks 2004-02-13 19:27:33 +00:00
David Rose b4751ec36b expose get_draw_order, etc. 2003-04-30 18:37:34 +00:00
David Rose 2fc1dfb8a3 implement M_dual 2002-05-14 21:35:56 +00:00
David Rose 83400f5f7f fix circular cleanup in TransformState and RenderState 2002-03-28 19:34:09 +00:00
David Rose e01cb59d06 move sprites into pgraph land 2002-03-22 18:16:13 +00:00
David Rose 986e2b5cc2 fix pgraph fog 2002-03-21 20:55:58 +00:00
David Rose 29e70407b5 more pgraph refinements 2002-03-20 01:27:29 +00:00
David Rose 9a7e4b319c separate out RenderEffect from RenderAttrib 2002-03-14 19:24:42 +00:00
David Rose 366bcf8520 pgraph decals 2002-03-05 02:02:41 +00:00
David Rose 5306f05c77 pgraph bam 2002-03-04 19:09:33 +00:00