Commit Graph

1259 Commits

Author SHA1 Message Date
rdb 2cc1633a77 pgraph: Clarify in find() documentation that this node not included 2021-08-30 14:03:17 +02:00
rdb bcbef3f6c8 pgraph: Add RenderState::get_unused_states() by analogy with TransformState 2021-07-02 15:22:44 +02:00
rdb 1415ccca61 pgraph: Fix assertion error in get_num_unused_states()
Fixes #1172
2021-07-02 15:11:33 +02:00
LD 23150bd6d6 pgraph: Add the shader attrib to the filled wireframe render state
Fixes #1021
Closes #1124
2021-03-23 16:18:00 +01:00
rdb a05405c475 pgraph: API reference improvements for NodePath 2021-02-21 10:15:33 +01:00
rdb f20d859fe2 pgraph: Fix bug passing non-tuple sequence to shader input 2021-01-16 14:05:43 +01:00
rdb e755f87130 pgraph: Add pickling for LoaderFileTypeRegistry
Useful to test that pickling singletons works
2021-01-01 17:08:55 +01:00
rdb 8e2c0dff4a pgraph: Hack fix for copying model with LightAttrib on root
When a LightAttrib is set on the root of a model and the light is contained within that model, creating a copy (like the one Loader makes automatically) causes the LightAttrib to still point to the original light, not to the newly copied light.

This works around it only for the case when the LightAttrib is set on the root, and only for the case of NodePath::copy_to() (it turns out there are edge cases when doing it in PandaNode::copy_subgraph() that would be hard to explain).

See Moguri/blend2bam#44
2020-12-09 15:51:36 +01:00
rdb 9525ddbfef pgraph: LightAttrib::get_on_light(n) should call check_sorted() 2020-12-09 15:48:10 +01:00
rdb d1ab940e93 pgraph: Fix texture replacement creating unique TextureAttrib
This needs a more thorough fix (probably on master), but the implicit sort is incrementing every time, and it is being included in the hash/compare, so every time the same texture is replaced on the same TextureAttrib, it will be a unique TextureAttrib, causing garbage to accumulate and the state system to be generally less effective.
2020-06-29 11:30:07 +02:00
rdb 55951c3025 pgraph: fix has_tags() after clearing Python tags
Fixes #936
2020-06-02 20:31:18 +02:00
rdb d64944c108 pgraph: minor optimizations to GeomNode::add_for_draw() 2020-05-11 09:38:17 +02:00
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 b286780ae6 pgraph: fix typo in comment 2020-03-30 13:56:55 +02:00
rdb 1b67931f16 express: invert return value of unref_if_one()
This is more consistent with how the return value of unref() works.  Someone might otherwise trip over this.
2020-03-14 14:59:20 +01:00
rdb c5c1d4557b pgraph: fix double free if weak ptr to state is locked while being gc'ed
Fixes #499
2020-03-10 12:10:23 +01:00
rdb 18bb8a5559 pgraph: fix for additional columns in munge_points_to_quads()
Fixes #870
2020-02-23 14:48:57 +01:00
rdb 24783924d0 pgraph: fix int return from bool method 2020-01-04 01:21:54 +01:00
rdb 135931c926 pgraph: fix faulty comparison code of ShaderInput vectors 2020-01-03 22:00:09 +01:00
rdb fe1ecd5e79 pgraph: fix ShaderInput ordering for vector inputs with small floats
Fixes #827
2020-01-03 18:48:23 +01:00
rdb 08572f3c38 general: Fix a variety of ABI incompatibility issues with opt4 builds 2019-10-08 19:44:29 +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
rdb 79c71a5d97 pgraph: fix missing includes of *Collection classes in nodePath.h 2019-09-03 22:46:18 +02:00
rdb f63b3a86b9 loader: add LoaderFileTypeRegistry.unregister_type() 2019-08-20 13:23:11 +02:00
rdb c2f49f4c4a loader: a few additional checks for Python loader plug-ins 2019-08-20 13:23:11 +02:00
rdb 1e846709d3 Add various @since tags to methods that are new in 1.10.4 2019-08-17 13:49:47 +02:00
rdb 8f9d0ab6f6 pgraph: fix some TextureAttrib state cache issues
The _render_stages and _render_ff_stages cannot simply be copied, because they contain pointer references to the previous TextureAttrib.  Never copy them, and always mark _sort_seq as stale.

This fixes a test failure in replace_texture.
2019-08-13 18:08:48 +02:00
rdb 5449f963a5 loader: fix leak of EntryPoint.name reference 2019-07-30 19:29:18 +02:00
rdb 93ed9632ac loader: fix incorrect EXPCL that prevents compilation on Windows 2019-07-30 13:28:10 +02:00
rdb 7b9f87412a loader: support Python loader plug-ins
This allows defining custom loader types from Python code.  Packages can use metadata entry points to register file types with the loader.

Example code: https://gist.github.com/rdb/cb3c2f4a98ce371c722e3f297b445153
2019-07-30 13:04:46 +02:00
rdb 4bb31029f0 pgraph: fix ScissorAttrib compare (fix flickering DirectScrolledFrame)
Fixes #681
2019-07-10 11:14:54 +02:00
rdb bac376541f pgraph: add NodePath.replace_texture() 2019-07-10 09:53:42 +02:00
rdb 4d0970c072 pgraph: StencilAttrib.make() takes default write_mask argument 2019-02-11 23:48:00 +01:00
rdb 9d12a4c437 general: improvements to doxygen API reference:
* In C++ reference, only pick up classes defined in .h file
* Add a few excludes to C++ reference that aren't public API
* On class index pages, reduce number of columns
* Add @since for some methods/classes that are new in 1.10.0
* Fix/improve a few docstrings here and there
2019-01-23 22:24:02 +01:00
rdb e4f0a9ce32 pgraph: allow getting NodePath from CullTraverserData in Python 2019-01-19 22:59:51 +01:00
rdb 31c532387e pgraph: remove unused weakKeyHashMap.h import 2018-12-28 21:36:16 +01:00
rdb 01915a36db Merge branch 'master' into deploy-ng 2018-12-26 23:41:50 +01:00
rdb b40ecd6c51 general: fix some old-style docstring comment blocks 2018-12-23 16:27:08 +01:00
rdb 9035b4a610 pgraph: don't bother calling xform() on empty BoundingVolume 2018-12-19 20:56:42 +01:00
rdb daa3100bf1 pgraph: mark TransformState as invalid in destructor
This, in combination with ebef9f3de8, makes it easier to catch issues in code that is accidentally letting get temporary TransformState objects get destroyed.  It does not affect release builds.
2018-12-19 20:47:57 +01:00
rdb ebef9f3de8 pgraph: add assertions to prevent invalid TransformState
If this commit is causing crashes in your code, it is probably exposing a bug in some other system that is assigning bad TransformState objects.
2018-12-19 20:45:57 +01:00
Mitchell Stokes 88470106b6 Merge branch 'master' into deploy-ng 2018-12-18 20:44:16 -08:00
Derzsi Dániel b7d638e53d
pgraph: fix BillboardEffect regression with older models
In older BAM files (version <= 6.42), _fixed_depth will have an uncertain value after loading, leading to incorrect transform calculations, which cause rendering issues (see issue #474)
2018-12-18 16:49:00 +02:00
rdb a7752da4f1 Merge branch 'master' into deploy-ng 2018-12-09 20:22:23 +01:00
rdb a17ac6516c pgraph: fix regression in 89236ac136 2018-12-09 20:19:40 +01:00
rdb b5b77e5956 pgraph: fix issues with serializing empty NodePaths 2018-12-09 20:16:55 +01:00
loblao 68b7986557 NodePath: Implement replace_material
Closes #472
2018-12-09 19:05:25 +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
rdb d7124d4df4 Merge branch 'master' into deploy-ng 2018-11-29 12:57:49 +01:00