Commit Graph

9920 Commits

Author SHA1 Message Date
rdb 37572b312c loader: try appending .bam to filename if loading doesn't find model 2017-11-22 19:27:14 +01:00
rdb 51090ccf12 pgraph: fix LightLensNode assert due to bad refcount in LightAttrib::compose 2017-10-20 20:12:25 +02:00
rdb 407c8e8712 bullet: add interface to access BulletTriangleMesh vertices/triangles 2017-10-20 19:53:02 +02:00
rdb 8a35f360bd Fix build error 2017-10-18 12:29:44 +02:00
rdb 7d721a33a6 Restore setShaderInput overload taking 4 numbers, but deprecate it 2017-10-18 11:26:20 +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 6ecfcb1fd3 Store munged states more efficiently, without weak key maps 2017-10-17 23:21:38 +02:00
rdb 8078fa2b38 More efficiently store SimpleHashMap with empty values 2017-10-17 23:04:16 +02:00
rdb bb60e8c373 display: fix segfault when output is removed during render
Fixes: #176
2017-10-15 18:48:53 +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 51d948a7fa Support compilation for Python 3.7 2017-10-13 12:40:47 +02:00
Eric Klawitter 5758fdf8f5 Fix 'of of' doc typos 2017-10-09 14:56:40 -05:00
rdb bf190f7306 interrogate: support MAKE_MAP_PROPERTY 2017-10-09 00:02:46 +02:00
rdb 0e2b14cf4c pgraph: custom binding for set_shader_input()
Should be faster and more reliable at PTA handling
We no longer need the interrogate perf hack for the first-arg InternalName

Fixes: #161
2017-10-08 17:50:28 +02:00
rdb 8ed85c80c8 linmath: permit single-argument/fill value for UnalignedLVecBase4 2017-10-06 23:59:17 +02:00
rdb dfa47e55ce express: fix PTA get_data in Python 3, fix CPTA construction
Fixes: #173
2017-10-06 18:24:32 +02:00
rdb be8f4de337 display: add_render_texture should set correct texture format 2017-10-05 17:35:31 +02:00
rdb 85a9cdd052 Add a way to get access to OpenGL texture index 2017-10-05 17:34:26 +02:00
Younguk Kim b71ee446e3 Add has_hook functions taking function pointer or callback data in EventHandler 2017-09-24 02:46:00 +09:00
rdb 019df482d6 windisplay: fix origin not changing upon window being dragged 2017-09-19 19:16:48 +02:00
rdb 35349b6224 Expose DatagramOutputFile to Python, add props to DatagramSink 2017-09-17 01:38:59 +02:00
rdb 82eec0302b ShaderGenerator: fix point light shadow regression
Fixes: #167
2017-09-04 13:03:37 +02:00
kamgha f09d767c6e pnmimagetypes: introduce png-compression-level PRC variable 2017-08-31 13:03:17 +02:00
rdb a925e0bcd9 x11: fix loading 24-bpp ico/cur image alpha with width 24 2017-08-29 23:51:15 +02:00
rdb bbdc5d2341 pnmimage: mark many heavy methods as BLOCKING to release GIL 2017-08-22 20:04:59 +02:00
rdb 4fae81947e Fix regression (since 6f8b379) causing crash in flattening edge case 2017-08-07 23:00:28 +02:00
rdb e3d8123940 glsl: fix broken shadowMatrix as member of named light input
Fixes: #157
2017-08-07 22:58:02 +02:00
rdb d1c34c3360 interrogate: support static properties 2017-08-07 22:04:56 +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 1b690e528f vfs: don't crash if copy_file can't open output file (LP 1687283) 2017-07-10 21:13:57 +02:00
rdb 8b3ad7348e cocoa: fix broken mouse events in fullscreen on macOS (LP 1500026) 2017-07-10 19:53:53 +02:00
rdb 925ce854d0 general: make DO_MEMORY_USAGE setting not change ABI compatibility 2017-07-10 19:50:09 +02:00
rdb 5fffbbce47 express: error if Windows-style path is used (LP 1429241) 2017-07-10 14:25:41 +02:00
rdb 2e5051ac04 bullet: fix crash when adding non-indexed GeomTriangles to trimesh 2017-07-10 01:54:37 +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 1fd8af5acd express: add C++11 methods to ordered_vector 2017-07-09 19:56:56 +02:00
rdb 84520ce21c display: prefer 24-bit depth buffer on Intel over 16-bit 2017-07-09 19:53:23 +02:00
rdb a866f9fbcb audio: fix case of get_speaker_setup/set_speaker_setup methods 2017-07-09 15:47:09 +02:00
rdb e45af355cc glgsg: fix multisample FBO regression (on Intel Windows driver) 2017-07-09 15:32:13 +02:00
Younguk Kim e07e5d0203 Fix assert macros that cause a crash in non-debug 2017-07-05 19:49:46 +09:00
The Cheaterman 86cbdddd76 Fix float precision issues in bulletHeightfieldShape
Closes: #152
2017-07-03 22:36:22 +02:00
rdb fa1c480508 general: clean up use of override keyword 2017-07-03 12:56:23 +02:00
rdb 48c811e112 cull: remove GeomMunger stored on CullableObject 2017-07-03 11:47:59 +02:00
rdb f57a3f9cde Hack to remove build warning on MSVC 2010
Fixes LP #1700329
2017-07-03 11:13:02 +02:00
rdb 9c4151cb0f ShaderGenerator: fix TextureAttrib assertion
This was caused by af57c829d2 and was triggered by a change in TextureStage sort.
2017-06-22 13:36:47 +02:00
rdb 511b0c10e5 ShaderGenerator: don't generate a shader per Material 2017-06-22 13:35:46 +02:00
rdb c6dda2a44a vfs: Show IOError instead of AssertionError if read_file fails
The methods are marked non-BLOCKING since the GIL needs to be held while throwing exceptions.  We handle the GIL in the extension functions instead.
2017-06-20 21:52:22 +02:00
rdb b41496b17a Fix texpad/texpix inputs not updating (fixes CommonFilters resize issue) 2017-06-20 19:15:12 +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