WMOkiishi
ea84547805
general: Mark many constructors as `explicit`
...
Closes #1514
Fixes #1431
2023-08-02 08:18:43 +02:00
rdb
316b8e96eb
pgraphnodes: Fix compile warning on 32-bit in SceneGraphAnalyzer
2023-02-24 23:11:55 +01:00
rdb
eefb51f510
dtoolutil: Add small_vector implementation and use it
...
This vector implementation does is optimized for the case of having only a small number of elements, which are stored directly on the vector object rather than being allocated from the heap. If the capacity exceeds this small number, then a heap allocation is done.
This should improve performance in a couple of cases where vectors typically store 1 element and rarely more than that.
2023-02-22 16:48:11 +01:00
WMOkiishi
3f3c65917b
Ensure classes using aligned types inherit from `MemoryBase`
2023-02-06 18:35:18 +01:00
rdb
b09a8a84ec
Merge branch 'release/1.10.x'
2023-02-03 14:52:39 +01:00
rdb
a20996d2aa
pgraphnodes: Support missing texture types in shader generator:
...
- Cube arrays
- 1D texture arrays
- Buffer textures
Not to say that they are displayed meaningfully, but better than a cryptic error message.
2023-01-31 17:40:55 +01:00
rdb
8bc1743d75
Merge branch 'release/1.10.x'
2023-01-27 16:17:41 +01:00
rdb
4b992105e1
ShaderGenerator: Fix support for hardware point sprites
...
In gp5fp and glslf profiles, we can rely on per-fragment point coordinates to be available, otherwise we have to emulate support by calculating it from the fragment pixel coordinates
2023-01-16 19:33:09 +01:00
rdb
b282e8920d
Merge branch 'release/1.10.x'
2023-01-13 22:32:35 +01:00
rdb
709555577f
ShaderGenerator: Add support for perspective points
...
Fixes #1440
2023-01-13 19:12:01 +01:00
rdb
6ad50b5cb1
ShaderGenerator: implement remaining missing TexGenAttrib modes
...
Fixes #1437
2023-01-13 17:04:04 +01:00
rdb
a2aa8af973
Correctly support 4-component UV coordinates in generated shaders
...
Supports projective UVs, matching fixed-function pipeline behavior
2023-01-02 10:48:33 +01:00
rdb
a0be50c769
general: Fix assorted compiler warnings
2022-03-01 16:09:07 +01:00
rdb
992cbb0840
pgraph: optimizations for analyze()
2022-01-10 13:22:34 +01:00
rdb
fac6916151
pgraph: Major traversal optimizations
...
In particular, these optimize the traversal of nodes that are not in view, which are discarded more efficiently.
This change affects both the cull and collision traversers.
2021-11-16 17:30:33 +01:00
rdb
dd3510eea7
Merge branch 'release/1.10.x'
2021-04-08 12:30:35 +02:00
rdb
bcb61fec09
pgraphnodes: Fix draw callback called twice in certain cases
...
This would happen if you call upcall() in a CallbackNode's cull callback.
2021-04-06 16:38:51 +02:00
rdb
43fb82fa66
gobj: Add config switch for Panda not to default to packed vertex colors
...
See #981 . Setting `vertex-colors-prefer-packed` to false will make Panda default to OpenGL-style vertex colors, which is useful if are targeting OpenGL and not DirectX 9, avoiding a potential performance cost.
2021-03-25 23:15:58 +01:00
rdb
a3010a43a5
Merge branch 'release/1.10.x'
2020-12-24 15:31:52 +01:00
rdb
05876317cf
Add TextureStage::M_emission mode
...
This is similar to M_glow, except that the emission factor is in the RGB channels.
2020-12-23 17:33:59 +01:00
rdb
b5c857c73f
pgraphnodes: Backport ShaderGenerator stub to 1.10.x
...
Needed if interrogate is being run with the __aarch64__ definition in a multi-arch build
2020-12-19 23:50:07 +01:00
rdb
10bb4a33d3
ShaderGenerator: remove unnecessary member, define all stub methods
2020-12-19 11:15:00 +01:00
rdb
f65fd44c08
pgraphnodes: Add missing ShaderGenerator stub symbols
2020-12-19 02:56:41 +01:00
rdb
7ae72cd880
pgraphnodes: Fix ShaderGenerator includes
2020-12-19 02:00:59 +01:00
rdb
617a759fd2
pgraphnodes: Add exposed methods to ShaderGenerator stub
...
Since HAVE_CG is now dependent on __aarch64__, it otherwise relies on interrogate having been run with the same architecture flags.
2020-12-19 00:26:13 +01:00
rdb
251d73a47b
ShaderGenerator: very slight optimization setting ShaderAttrib flags
2020-12-12 14:15:27 +01:00
rdb
c8a35641c1
pgraphnodes: Remove unused variable
2020-12-10 17:37:05 +01:00
rdb
615502aef6
pgraphnodes: Support hardware instancing for LODNode
...
LODNode will now correctly calculate LOD for individual instances.
It turns out implementing it for FadeLODNode is hard (wrt. tracking state for individual instances) so I have not bothered with supporting it - FadeLODNode instead calculates a single switch level for all instances based on the centroid of the visible instances.
2020-11-26 16:47:35 +01:00
rdb
8486d286b7
Merge branch 'release/1.10.x'
2020-11-22 15:19:51 +01:00
rdb
61a089ad59
ShaderGenerator: don't output unused attr_ambient input variable
2020-11-22 14:23:46 +01:00
rdb
b655aa86c5
Merge branch 'release/1.10.x'
2020-08-17 13:05:51 +02:00
Mitchell Stokes
dd77bd4cdf
shadergen: Make use of material alpha if present ( #925 )
...
The material alpha overrides alpha values from flat color or vertex colors. This follows what the fixed-function pipeline does.
Fixes #912
2020-08-17 12:27:03 +02:00
Mitchell Stokes
46dc9444d3
SceneGraphAnalyzer: Use smarter units for byte sizes in write()
...
Values above 10 MiB are displayed in MiB and values above 4 GiB are
displayed in GiB.
Closes #881
2020-04-02 13:53:56 +02:00
rdb
9fb60b18e7
Merge branch 'release/1.10.x'
2020-02-29 16:58:45 +01:00
rdb
9431d5013f
ShaderGenerator: fix texture transforms applied to normal map
...
Fixes #808
2020-02-29 16:21:59 +01:00
Sam Edwards
5fa4af9189
CMake: Rely on GNUInstallDirs to specify install paths
...
This makes multiarch OSes happy as they can dictate that
64-bit libraries go into 'lib64'
2019-08-31 00:48:42 -06:00
Sam Edwards
1a654cba04
CMake: Record the location that headers are installed
...
This populates INTERFACE_INCLUDE_DIRECTORIES on the targets
after they're installed.
2019-08-30 22:58:18 -06:00
Sam Edwards
19ed9f6b47
Merge branch 'master' into cmake
2019-08-24 18:07:12 -06:00
rdb
3a7ab6c319
Merge branch 'release/1.10.x'
2019-07-15 19:51:19 +02:00
rdb
23232a5b20
pgraphnodes: fix assert when analyzing geoms with strip cut index
2019-07-15 19:42:33 +02:00
Sam Edwards
6097d34ead
CMake: Neatly format everything for readability and consistency
2019-04-14 22:37:18 -06:00
Sam Edwards
f8161cc529
Merge branch 'master' into cmake
2019-03-12 02:03:16 -06:00
rdb
2574d85049
Merge branch 'release/1.10.x'
2019-02-19 21:38:08 +01:00
rdb
1f9b4690e6
pgraph: fix writing to SequenceNode frame_rate property
2019-02-19 21:29:21 +01:00
rdb
86c266fd88
Merge branch 'release/1.10.x'
2019-01-31 00:58:29 +01:00
rdb
0ba1235d35
ShaderGenerator: print out generated shader in spam output mode
2019-01-31 00:05:23 +01:00
rdb
0e447b7429
ShaderGenerator: do shadow map calcs in fshader if out of varyings
...
If too many shadow-casting lights are active, too many TEXCOORD varyings will be used and a shader compilation error will be displayed. Instead, Panda will now just do the calculation in the fragment shader if not enough varyings are available. It's slower, but better than crashing.
2019-01-30 23:54:22 +01:00
rdb
dc8f01df8a
ShaderGenerator: pack eye-space normal to save one varying
...
Only when normal mapping is enabled.
2019-01-30 23:51:50 +01:00
rdb
d8891674e3
Merge branch 'release/1.10.x'
2019-01-23 23:28:28 +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