Commit graph

223 commits

Author SHA1 Message Date
clayjohn
05142b6228 Properly update array textures when using the OpenGL backend to avoid crash 2023-06-07 15:44:11 -07:00
MJacred
2c5e2196bd Replace get_rendering_device() call to prevent crashes on OpenGL.
And make OpenGL video adapter info align with Vulkan.
2023-06-06 23:29:36 +02:00
Rémi Verschelde
f2e91eae63
Merge pull request #77224 from patrickdown/implement_texture_2d_layered_initialize
Implemented texture_2D_layered_initialize
2023-05-29 10:29:08 +02:00
patrickdown
391a1bf60e Implemented texture_2D_layered_initialize 2023-05-27 12:53:59 -05:00
Dani Frank
6d3634e29f fix gles texture uniform array binding 2023-05-26 23:11:02 +03:00
Allen Pestaluky
51f0e36509 Fixed issues with blend modes in OpenGL 3 renderer
Added uses_blend_alpha = true for ADD, SUBTRACT, and MULTIPLY blend modes to match the other renderers

Fixes #76334
2023-05-24 10:35:23 -04:00
Rémi Verschelde
05ddc822fb
Merge pull request #77265 from lyuma/aabb_bone_lod_inside
Fix calculation of skinned AABB for unused bones.
2023-05-22 13:49:19 +02:00
Lyuma
791d8001db Fix AABB for unused bones
Fixes bug where bounding box of 1 unit was used in some skinned models and had wrong LODs.
(this could become very large if the mesh is scaled, such as FBX conversions)
Also fixes a mistake in calcualting bone index.
2023-05-19 19:47:52 -07:00
Markus Grafen
8a3e829930 (Re-)Implemented Light3D's property "shadow_reverse_cull_face"
The parameter shadow_reverse_cull_face is now passed to the shadow pass so that the mesh back-faces are used for shadow map calculation.
2023-05-19 19:22:10 +02:00
Bram Stolk
14494e08d1 Initialize light intensity parameter before use.
Unlike renderer_rd, the gles3 light storage fails to initialize
the intensity of the light.
To avoid using garbage memory, possibly NaN, we use the same
default value that renderer_rd uses.
Fixes #76956
2023-05-11 09:46:46 -07:00
Bastiaan Olij
c328676d96 For GDExternal use, provides access to internal graphics handles for textures 2023-05-09 13:47:22 +10:00
Max Hilbrunner
39d85308fd
Merge pull request #76109 from paddy-exe/fix-node-position-view 2023-05-05 14:35:41 +02:00
Johan Aires Rastén
8452e6cdb3 Add SPECULAR_AMOUNT spatial light shader built-in
Light3D has a light_specular property which is used to set the
intensity of specular contributed by this light source, but it was
previously only used by the default material light shader, and not
possible to use in a custom light() shader.
2023-05-04 09:15:12 +02:00
Patrick
e35bbd76a3 Fix Rotation Issue with NODE_POSITION_VIEW Visual Shader Node 2023-05-03 19:59:43 +02:00
Johan Aires Rastén
14a8124ffe Add LIGHT_IS_DIRECTIONAL built-in for spatial shaders 2023-04-20 14:33:30 +02:00
clayjohn
9be0a73294 Add EXPOSURE built in to spatial shaders
This allows users to restore light values to pre-pre-exposure amounts
2023-04-12 10:35:13 -07:00
Rémi Verschelde
5e34a28bd7
Merge pull request #73313 from clayjohn/particles-split
Properly calculate lifetime_split for particles
2023-04-12 17:01:17 +02:00
Rémi Verschelde
347a8e20ae
Merge pull request #69324 from RedMser/advanced-settings-errors
Make it easier to solve warnings/errors referring to project settings
2023-04-11 19:39:53 +02:00
Rémi Verschelde
154a29d33a
Merge pull request #74808 from bradc6/feature/AllowCustomOutputShaderGenFilepaths
Allow for shaders to be generated outside of the source tree
2023-04-03 16:01:32 +02:00
Yuri Sizov
fe0949e950
Merge pull request #72361 from the-brickster/master
Incorporating the availability of screen and depth textures for the GLES3 backend
2023-03-27 16:24:01 +02:00
RedMser
ed960453b7 Make solving project setting errors easier
Show full project setting path in error messages.
Force filtering for advanced settings if filter is not empty.
2023-03-27 08:10:35 +02:00
Bradley Clemetson
2302c7102f
Allow for external python scripts to call the build python headers via external scripts
Change GLES3 to not use a relative path
Make the parameters more explicit and ensure the shaders generated are not using relative paths
2023-03-19 21:18:52 -07:00
Yuri Sizov
ded38c5d75
Merge pull request #73839 from clayjohn/OUTPUT_IS_SRGB
Clean up OUTPUT_IS_SRGB redefinitions
2023-03-16 13:03:37 +01:00
Bastiaan Olij
70dca9ff55 Merge duplicate rd_texture functions 2023-03-10 21:37:01 +11:00
Rémi Verschelde
d150bb84a6
Merge pull request #74566 from clayjohn/GL-canvas-texture
Avoid copying CanvasTexture when updating proxy
2023-03-08 08:59:04 +01:00
Rémi Verschelde
a0ff87f48d
Merge pull request #74416 from SlugFiller/fix-skeleton2d-aabb
Fix AABB calculation for meshes using Skeleton2D
2023-03-08 08:56:12 +01:00
clayjohn
84482ef90b Avoid copying CanvasTexture when updating proxy 2023-03-07 12:48:32 -08:00
SlugFiller
06a1fe0364 Fix AABB calculation for meshes using Skeleton2D 2023-03-05 08:21:08 +02:00
clayjohn
46b416f3b1 Add proper default texture filter and repeat modes for Canvas shaders in the OpenGL3 renderer 2023-03-03 10:58:57 -08:00
Rémi Verschelde
ec6e072836
Merge pull request #73966 from the-brickster/GLES3_GL_POINT_FIX
Solution for resolving the issue of point size not functioning correctly in GLES3
2023-03-02 11:23:48 +01:00
clayjohn
c69b14e96e Add warnings for unsupported features in mobile and gl_compatibility backends 2023-02-26 12:28:02 -08:00
LandoUWB
f23f0a27c1 Commit Fix for GLES3 point size not working 2023-02-25 23:39:43 -08:00
clayjohn
316cf04059 Clean up OUTPUT_IS_SRGB redefinitions 2023-02-23 12:56:42 -08:00
Yuri Rubinsky
94831c7209 Forbid passing multiview sampler to the custom function in shaders 2023-02-21 11:23:17 +03:00
LandoUWB
98697b05d8 Incorporating the availability of screen and depth textures for the GLES3 backend 2023-02-16 21:18:58 -08:00
clayjohn
f35ca4a9c7 Properly calculate lifetime_split for particles 2023-02-14 14:37:47 -08:00
Rémi Verschelde
1a206d0e22
Merge pull request #73263 from clayjohn/render_priority
Notify mesh surface when render_priority changes
2023-02-14 11:05:28 +01:00
clayjohn
d3b3419aff Notify mesh surface when render_priority changes
This ensures that the mesh properly takes render_priority into account when changed
2023-02-13 18:09:33 -08:00
Rémi Verschelde
0668e0f5a9
Merge pull request #69001 from dzil123/fix_rendering_checks
Fix various missing rendering parameter checks
2023-02-13 21:07:05 +01:00
clayjohn
56450fb179 Implement cull_mask for decals and lights in mobile and compatibility backends 2023-02-06 12:12:47 -08:00
Ricardo Buring
497f5576c1 Fix MultiMesh visible_instance_count being ignored after the first frame
Co-authored-by: Clay John <claynjohn@gmail.com>
2023-02-03 11:40:39 -08:00
Ricardo Buring
086b9e0c59 Notify dependencies when setting custom mesh AABB
Fixes SoftBody3D culling issues.
2023-02-02 23:31:27 +01:00
Rémi Verschelde
ab4d8df163
Merge pull request #72485 from BastiaanOlij/add_eye_matrix_access
Expose EYE_OFFSET to gdshader code
2023-02-01 07:33:18 +01:00
Rémi Verschelde
92f3725da8
Merge pull request #72474 from clayjohn/GL-leaky-tex
Avoid leaking texture->tex_id when clearing render targets
2023-02-01 07:32:05 +01:00
Rémi Verschelde
3eb1ac9fd2
Merge pull request #72075 from Maran23/extents-to-size
Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal  and GPUParticles*3D
2023-02-01 07:30:09 +01:00
Bastiaan Olij
8c77aea9ab Expose EYE_OFFSET to gdshader code 2023-02-01 12:39:13 +11:00
clayjohn
a919c6184e Avoid leaking texture->tex_id when clearing render targets 2023-01-31 13:39:39 -08:00
Marius Hanl
a59819630d Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and GPUParticles*3D
- Extents are replaced by Size (Size is Extents * 2)
- The UI text displays 'Size'
- Snapping is adjusted to work with Size
- _set and _get handle extents for compatibility

Co-authored-by: ator-dev <dominic.codedeveloper@gmail.com>
2023-01-31 20:04:11 +01:00
Juan Linietsky
28f51ba547 Refactor high quality texture import
* Only two texture import modes for low/high quality now:
  * S3TC/BPTC
  * ETC2/ASTC
* Makes sense given this is the general preferred and most compatible combination in most platforms.
* Removed lossy_quality from VRAM texture compression options. It was unused everywhere.
* Added a new "high_quality" option to texture import. When enabled, it uses BPTC/ASTC (BC7/ASTC4x4) instead of S3TC/ETC2 (DXT1-5/ETC2,ETCA).
* Changed MacOS export settings so required texture formats depend on the architecture selected.

This solves the following problems:

* Makes it simpler to import textures as high quality, without having to worry about the specific format used.
* As the editor can now run on platforms such as web, Mac OS with Apple Silicion and Android, it should no longer be assumed that S3TC/BPTC is available by default for it.
2023-01-30 15:53:23 +01:00
clayjohn
eb9c2b878a Automatically transform Skeleton2D calculations so pivots are not needed 2023-01-27 14:55:22 -08:00