Commit Graph

66 Commits

Author SHA1 Message Date
rdb d48695cb2e glgsg: fix occasional WeakPointerTo dereference 2018-06-14 22:51:35 +02:00
rdb 9fad3dba60 general: remove macros for compatibility with non-C++11 compilers
Now that we require MSVC 2015, we no longer need all this nonsense, so we can write cleaner code.
2018-05-23 23:33:05 +02:00
rdb fa1c480508 general: clean up use of override keyword 2017-07-03 12:56:23 +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 34068dc0c1 Implement support for SSBOs 2016-12-13 21:22:17 +01:00
rdb 723c1de520 Fix various emscripten compile issues 2016-04-28 21:15:46 +02:00
rdb e73a89705b Improve OpenGL ES support, add OpenGL ES 3 support 2016-04-04 17:00:27 +02:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
rdb 08c29313b2 Reduce redundant state changes, add gl-fixed-vertex-attrib-locations 2015-12-22 20:22:24 +01:00
rdb 927a5bd48b More efficiently manage which vertex arrays are enabled/disabled 2015-12-21 21:23:20 +01:00
rdb 1628238222 Fix circular reference in shader context preventing shader states from being cleared 2015-11-28 17:52:03 +01:00
rdb 68f762aa20 Fix leak of prepared contexts, prevent deleting GL resources in wrong context in multi-GSG applications 2015-11-08 00:01:45 +01:00
rdb e4c3301bd0 Shader context input state tracking system, for more efficiently updating shader inputs 2015-07-28 16:33:34 +02:00
rdb 5e219f6438 Add support for uniform int osg_FrameNumber in GLSL 2015-07-17 21:34:29 +02:00
rdb da6140a8cc Changes to GLSL input handling that further assist in efforts to port from Cg to GLSL 2015-07-14 21:04:50 +01:00
rdb 419eadb859 Support hardware skinning in GLSL 2015-06-21 20:28:31 +02:00
rdb e2dfc935a1 Various refactoring, esp. of GLSL input system 2015-05-21 14:16:45 +02:00
rdb 90ad6f00bf Change p3d_Color behavior to take ColorAttrib into account; assign white if missing 2015-05-02 15:48:21 +02:00
rdb 0343c4f186 GLSL robustness and issue fixes:
* Int params were not being implicitly converted to float properly
* p3d_TextureN now accepts other sampler types
* More error checking for parameter types
* p3d_ColorScale et al also allows vec3 instead of vec4 now
2015-04-14 15:48:48 +02:00
rdb 16e7831566 Remove executable permissions from files that don't need them 2015-04-05 15:41:49 +02:00
rdb cda7c1f171 OpenGL ES 2 optimizations and better support 2015-04-04 21:58:29 +02:00
rdb 059f67d1b5 Improve GLSL error reporting, fix GLSL ES shader loading 2015-04-04 20:57:04 +02:00
rdb 3aefaff8b1 Show source filename in GLSL error logs 2015-02-01 19:25:51 +01:00
rdb efa258ebf3 Memory barriers, immutable texture storage, bindless textures, fixes for multisample FBOs, code cleanup, etc. 2014-07-15 08:46:58 +00:00
rdb ce6f243019 Clean up glShaderContext, separate GLSL shader context from Cg shader context 2014-06-29 08:28:16 +00:00
rdb 39a321d0ba Compute shader support under OpenGL :-) 2014-06-19 21:29:35 +00:00
rdb e4747ebf50 Extremely experimental support for GL_ARB_shader_image_load_store 2014-06-15 12:57:58 +00:00
rdb 04bbf28a71 Oops, forgot to check in header file as well. 2014-02-16 10:22:11 +00:00
rdb c7976e945d Fix various GLSL bugs: attributes, p3d_Color range, and missing MatrixInverseTranspose stuff 2012-12-20 16:01:41 +00:00
Zhao Huang 3d05d84d87 Added support for shorthand shaderinput lexicons like mspos_camshadow and
trans_model_to_clip_of_camshadow to GLSL.
2012-11-13 02:45:44 +00:00
David Rose e9053ff910 support GLSL tessellation shaders 2012-04-27 20:29:47 +00:00
rdb 4b4ccee24a Don't even try to build Cg support when building for OpenGL ES, which is unsupported by the Cg Toolkit anyway.
The code tried to include cg/cgGL.h in the case that HAVE_CG was defined, but internally cgGL.h included GL/gl.h, so I got header file conflicts between OpenGL and OpenGL ES.
2010-12-18 23:29:00 +00:00
rdb 30a2c57cb3 Fix an issue with programs being destroyed and then reused by different copies of the same shader. Also, added better error reporting system for Cg errors. 2009-09-19 09:55:05 +00:00
rdb 5f4fe3bc32 Fix some compiler warnings 2009-09-12 10:45:49 +00:00
rdb ebf6291663 Fix build errors for mainstream OpenGL 2009-07-02 15:19:37 +00:00
rdb 66349ecaba This is another big commit - chief new features are:
* Working OpenGL ES 2.x support. Yay!
 * The shader code now supports separate vertex/fragment/geometry shaders.
 * The GLSL code supports passing vertex attrib arrays.
2009-07-02 15:01:36 +00:00
rdb d8fe8dda6a Build for OpenGL ES (2) 2009-07-01 10:13:51 +00:00
rdb ab2737ac1a Fix crash when cleaning up GLSL shader 2009-06-29 13:48:43 +00:00
rdb 100400f425 Add support for GLSL shaders 2009-06-26 13:11:24 +00:00
David Rose 58c13de4ca integrate changes from Schell Games (plus some tab character fixes) 2009-06-01 21:51:15 +00:00
David Rose fb9c56432a we are now using the modified BSD license 2008-05-28 18:37:20 +00:00
Josh Yelon 1d954d5104 Improvements to Shader Generator 2008-01-28 17:28:09 +00:00
Josh Yelon d8e6dc13a3 Modifications to eliminate class ShaderExpansion 2007-12-13 20:56:29 +00:00
Josh Yelon 32a6c8fd95 Fixes some bugs in cg parameter handling 2007-08-02 22:02:10 +00:00
David Rose 68c9ef5207 don't prune nonresident geometry in cull--wait until draw 2007-06-07 21:45:33 +00:00
David Rose 1fdb425b88 merge shader_overhaul from jyelon 2007-03-15 21:04:31 +00:00
Josh Yelon cde115a055 Got hardware shadows in Cg working, for real this time 2006-04-06 16:44:38 +00:00
David Rose 8a78fffd8f multithreading optimizations, tau profiler, related changes 2006-04-05 19:36:05 +00:00
Josh Yelon ba74d9a772 Eliminated Cg references in gobj/shaderContext 2006-02-28 22:06:49 +00:00
Josh Yelon 129cef9f62 Major overhaul to shader subsystem 2006-02-27 21:52:36 +00:00