Commit Graph

43 Commits

Author SHA1 Message Date
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 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
Sam Edwards 7790f8429d general: Fully qualify header references into the std namespace
Closes #341
2018-06-07 10:35:12 +02: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 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 f79fbf25c3 ShaderGenerator: big overhaul, don't generate more shaders than needed 2017-07-10 21:55:27 +02:00
rdb 511b0c10e5 ShaderGenerator: don't generate a shader per Material 2017-06-22 13:35:46 +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 b113d9db55 Fix incorrect type hierarchy of HermiteCurve, PandaNode, ShaderGenerator 2017-02-20 00:32:05 +01:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +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 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 82e098e578 Move auto-rescale-normal handling out of GSG, support normalizing normals in shader generator 2015-06-13 18:20:18 +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 cbd70ad8af Move all Python bindings out of core DLLs into the .pyd files. 2015-02-10 14:30:51 +01:00
rdb 7ba0469148 Shader generation should be done in cull, not in draw 2015-01-23 15:03:50 +01:00
rdb 4da840805f Add support for k_time / osg_FrameTime inputs, and change the Shader Generator not to require a separate texcoord set for every texture in an effort to cut down on register overuse. 2014-02-10 11:32:06 +00:00
rdb 58124af9f5 add fog support to shader generator 2011-10-08 13:27:40 +00:00
Mike Christel c308b57137 Overload added to set_shader_auto to allow any of normal, glow, gloss, ramp, shadow to be turned on or off 2010-04-16 14:06:26 +00:00
rdb 87e5347a1e Fix some bugs in the shader generator regarding combine modes. 2009-07-13 11:37:11 +00:00
rdb 0e24827b9d Support for 1D, 3D textures and cubemaps 2009-06-12 15:17:17 +00:00
rdb b83e30b645 Add support for more TexGen modes 2009-06-12 13:47:49 +00:00
rdb d1f9183119 Support for TexMatrix and projected textures 2009-06-12 10:13:50 +00:00
rdb eb5b308edf Added support for parallax mapping 2009-06-11 11:04:47 +00:00
David Rose adabf179e2 missing includes 2009-06-02 19:14:56 +00:00
rdb 4e067a74c1 Fix couple of circular dependencies, eliminate ShaderGeneratorBase 2009-06-02 09:57:33 +00:00
rdb 159026571b Added shadow mapping support to Panda 2009-06-02 09:24:03 +00:00
rdb 2cb61a4b9e Support for clip planes in ShaderGenerator 2009-04-29 18:35:50 +00:00
rdb bcda5743dc Whoops. Forgot to checkin the header file 2009-02-19 17:32:16 +00:00
David Rose 26754b86ca merge dev_slots_2008: slot-based RenderState implementation 2008-11-19 01:21:44 +00:00
David Rose 075710bced create pgraphnodes directory; move some things there from pgraph 2008-11-06 00:06:39 +00:00