Daniel Rakos
a670c66457
Fix texture resource reload bug
...
If a non-imported texture resource file (e.g. DDS) gets updated the editor
doesn't reload it. The cause of the problem is two-fold:
First, the code of ImageTexture assumes that textures are always imported
from an image, but that's not the case for e.g. DDS. This change thus adds
code to issue a resource reload in case an image reload is not possible
(which is the case for non-imported texture resources).
Second, the code is filled with bogus calls to Image::get_image_data_size()
to determine the mipmap offset when that should be done using
Image::get_image_mipmap_offset(). Previous code literally passed the integer
mip level value to Image::get_image_data_size() where that actually expects
a boolean. Thus this part of the change might actually solve some other
issues as well.
To be pedantic, the texture_get_data() funciton of the rasterizer drivers is
still quite a mess, as it only ever returns the whole mipchain when
GLES_OVER_GL is set (practically only on desktop builds) but this change does
not attempt to resolve that.
(cherry picked from commit e34eb5c26c
)
2019-07-17 09:49:34 +02:00
lawnjelly
3433017354
Fixes crash with rigged meshes on some OpenGLES2 devices
...
Non-tools OpenGLES2 devices that use the USE_SKELETON_SOFTWARE path (i.e. do not support float texture) depend on surface->data being set containing the bone IDs and weights (rasterizer_scene_gles2.cpp, line 1456, RasterizerSceneGLES2::_setup_geometry). However currently if TOOLS_ENABLED is not defined, surface->data is not stored in main memory in rasterizer_storage_gles2.cpp. This causes a crash in rasterizer_scene_gles2.cpp when a rigged object comes into view.
This fix addresses the specific case of skinned objects when USE_SKELETON_SOFTWARE is active, and stores a copy of the bone data, as is done when TOOLS_ENABLED is defined. This fixes the crash by allowing the same mechanism as on desktop, without adding the memory overhead of storing all vertex data where not required.
Fixes #28298
(cherry picked from commit e36e9fdb1c
)
2019-07-17 09:43:16 +02:00
JFonS
792beb4b83
Fix hint_range for GLES2 shader uniforms
...
(cherry picked from commit 059078f075
)
2019-04-20 20:17:13 +02:00
Anish Bhobe
16097dd174
Added GLES2 RenderStorage Info calculations.
...
Proper counting code has been added to update info struct.
Extra: Added the render_info_capture calculations.
Fixes : #27273
(cherry picked from commit 4839b17f93
)
2019-04-20 20:08:54 +02:00
marxin
e3ae29e666
Enable warnings=extra on clang and GCC testers.
...
And remove 2 warnings from warnings=extra.
(cherry picked from commit e7f22ebdcd
)
2019-04-03 16:52:01 +02:00
Rémi Verschelde
ac483345c4
GLES2: Convert unsupported float texture types to 8-bit types
2019-03-12 12:14:37 +01:00
Juan Linietsky
d9235be54b
Enable seamless cubemap only if extension is present.
2019-03-11 16:49:04 -03:00
clayjohn
13eee31461
increase size of radiance map in gles2
2019-03-10 22:08:08 -07:00
clayjohn
63bb6808e6
gles2 reallocate texture when transparent is set
2019-03-09 10:56:51 -08:00
Juan Linietsky
7141c73ae8
Use glCopyTexSubImage2D instead of glCopyTexImage2D, should be safer and faster.
...
May be a solution to #26500
2019-03-07 00:14:13 -03:00
Juan Linietsky
2f32a75d2e
Skeletons can now choose between using local or world coords for processing, fixes #26468
2019-03-03 12:24:00 -03:00
Juan Linietsky
834a984b08
Fixed RGTC (and other compressed) texture supports in GLES2. Fixes #26414 an probably others.
2019-03-01 18:18:55 -03:00
Juan Linietsky
ff34cd58ff
Skeleton was not providing prober AABB in GLES2, fixed.
2019-03-01 17:41:15 -03:00
Juan Linietsky
51b80f6857
Fixed some crashers, closes #26393
2019-03-01 17:24:57 -03:00
Rémi Verschelde
3ece0004fa
Remove unused include from previous commit
2019-03-01 20:12:35 +01:00
Juan Linietsky
3f681b0681
Clean up blend shape support in GLES2 and GLES3.
2019-03-01 16:01:44 -03:00
Juan Linietsky
8799f69b2c
Strive for maximum compatibility in GLES2 regarding depth buffers.
2019-03-01 11:21:21 -03:00
Juan Linietsky
057d3e874d
Detect for 24 bits oes support on GLES2, closes #26344
2019-02-27 18:57:33 -03:00
Rémi Verschelde
0ba75c195e
Fix GCC 5 build after #26331 and cleanup style
...
Also cleanup after 01a3dd3
.
2019-02-27 09:01:24 +01:00
Juan Linietsky
01a3dd389c
Remove references to OES24, which is incompatible with many devices.
2019-02-26 19:45:15 -03:00
Juan Linietsky
5eeb06ffd1
-Remove harcoded opengl extension testing from OS, ask rasterizer instead.
...
-Fixed a bug where etc textures were imported broken
2019-02-26 11:58:47 -03:00
Juan Linietsky
a32b26dfa2
Several fixes to make GLES2 on HTML5 work much better.
...
Changed math class error reporting to be a bit less paranoid.
2019-02-25 21:47:29 -03:00
Juan Linietsky
31656301b2
Removed debug function.
2019-02-24 23:12:27 -03:00
Juan Linietsky
74d0ed2236
Many separate fixes to ensure non power of 2 textures work on GLES2, closes #25897 and many others
2019-02-24 22:36:53 -03:00
Juan Linietsky
ab8f3d7842
Fixed issue with buffers being wrongly cleared, closes #25484
2019-02-24 00:33:22 -03:00
Juan Linietsky
16e67388a2
Properly update materials when adding surface, fixes #23790
2019-02-22 16:27:00 -03:00
Rémi Verschelde
513b7ddab6
Remove unused variable after aab8f44
2019-02-22 16:51:16 +01:00
Juan Linietsky
aab8f443f9
-Support DEPTH_TEXTURE in GLES2, fixes #25106
...
-Fix use of transparent framebuffers in GLES2
-Fix use of ambient color clearing in GLES2 when no environment exists.
2019-02-22 11:35:39 -03:00
marxin
8d51618949
Add -Wshadow=local to warnings and fix reported issues.
...
Fixes #25316 .
2019-02-20 19:44:12 +01:00
Juan Linietsky
0c60d4c682
Properly get proxy texture size for canvas light, fixes #17067
2019-01-27 16:57:05 -03:00
muiroc
d1e399a971
fix s3tc support detection for webgl
2019-01-26 22:25:03 +01:00
Juan Linietsky
18c3ed245a
Further fixes to avoid memory corruption, closes #25336
2019-01-26 10:47:04 -03:00
Juan Linietsky
7fa41f17a6
Makes screen texture work in GLES2 (2D for now), fixes #23604
2019-01-24 17:00:33 -03:00
Rémi Verschelde
2a45b298c1
Remove unused method in RasterizerStorageGLES2
...
Added in 4f4e46edd5
but not used in the end.
2019-01-23 10:31:05 +01:00
Juan Linietsky
4f4e46edd5
Implement unpacking for compressed vertex formats on GLES2 when not supported, fixes #22957
2019-01-22 21:57:09 -03:00
Juan Linietsky
46af4b0a4b
Changes to GLES2 renderer to not use cube shadows if not available, fixes #25132
2019-01-22 10:05:23 -03:00
santouits
3c1cd2873b
WebGL1 some changes
...
glRenderBufferStorage doesn't accept the _DEPTH_COMPONENT24_OES so I changed it to GL_DEPTH_COMPONENT16
https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/renderbufferStorage
https://www.khronos.org/registry/webgl/extensions/rejected/OES_depth24/
Enabled ext_shader_texture_lod extension. I guess it does the same like the GL_ARB_shader_texture_lod extension, but in WebGL1
https://www.khronos.org/registry/webgl/extensions/EXT_shader_texture_lod/
And last WebGL1 doesn't allow indexes not constant, so I changed it into a loop reading this:
https://stackoverflow.com/questions/19529690/index-expression-must-be-constant-webgl-glsl-error
2019-01-22 13:40:28 +02:00
Juan Linietsky
682fdf0f74
Use 16 bit indices on phones that dont support 32, fixes #19797
2019-01-18 17:30:12 -03:00
Juan Linietsky
7478f468b2
Fixes to 2D lights, closes #24750
2019-01-17 10:40:36 -03:00
Rémi Verschelde
b16c309f82
Update copyright statements to 2019
...
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Bastiaan Olij
9055386de9
Fix texture type not being initialised
2018-12-29 23:44:28 +11:00
Juan Linietsky
a366d45856
-Implented 2D Mesh support for GLES2
...
-Implemented 2D Skeleton deform for GLES2
-Implement Multimesh support for GLES2, closes #20524 , closes #21839
2018-12-27 20:41:04 -03:00
Juan Linietsky
7b1cbe9874
Reverse RGBA shadow test on GLES2
2018-12-21 10:02:43 -03:00
Juan Linietsky
7535c5a56a
Further GLES2 fixes
2018-12-21 10:01:16 -03:00
Juan Linietsky
9ea27ec032
Fixes to framebuffer formats for GLES2, closes #24518
2018-12-21 09:50:57 -03:00
Juan Linietsky
f3cb236f9d
Remove usage of VAO, which does not work in GLES2
2018-12-20 17:28:01 -03:00
Juan Linietsky
3bdd1ff387
Support lights and shadows in GLES2, fixes #21853
2018-12-20 10:10:30 -03:00
Juan Linietsky
89abfd40ed
Reduce considerably the cubemap sizes on sky, to better match GLES3, fixes #21551
2018-12-18 13:01:46 -03:00
Juan Linietsky
85d44dd7b6
Actually respect the low quality cubemap filter on mobile, should fix crashes on mobile for #21551 but not sure on intel.
2018-12-18 12:52:50 -03:00
Juan Linietsky
d304228003
Do not draw particles if they are not processing at all, fixes #19507
2018-11-19 20:34:29 -03:00