rdb
69b3468b2c
interrogate: more improvements to seq/map wrappers
...
Gets rid of properties defined as both MAKE_SEQ_PROPERTY/MAKE_MAP_PROPERTY, which are just a bad idea. Instead, adds a way for map properties to define a separate "keys" interface.
Fixes : #203
2017-11-27 17:29:50 +01:00
rdb
001804113a
ShaderGenerator: make colorscale/texture blending match FFP better
...
A notable change is that the color scale is now applied *before* texture blending, matching the FFP. If this breaks anything, we might want to add a configuration option for this.
This also implements the remaining combine modes, CM_dot3_rgb and CM_dot3_rgba, and fixes the broken CM_subtract mode (which currently worked the same way as CM_add).
Fixes : #189
2017-11-16 15:58:13 +01:00
rdb
dd2806c8bd
Mark constructors 'explicit' for which coercion makes no sense
2017-11-06 19:47:38 +01:00
rdb
745b51f10f
ShaderGenerator: fix M_blend to match fixed-function pipeline
...
See panda3d/panda3d#178
2017-11-01 20:20:38 +01:00
rdb
8a35f360bd
Fix build error
2017-10-18 12:29:44 +02:00
rdb
410049fd4b
Improvements for ShaderGenerator-based programs:
...
* Disable state munger, which isn't needed
* Reflect updates to TextureStage properties (Fixes #178 )
* Also respect combine mode and rgb scale changes
* Allow rehashing and clearing generated shader cache
State munger is now disabled whenever any shader is applied. Panda assumes that any custom shader will apply color scale by itself.
2017-10-18 11:16:29 +02:00
rdb
0db3d27247
ShaderGenerator: fix updating color of combine stages with CS_constant
...
This also changes the function of TextureStage::uses_color(), which no longer incorporate TextureStage::involves_color_scale()
Fixes : #177
2017-10-15 17:06:59 +02:00
rdb
65ae1e16bc
ShaderGenerator: support multiple normal maps
...
Uses Reoriented Normal Mapping to blend additional normal maps.
Fixes #156
2017-07-15 20:17:29 +02:00
rdb
f79fbf25c3
ShaderGenerator: big overhaul, don't generate more shaders than needed
2017-07-10 21:55:27 +02:00
rdb
9a40febdb9
shadows: fix light buffer not being destructed after light removal
...
Fixes LP 1672089
2017-07-09 20:36:13 +02:00
rdb
511b0c10e5
ShaderGenerator: don't generate a shader per Material
2017-06-22 13:35:46 +02:00
rdb
af57c829d2
ShaderGenerator: reduce combinatoric explosion of shaders
...
This is done by:
* Not considering the texture pointer when looking up a generated shader, only type
* Not requiring different shaders based on RescaleNormalAttrib
* Not looking at AlphaTestAttrib unless it is going to be relevant
This should dramatically reduce the number of shaders that are being generated for many scenes, especially since the only thing that differs from object to object is often just the texture.
These changes are also necessary to make b781995ef1 more usable, since prepare_scene may see a slightly different state than is encountered at render time due to code in CullResult adding in an AlphaTestAttrib or RescaleNormalAttrib.
2017-06-20 18:45:49 +02:00
rdb
b781995ef1
ShaderGenerator: prepare_scene now invokes shader generator.
...
This also necessarily removes ShaderGenerator's dependency on a host window.
2017-06-20 16:16:30 +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
rdb
9d05044a9f
shadows: force interocular distance to 0 for shadow cameras
2017-03-23 12:22:34 +01:00
rdb
b113d9db55
Fix incorrect type hierarchy of HermiteCurve, PandaNode, ShaderGenerator
2017-02-20 00:32:05 +01:00
rdb
da79c28a6c
Add RectangleLight class
2016-12-19 23:29:42 +01:00
Sam Edwards
2933b8ed39
general: Fix missing includes.
2016-06-25 19:10:38 -07:00
rdb
ce29ae490d
Interrogate improvements, more properties, MAKE_SEQ_PROPERTY
2016-05-11 00:16:53 +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
rdb
2b7ef9c787
Add SphereLight class
2016-04-16 12:30:07 +02:00
rdb
f68bfab7a9
Add light.shadow_caster and light.shadow_buffer_size
2016-03-17 15:26:12 +01:00
rdb
2bf886fc5b
Add premultiplied alpha mode, for convenience
2016-03-02 17:55:34 +01:00
rdb
2971915618
Bam 6.41: lenses and light changes, add max_distance
2016-03-02 17:54:49 +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
3393454582
Metalness workflow PBR stuff, support light color temperatures, make light specular color tied to light color by default
2016-01-09 16:08:33 +01:00
rdb
e4857a58bb
Add many more Python properties
2015-12-24 16:17:34 +01:00
rdb
6480e82e3b
First pass adding properties to many Panda classes
2015-12-10 16:23:06 +01:00
rdb
25451feb87
Improve shadow system, add point light shadows, GLSL shadow inputs
2015-12-07 21:12:07 +01:00
rdb
48808fe269
Add get_supports_hlsl check, fix shader generator for DirectX 9
2015-11-26 01:05:26 +01:00
rdb
db3ab953e4
Remove ppremake, genPyCode, and all hacks created to support them
2015-11-09 19:06:49 +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
c9434c5b85
Fix shadowed light copy constructor, fix point light lens orientations
2015-09-10 15:30:24 +02:00
rdb
acc2a310d0
Change debug category for shader generator to pgraphnodes
2015-07-28 21:43:19 +02:00
rdb
ef9908c277
More robust Cg support on non-NVIDIA card + automatically enable hardware skinning in Shader Generator
2015-07-07 02:51:48 +02:00
rdb
5d364d6128
Merge branch 'release/1.9.x'
2015-06-15 00:20:17 +02:00
rdb
6d0e4c2662
Correct scaling and normalizations of binormals and tangents in generated shaders
2015-06-15 00:19:52 +02:00
rdb
82e098e578
Move auto-rescale-normal handling out of GSG, support normalizing normals in shader generator
2015-06-13 18:20:18 +02:00
rdb
32fb6814e7
Merge branch 'release/1.9.x'
2015-05-14 17:18:20 +02:00
rdb
586c067d69
Fix shader generator memory leaks
2015-05-14 17:17:38 +02:00
rdb
adb02a8f45
Compile out things irrelevant for target build, like ShaderGenerator when !HAVE_CG
2015-04-06 13:24:45 +02:00
rdb
16e7831566
Remove executable permissions from files that don't need them
2015-04-05 15:41:49 +02:00
rdb
22120524a2
PNMImage sRGB support, use floats instead of doubles
2015-03-15 17:22:28 +01:00
rdb
cbd70ad8af
Move all Python bindings out of core DLLs into the .pyd files.
2015-02-10 14:30:51 +01:00
rdb
e9a64736a3
Fix 32-bit Windows compilation issues with Eigen
2015-02-09 16:51:59 +01:00
rdb
dad8f79e96
Support using setShaderInput with a light to bind to GLSL struct
2015-02-08 01:42:11 +01:00
rdb
13fb8079ec
Better shader caching, GLSL "#pragma include" support, better error reporting
2015-02-01 17:52:52 +01:00
rdb
7ba0469148
Shader generation should be done in cull, not in draw
2015-01-23 15:03:50 +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