Commit Graph

1081 Commits

Author SHA1 Message Date
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 1b1d80cd27 More thoroughly fix issues with pickling Panda objects in Python 3
This also adds DatagramBuffer, a class for writing datagrams to memory and reading them from there again.
2017-11-08 00:02:35 +01:00
rdb dd2806c8bd Mark constructors 'explicit' for which coercion makes no sense 2017-11-06 19:47:38 +01: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 51d948a7fa Support compilation for Python 3.7 2017-10-13 12:40:47 +02:00
rdb bf190f7306 interrogate: support MAKE_MAP_PROPERTY 2017-10-09 00:02:46 +02:00
rdb 85a9cdd052 Add a way to get access to OpenGL texture index 2017-10-05 17:34:26 +02:00
rdb 4fae81947e Fix regression (since 6f8b379) causing crash in flattening edge case 2017-08-07 23:00:28 +02:00
rdb d1c34c3360 interrogate: support static properties 2017-08-07 22:04:56 +02:00
rdb f79fbf25c3 ShaderGenerator: big overhaul, don't generate more shaders than needed 2017-07-10 21:55:27 +02:00
rdb 925ce854d0 general: make DO_MEMORY_USAGE setting not change ABI compatibility 2017-07-10 19:50:09 +02:00
rdb 48c811e112 cull: remove GeomMunger stored on CullableObject 2017-07-03 11:47:59 +02:00
rdb 511b0c10e5 ShaderGenerator: don't generate a shader per Material 2017-06-22 13:35:46 +02:00
rdb b41496b17a Fix texpad/texpix inputs not updating (fixes CommonFilters resize issue) 2017-06-20 19:15:12 +02:00
rdb e15cfd74e8 Prevent assertion when calculating bounds for geom without vertices 2017-05-13 21:40:59 +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 d8066e19b1 Fix assertion when using Texture.load_sub_image to load entire image 2017-03-22 22:42:21 +01:00
rdb 64a7fbab87 glgsg: fix assertion encountered when trying to use pointer textures
Fixes LP 990089
2017-03-10 23:01:11 +01:00
rdb 4f299fa71f Fix compilation when building without threads enabled 2017-03-09 14:31:07 +01:00
rdb 72262ea15a Fix compiler issues on Windows 2017-02-21 21:38:46 +01:00
rdb 8ec4da2824 Compile fixes for compilers that don't support all C++11 features 2017-02-21 02:45:30 +01:00
rdb edb83fe89a Various optimizations to reduce performance overhead of rendering 2017-02-21 02:20:06 +01:00
rdb 8c914a2855 Work towards ABI stability wrt allocation. Let MemoryHook take advantage of dlmalloc's internal bookkeeping. 2017-02-17 13:02:01 +01:00
rdb 2acde88695 New alignment code to hopefully fix the alignment issues 2017-02-10 03:01:32 +01:00
rdb 4ed199cece Fix various compile warnings and a few code consistency issues 2017-01-09 20:36:53 +01:00
Sam Edwards ea2305de70 general: Fix missing includes. 2016-12-26 18:11:03 -07:00
rdb e8fbd2f9da Fix potential crash in shader preprocess code 2016-12-21 18:14:46 +01:00
rdb 4b5c317160 Improve shader caching; cache result of preprocess if cache-generated-shaders is set 2016-12-19 22:26:16 +01:00
rdb 34068dc0c1 Implement support for SSBOs 2016-12-13 21:22:17 +01:00
rdb 23645cc407 Fix DDS load crash with certain formats; support R16, RG16, R32, RG32 2016-12-13 21:00:11 +01:00
rdb 9eb04a533d More texture load/store performance optimisations 2016-12-09 01:41:32 +01:00
rdb 6dc6b05409 Merge remote-tracking branch 'origin/release/1.9.x' 2016-12-05 02:01:44 +01:00
rdb 2b6e192e5a Protect against overallocation when reading corrupt texture from bam 2016-12-03 01:04:35 +01:00
rdb 441b791e57 Fix extract_texture_data for buffer textures 2016-11-29 23:05:01 +01:00
rdb 78bf339c41 Fix material shader inputs not being updated properly 2016-11-27 14:24:37 +01:00
rdb 7259425b7c Let's do away with Geom-wide usage hints, it's not very useful 2016-11-03 11:34:10 +01:00
rdb ed761f2997 Fix build without Python 2016-10-31 20:14:48 +01:00
rdb ef986ccfc0 Texture.set_ram_image(_as) now directly accepts buffers with right component size 2016-10-24 21:29:43 +02:00
rdb dc29ac8d34 Merge remote-tracking branch 'origin/release/1.9.x' 2016-09-08 22:31:04 +02:00
rdb 4d8a9aa3a1 Fix automerge failure 2016-09-08 22:27:25 +02:00
rdb 61b7af74db Merge branch 'release/1.9.x' 2016-09-08 22:18:50 +02:00
deflected abb6ee0542 gobj: Fixed wrong texture pool key for 2D texture arrays
- 2D texture arrays are added to internal storage with
        specific unique name, so keep it as texture pool key
        instead of filename.
2016-09-08 20:36:02 +02:00
rdb 20353f33eb Fix missed switch cases for 1d texture arrays 2016-08-09 01:47:44 +02:00
rdb 1d2e17932c Don't require spaces around : in #extension directive 2016-07-30 12:59:42 +02:00
rdb 47f999fdec Improve GLSL preprocessor; support GL_GOOGLE_include_directive 2016-07-20 16:00:34 +02:00
rdb 2eba4dea9b Change handling of unsupported render mode so that behaviour can be shared among renderers 2016-07-20 15:59:42 +02:00
rdb 47388b0dbc Separate out CPython calls from core libs; eliminate need for pystub 2016-07-20 14:30:41 +02:00
rdb 400bc2cc26 Support .ktx textures, ETC1/ETC2/EAC compression 2016-07-15 11:50:57 +02:00