Milan Gruner
45a33cc749
Implement render mode fog_disabled and BaseMaterial3D setting Disable Fog
2023-09-05 18:15:02 +02:00
bitsawer
836705d7a9
Reset SDFGI when changing editor scene tabs
2023-08-30 19:50:05 +03:00
Patrick
c98ab5aba3
Add option to use world coordinates in canvas item shader
...
By using the render mode `world_vertex_coords` you can automatically use the vertex coordinates in world space
2023-08-30 15:32:18 +02:00
Rémi Verschelde
fd7b27a473
Merge pull request #80909 from adamscott/web-fix-max-uniform-buffer-size-overflow
...
Fix integer value for `GL_MAX_UNIFORM_BLOCK_SIZE` overflowing
2023-08-28 15:03:50 +02:00
Juan Linietsky
407b16ab00
Debug CanvasItem redraw
...
I wanted to add this tool for years and always forget. This command line option:
```
$ godot.exe -e --debug-canvas-item-redraw
```
Allows to see when a canvas item is redrawn. This helps find out if something
in the UI is refreshing in a way it should not. Examples as such:
* Signals causing more of the UI to redraw.
* Container resizing causes more UI elements to redraw.
* Something using a timer is redrawing all time time, which can go unnoticed.
To my surprise, the editor UI is redrawing very efficiently. There is some
weird stuff with the scene tabs, redrawing when the inspector changes but most
things for the most part are fine.
2023-08-28 12:53:56 +02:00
jsjtxietian
d48b95a305
fix glMapBufferRange return null when r_index + last_item_index > max_instances
2023-08-27 18:00:35 +08:00
Adam Scott
9c7db7397f
Fix integer value for GL_MAX_UNIFORM_BLOCK_SIZE overflowing
2023-08-25 10:19:25 -04:00
A Thousand Ships
6cb28e481f
Fix memory access error for `MultiMesh` with GLES3
...
Buffer was incorrectly assigned when invalid data was provided
2023-08-19 16:01:21 +02:00
Rémi Verschelde
5541567c1a
Merge pull request #80151 from WhalesState/Dev1
...
Fix GLES3 changing 2D shadow atlas size is broken
2023-08-17 11:23:24 +02:00
Mounir Tohami
2987dd0c71
fix GLES3 changing 2d shadow atlas size is broken
2023-08-16 15:58:23 +00:00
bitsawer
41def3740a
Fix global shader uniform texture loading
2023-08-15 14:18:26 +03:00
clayjohn
57eb762bae
Add option to enable HDR rendering in 2D
...
This is needed to allow 2D to fully make use of 3D effects (e.g. glow), and can be used to substantially improve quality of 2D rendering at the cost of performance
Additionally, the 2D rendering pipeline is done in linear space (we skip linear_to_srgb conversion in 3D tonemapping) so the entire Viewport can be kept linear.
This is necessary for proper HDR screen support in the future.
2023-08-07 11:24:03 +02:00
Yuri Sizov
bffbc5dd3e
Merge pull request #80070 from clayjohn/GLES3-depth-prepass
...
Enable depth writes during shadow pass and depth pass. Disable during color pass
2023-08-01 17:26:00 +02:00
clayjohn
b986afed46
Enable depth writes during shadow pass and depth pass. Disable during color pass
...
This fixes an unreported performance bug. Basically, without this change, the depth prepass did nothing
2023-07-30 21:59:28 +02:00
LRFLEW
6effd3cde7
Fix transparent viewport backgrounds with custom clear color
2023-07-30 06:19:47 -05:00
Yuri Sizov
1fe49e7271
Merge pull request #79142 from BastiaanOlij/register_render_buffers
...
Expose RenderSceneBuffers(RD) through ClassDB
2023-07-27 15:22:27 +02:00
Yuri Sizov
d894a2ff57
Merge pull request #79883 from clayjohn/GLES3-shader-cache-dir
...
Check if shader cache directory is available before using cache
2023-07-26 18:40:35 +02:00
Bastiaan Olij
4874b96033
Expose RenderingSceneBuffers through ClassDB
2023-07-26 23:48:30 +10:00
Bastiaan Olij
63d6e9c557
Add custom texture create function
2023-07-26 20:46:34 +10:00
Yuri Sizov
3f2e901633
Merge pull request #79865 from clayjohn/discard-shader
...
Fix use of discard in shaders
2023-07-25 21:26:27 +02:00
Yuri Sizov
08cffc128f
Merge pull request #79812 from ParsleighScumble/parsleigh/init-sky-scene-state
...
Use defaults to initialize sky data in case of no sky
2023-07-25 21:26:23 +02:00
clayjohn
52fb5bf986
Check if shader cache directory is available before using cache
2023-07-25 14:33:37 +02:00
Clay
7c812cd7e9
Fix use of discard in shaders
...
discard was being included in all shaders set to depth pass opaque, which is the majority of shaders
Instead it should only be used with alpha prepass materials
2023-07-24 23:21:04 +02:00
Parsleigh Scumble
67c13fe4eb
Use defaults to initialize sky data in case of no sky
2023-07-24 10:41:13 -07:00
Yuri Sizov
b1f4e58bbf
Merge pull request #79772 from Malcolmnixon/gles-skeletons
...
Unbind the framebuffer when updating meshes
2023-07-24 19:33:27 +02:00
Yuri Sizov
4ba24f6492
Merge pull request #79685 from LRFLEW/glinval
...
GLES3: Don't call `glTexParameter*` for invalid filter and repeat modes
2023-07-24 19:33:12 +02:00
Yuri Sizov
3e9fadc1dd
Merge pull request #79660 from bitsawer/fix_opengl_multimesh
...
Fix GLES3 multimesh rendering when using colors or custom data
2023-07-24 19:33:05 +02:00
LRFLEW
3e9173f11a
GLES3: Don't call glTexParameter* for invalid filter and repeat modes
2023-07-21 19:26:57 -05:00
Malcolm Nixon
679f5bf410
Unbind the framebuffer when updating meshes.
...
While the vertex shaders used to update the meshes aren't actually rendering to the framebuffer, they may still refuse to run with some framebuffers bound - such as XR with multiple views.
2023-07-21 19:34:12 -04:00
bitsawer
9897f1cfb9
Fix GLES3 multimesh rendering when using colors or custom data
2023-07-20 11:54:34 +03:00
LRFLEW
90f0e97eb9
GLES3: reset anisotropic filtering when changing texture filtering mode
2023-07-17 00:18:39 -05:00
Yuri Sizov
bb15241e06
Merge pull request #77740 from ChibiDenDen/simplify_vulkan
...
Replace sampler arrays with constant sampler elements, simplify and reuse code for all shaders
2023-07-12 17:16:12 +02:00
Yuri Sizov
a33b548092
Merge pull request #78168 from clayjohn/GLES3-gaussian-rt
...
Use Gaussian approximation for backbuffer mipmaps in GL Compatibility renderer
2023-07-12 15:08:57 +02:00
Rémi Verschelde
c566b03f26
Merge pull request #78852 from clayjohn/Particles-glitch
...
Initialize particles instance buffer in case it is used before being updated
2023-07-07 08:28:28 +02:00
clayjohn
35ed7c770b
Initialize particles instance buffer in case it is used before being updated
2023-06-29 13:24:40 -07:00
clayjohn
7c37a32897
Use a filter with mipmaps when initializing textures with mipmaps in GL Compatibility renderer
...
This works around a driver bug in some older devices and should be harmless on any spec-compliant device
2023-06-26 10:45:24 -07:00
clayjohn
cc89321c9c
Reset filter/repeat state of textures in GL Compatibility renderer when render target is cleared
2023-06-23 10:57:56 -07:00
Brecht Kuppens
55fc56bfd4
Moved variables closer to usage to fix unused variable warning
2023-06-22 23:01:09 +02:00
Rémi Verschelde
cb73a6e9f9
Merge pull request #78490 from clayjohn/GLES3-particles-subemit
...
Add warnings and fallbacks for particles sub emitters when using the GL Compatibility rendering backend
2023-06-22 21:02:38 +02:00
Qiqi Wu
df740f6865
free color and depth texture after check framebuffer complete failed
2023-06-22 09:13:24 +08:00
ChibiDenDen
35715e510f
replace sampler arrays with constant sampler elements
2023-06-22 01:11:57 +03:00
clayjohn
8a5af8183a
Add warnings and fallbacks for particles sub emitters when using the GL Compatibility rendering backend
...
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-06-21 12:56:52 -07:00
bitsawer
dab0871d41
Fix invalid RID errors when freeing a mesh with blend shapes
2023-06-19 11:07:15 +03:00
Qiqi Wu
c8e3f00e5d
GLES3: Remove unimplemented texture_create() declaration
2023-06-16 18:58:23 +08:00
Rémi Verschelde
7dddd8a22c
Merge pull request #78302 from clayjohn/GLES3-screen-warning
...
Remove outdated warning when using screen texture in GL Compatibility renderer
2023-06-16 10:23:27 +02:00
Rémi Verschelde
9e81aeda33
Merge pull request #78287 from clayjohn/GLES3-texture-replace
...
Copy texture filter/repeat modes when replacing a texture in the GL Compatibility backend
2023-06-16 10:23:03 +02:00
Rémi Verschelde
1710a7d303
Merge pull request #78285 from clayjohn/GLES3-viewport-filter
...
Ensure filter/repeat is cached by Viewport texture in GL Compatibility renderer
2023-06-16 10:22:33 +02:00
clayjohn
36a005fafc
Add RENDERING_INFO parameters to GL Compatibility renderer
...
This also fixes RENDERING_INFO_TOTAL_PRIMITIVES_IN_FRAME for the RD renderers as it was incorrectly reporting vertex/index count at times
This also adds memory tracking to textures and buffers to catch memory leaks.
This also cleans up some memory leaks that the new system caught.
2023-06-16 09:10:00 +02:00
clayjohn
8a7f02addb
Remove outdated warning when using screen texture in GL Compatibility renderer
2023-06-15 18:48:50 -07:00
clayjohn
96b2743782
Ensure filter/repeat is cached by Viewport texture in GL Compatibility renderer
2023-06-15 13:08:55 -07:00
clayjohn
3e211b7f74
Copy texture filter/repeat modes when replacing a texture in the GL Compatibility backend
2023-06-15 13:06:42 -07:00
clayjohn
0b7e2dfdfc
Ensure that "detect 3D" is only called when using 3D shaders
2023-06-13 13:20:11 -07:00
clayjohn
9721a27427
Use Gaussian approximation for backbuffer mipmaps in GL Compatibility renderer
2023-06-12 21:51:23 -07:00
Rémi Verschelde
9ce42d176d
Merge pull request #76977 from manueldun/light-shader-builtins
...
Enable the use of all supported builtins on the light shader
2023-06-09 11:04:46 +02:00
Rémi Verschelde
166643df32
Merge pull request #74937 from bitsawer/fix_uniform_storage
...
Fix shader uniform storage conversions and crash
2023-06-09 11:04:16 +02:00
Manuel Dun
e2321c21db
Enable the use of all builtins on the light shader
...
When using the light process in spatial shader,
the built-ins work as spected, now they work in forward+,
mobile and compatibility renderer.
2023-06-08 14:14:14 -04:00
clayjohn
05142b6228
Properly update array textures when using the OpenGL backend to avoid crash
2023-06-07 15:44:11 -07:00
Rémi Verschelde
e75285f69f
Merge pull request #77946 from bruvzg/opengl_blend_cache
...
[OpenGL] Fix LCD blend mode color caching.
2023-06-07 11:02:30 +02:00
bruvzg
a2abea8b98
[OpenGL] Fix LCD blend mode color caching.
2023-06-07 10:55:38 +03: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
bitsawer
23c375d6b4
Fix shader uniform storage conversions and crash
2023-05-29 15:17:13 +03: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
Yuri Sizov
f6dcd7f51a
Merge pull request #75181 from dalexeev/fix-light-only-mode
...
Fix "Light Only" mode of `CanvasItemMaterial`
2023-05-27 17:28:29 +02:00
Dani Frank
6d3634e29f
fix gles texture uniform array binding
2023-05-26 23:11:02 +03:00
Rémi Verschelde
2ab0f17f3b
Merge pull request #77409 from allenwp/OpenGL3-Blend-Issue76334
...
Fixed issues with blend modes in OpenGL 3 renderer
2023-05-24 18:36:06 +02: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
852740a627
Merge pull request #76053 from MightiestGoat/fix-sky-auto-exposure
...
Fix the grainy sky while using debanding.
2023-05-24 08:46:28 +02: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
ChibiDenDen
14e9a61ebc
Verify gles3 cached shader load successful
2023-05-17 19:36:30 +03:00
Danil Alexeev
43b0702a02
Fix "Light Only" mode of `CanvasItemMaterial`
2023-05-13 09:06:09 +03: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
Rémi Verschelde
564d1b34e0
Merge pull request #74711 from BastiaanOlij/add_texture_native_handle
...
Provide access to internal graphics handles for textures
2023-05-09 19:28:26 +02:00
Rémi Verschelde
1c7a62d2c0
Merge pull request #76092 from ChibiDenDen/shader_cache_gles3
...
Add shader cache to gles3
2023-05-09 10:45:10 +02:00
Bastiaan Olij
c328676d96
For GDExternal use, provides access to internal graphics handles for textures
2023-05-09 13:47:22 +10:00
Rémi Verschelde
e370b3538b
Merge pull request #74945 from ChibiDenDen/patch-3
...
Fix gles3 rendering on android studio emulator
2023-05-08 13:52:28 +02:00
ChibiDenDen
6441210177
Add ARB_get_program_binary to glad to support shader cache over desktop GL
2023-05-06 00:20:37 +03: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
ChibiDenDen
5956aa1a6a
Fix gles3 rendering on android studio emulator
...
Use a temporary framebuffer for screen copy from rendertarget to screen.
This solves GLES3 rendering in android studio emulator (before this change there is just a black screen)
Based on discussion in:
https://github.com/godotengine/godot/issues/74828
2023-04-29 16:21:54 +03:00
Johan Aires Rastén
14a8124ffe
Add LIGHT_IS_DIRECTIONAL built-in for spatial shaders
2023-04-20 14:33:30 +02:00
clayjohn
ab603e347f
Clamp normal when calculating 2D lighting to avoid artifacts
2023-04-18 17:26:17 -07:00
ChibiDenDen
4adbfcfbb2
Add shader cache to gles3
2023-04-15 18:41:10 +03:00
mightygoat
69f634ac78
Fix the grainy sky while using debanding
2023-04-15 10:43:46 +05:30
Rémi Verschelde
e6e52f9154
Merge pull request #75162 from ecmjohnson/gpuparticles_inf_translate
...
GPUParticles3D: Translate inactive particles to -INF
2023-04-13 09:53:04 +02:00
Erik Johnson
6229c2a1f9
Translate inactive particles to -INF
2023-04-12 19:32:39 -04: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
6e0c7d6a98
Merge pull request #75968 from clayjohn/GL-depth-write
...
Ensure that depth write state is updated before transparent pass in OpenGL3 renderer
2023-04-12 09:08:30 +02:00
Rémi Verschelde
ecbb196728
Merge pull request #75954 from clayjohn/GL-multimesh-one
...
Check for instancing without relying on instance_count when drawing 2D meshes
2023-04-12 09:08:06 +02:00
Rémi Verschelde
6a6e36ec6a
Merge pull request #75795 from cody82/fix-html-particle-shader
...
Fix "error X3708: continue cannot be used in a switch" in HTML export
2023-04-12 09:06:57 +02:00
clayjohn
ed0c378bda
Ensure that depth write state is updated before transparent pass in OpenGL3 renderer
2023-04-11 21:17:24 -07:00
clayjohn
579ca03e88
Check for instancing without relying on instance_count when drawing 2D meshes
...
This ensures that Particles and MultiMeshes still draw when instance_count is 1
2023-04-11 16:58:42 -07: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
cody
5062df41a5
Fix "error X3708: continue cannot be used in a switch" in HTML export
2023-04-07 23:16:10 +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
23bbf6b37c
Merge pull request #74533 from SlugFiller/fix-clip-no-children
...
Fixes a canvas item set to clip children being drawn as black if no children are visible
2023-03-08 08:57:00 +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
f25508befb
Fixes a canvas item set to clip children being drawn as black if no children are visible
2023-03-07 09:53:26 +02: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
Rémi Verschelde
5e57205365
Merge pull request #73478 from NewDefectus/master
...
Use the original canvas to calculate light positioning
2023-02-21 21:14:51 +01:00
Alon Ran
2d7db30f0d
Use the original canvas to calculate light positioning
2023-02-21 11:57:16 +02:00
Yuri Rubinsky
94831c7209
Forbid passing multiview sampler to the custom function in shaders
2023-02-21 11:23:17 +03:00
Rémi Verschelde
d68cfb43ef
Merge pull request #73662 from BastiaanOlij/fix_opengl_wobbly_sky
...
Fix wobbly sky in stereoscopic OpenGL
2023-02-21 07:16:21 +01:00
Rémi Verschelde
c71fea4467
Merge pull request #73659 from BastiaanOlij/fix_opengl_clearscreen
...
Fix issue with clearing screen after part has been drawn
2023-02-21 07:16:00 +01:00
Bastiaan Olij
2852c9c319
Fix wobbly sky in stereoscopic OpenGL
2023-02-21 16:11:57 +11:00
Bastiaan Olij
67cb660532
Fix issue with clearing screen after part has been drawn
2023-02-21 14:18:23 +11:00
ChibiDenDen
aeab31b13a
Fix bufSize parameter for glGetSynciv
...
According to the docs:
https://registry.khronos.org/OpenGL-Refpages/es3.0/html/glGetSynciv.xhtml
Bufsize is in integers, not bytes.
The current code overflows data unto other stack variables.
2023-02-20 11:35:28 +02:00
Rémi Verschelde
37589edf17
Merge pull request #73524 from clayjohn/GL-occluder
...
Avoid unnecessary binding of occlusion polygon vertex array
2023-02-18 16:19:44 +01:00
clayjohn
5bbf5b8e72
Avoid unecessary binding of occlusion polygon vertex array
...
By binding this and unbinding it, the state was getting modified in other parts of the pipeline
2023-02-17 13:11:25 -08:00
LandoUWB
98697b05d8
Incorporating the availability of screen and depth textures for the GLES3 backend
2023-02-16 21:18:58 -08:00
rsjtdrjgfuzkfg
7f8fa79e94
OpenGL: fix culling without depth prepass
...
This commit ensures a known backface culling state when rendering, even
if no depth prepass is used. This fixes backside culling not being
applied properly in some situations, most notably in scenes that only
use backside culling on mobile platforms.
2023-02-17 00:01:36 +01:00
Rémi Verschelde
aa6ec76317
Merge pull request #73332 from clayjohn/GL-h2f-branch
...
Avoid branch in half2float in gl_compatibility renderer
2023-02-15 22:46:47 +01:00
clayjohn
58bad55d42
Avoid branch in half2float in gl_compatibility renderer
2023-02-14 20:31:36 -08:00
clayjohn
f35ca4a9c7
Properly calculate lifetime_split for particles
2023-02-14 14:37:47 -08:00
clayjohn
081b31d200
Clear Window before blitting Viewport in gl_compatibility renderer
2023-02-14 10:30:02 -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
Rémi Verschelde
1f18e16a32
Merge pull request #73255 from clayjohn/GLES3-batch-blend
...
Store blend mode between CanvasItems to preserve batching
2023-02-14 11:01:44 +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
clayjohn
ab4e79cd03
Store blend mode between CanvasItems to preserve batching
2023-02-13 14:46:26 -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
f6d22df072
Properly reset blend mode when resetting canvas in compatibility renderer
2023-02-09 15:50:17 -08:00
JoJoX
a7f3b4459a
Handle 0 exponent in float/half conversion for OpenGl
2023-02-08 20:41:44 +01:00
clayjohn
76caf3fbae
Set instancing flags when using GPUParticles in OpenGL renderer
2023-02-07 10:45:34 -08:00
clayjohn
56450fb179
Implement cull_mask for decals and lights in mobile and compatibility backends
2023-02-06 12:12:47 -08:00
Yuri Sizov
2bd5302704
Merge pull request #72695 from clayjohn/CanvasGroup-shading
...
Avoid shading CanvasGroup nodes twice
2023-02-04 21:38:25 +03:00
clayjohn
dfbf439081
Avoid shading CanvasGroup nodes twice
2023-02-03 15:40:42 -08:00
Rémi Verschelde
0b1d516f67
Merge pull request #72684 from clayjohn/mm-update
...
Fix MultiMesh visible_instance_count being ignored after the first frame
2023-02-04 00:40:36 +01:00
Rémi Verschelde
a268dcc7e3
Merge pull request #72690 from Calinou/opengl-trim-gpu-name
...
Trim "/PCIe/SSE2" from GPU names when starting the OpenGL renderer
2023-02-04 00:37:28 +01:00
Rémi Verschelde
1253547837
Merge pull request #72681 from clayjohn/GL-multimesh-color
...
Ignore instance color and instance custom_data when not used in the OpenGL renderer
2023-02-04 00:24:39 +01:00
Hugo Locurcio
da81c3f9b5
Trim "/PCIe/SSE2" from GPU names when starting the OpenGL renderer
...
This makes the command line print consistent with the Vulkan renderer.
2023-02-03 23:28:41 +01: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
clayjohn
bf0cc8f52a
Ignore instance color and instance custom_data when not used in the OpenGL renderer
2023-02-03 10:34:30 -08:00
Hugo Locurcio
f3e8300b50
Print name of Vulkan rendering method on startup
...
This helps troubleshooting as the CLI logs now distinguish between
Forward+ and Forward Mobile.
2023-02-03 13:01:48 +01:00
Ricardo Buring
086b9e0c59
Notify dependencies when setting custom mesh AABB
...
Fixes SoftBody3D culling issues.
2023-02-02 23:31:27 +01:00
Ninni Pipping
e241f871a4
Fix texture rect transpose for OpenGL
2023-02-02 13:20:29 +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
897ee46888
Merge pull request #72227 from dsnopek/openxr-opengl-sky
...
Fix sky rendering with multiview in OpenGL
2023-02-01 07:32:29 +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
David Snopek
bd9dfcff3d
Fix sky rendering with multiview in OpenGL
2023-01-31 11:36:14 -06:00
Rémi Verschelde
c24e0065b2
Merge pull request #72433 from clayjohn/Pointlight2D-crash
...
Avoid crash when CanvasTexture used with light decal atlas
2023-01-31 10:54:02 +01:00
clayjohn
cfd5fe0f29
Avoid crash when CanvasTexture used with light decal atlas
...
The decal atlas is used for Light2Ds, decals, and Light3Ds
2023-01-30 20:59:53 -08: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
Rémi Verschelde
fca400450c
Merge pull request #72291 from clayjohn/GL-item-cap
...
Remove cap on number of items drawn in frame in 2D gl_compatibility renderer
2023-01-29 14:12:38 +01:00
clayjohn
0b28c1f8ed
Remove cap on number of items drawn in frame in 2D gl_compatibility render
...
Also clean up some names to make the overall organization more clear
Also remove cap on items per batch
2023-01-28 20:36:17 -08:00
clayjohn
eb9c2b878a
Automatically transform Skeleton2D calculations so pivots are not needed
2023-01-27 14:55:22 -08:00
Rémi Verschelde
6f7793ce1a
Merge pull request #71581 from clayjohn/dependency-changed
...
Flag dirty dependencies when GeometryInstance dependencies change in renderer
2023-01-26 22:57:32 +01:00
Rémi Verschelde
3cacc83526
Merge pull request #72138 from clayjohn/GL-globals
...
Properly append global uniform buffer name in gl_compatibility shaders
2023-01-26 22:52:42 +01:00
clayjohn
eefddb07bc
Properly append global uniform buffer name in gl_compatibility shaders
...
Also error when using instance uniforms
2023-01-26 12:14:45 -08:00
bruvzg
653799bb38
Fix LCD font AA on OpenGL renderer.
2023-01-26 18:45:18 +02:00
Rémi Verschelde
4b0363312e
Merge pull request #71455 from BastiaanOlij/fix_stereo_screen_depth
...
Make screen texture and depth texture work in Multiview
2023-01-26 01:11:02 +01:00
Bastiaan Olij
85c478e170
Make screen texture and depth texture work in Multiview
2023-01-25 13:35:01 +11:00
Rémi Verschelde
a6042b649a
Merge pull request #71832 from Geometror/fix-spotlight-artifacts
...
Fix some `SpotLight3D` issues (clustering artifacts, leaking light, AABB)
2023-01-24 09:15:26 +01:00
Hendrik Brucker
4bd01a93dc
Fix some SpotLight3D issues (clustering artifacts, light leak)
2023-01-24 01:08:32 +01:00
jainl28patel
2da3acf620
fix ReflectionProbe rendering extents for (10,10,10)
2023-01-24 00:32:24 +05:30
bruvzg
1cc5524b81
[iOS] Restore OpenGLES3 renderer support.
2023-01-22 13:59:52 +02:00
Rémi Verschelde
23d8d44535
Merge pull request #71776 from clayjohn/PointLight2D-indices
...
Stop incrementing light_count once max number of lights are reached in 2D canvas renderer
2023-01-21 10:28:50 +01:00
clayjohn
d3c3fa32af
Stop incrementing light_count once max number of lights are reached in 2D canvas renderer
2023-01-20 17:04:00 -08:00
Rémi Verschelde
4db3716d8d
Merge pull request #71772 from clayjohn/GLES3-li
...
Assign light indices after sorting in OpenGL renderer
2023-01-21 01:43:08 +01:00
clayjohn
6d0af4fcd8
Assign light indices after sorting in OpenGL renderer
...
This ensures that the light indices sent to the shader actually match where the light is saved
2023-01-20 15:41:20 -08:00
clayjohn
49bebf2bfb
Sort decals and lights based on camera origin
...
Also implement sort_offset for decals
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-01-20 09:58:17 -08:00
clayjohn
faea9f5c10
Remove SCREEN_TEXTURE, DEPTH_TEXTURE, and NORMAL_ROUGHNESS_TEXTURE
...
in favour of texture hints
2023-01-18 19:52:47 -08:00
clayjohn
c4a8284dec
Flag dirty dependencies when GeometryInstance dependencies change in renderer
...
Normally dependencies are only set dirty when changed during culling, but that misses changes that happen in the renderer (like a new shader being set in a material)
2023-01-17 12:39:13 -08:00
clayjohn
eace1276a5
Decompress RA_AS_RG formats on Web platform in GLES3 renderer and disable texture swizzling
...
While using compressed formats is allowed, the RA_AS_RG formats need texture swizzling which is not available on web
2023-01-17 10:48:04 -08:00
Rémi Verschelde
226daf9b59
GLES3: Fix canvas shader use of undefined draw_data
...
Fixes #71551 .
2023-01-17 13:17:53 +01:00
Rémi Verschelde
59dcf64dd6
Merge pull request #71382 from jainl28patel/sprite2d_flip_normal_map
...
fix normal map not flipping in sprite2D
2023-01-17 10:56:44 +01:00
Rémi Verschelde
ac104a69b8
Merge pull request #71309 from BastiaanOlij/improve_renderscaling_options
...
Improving communication of scaling settings to renderer implementation
2023-01-14 14:45:02 +01:00
jainl28patel
390f83bf5a
fix normal map not flipping in sprite2D
2023-01-14 11:51:56 +05:30
Yuri Rubinsky
01cddbb12a
Clear material arrays to prevent freeing of invalid texture RID
2023-01-13 23:25:09 +03:00
Bastiaan Olij
478c37deb8
Improving communication of scaling settings to renderer implementation
2023-01-13 12:54:15 +11:00
rsjtdrjgfuzkfg
ebe1123532
OpenGL: Support FORMAT_{ETC2,DXT5}_RA_AS_RG
...
This commit adds support for FORMAT_EXT2_RA_AS_RG and
FORMAT_DXT5_RA_AS_RG with OpenGL, fixing VRAM compression with the
normal map option enabled.
2023-01-11 22:58:11 +01:00
clayjohn
f78b492682
Properly map shader language texture hints to sampler hints in GLES3 renderer
2023-01-06 15:52:12 -08:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
clayjohn
062fb8b0dc
Ignore depth draw optimization when using depth draw alpha prepass
...
This is necessary as the scene shader still uses alpha in this case so we can't discard fragments that weren't written to the depth buffer
2023-01-03 12:33:07 -08:00
Rémi Verschelde
f064898956
Merge pull request #70253 from BastiaanOlij/cleanup_sky_render
...
Cleanup and improve sky render
2022-12-23 23:44:02 +01:00
Rémi Verschelde
1cab6c91e9
Merge pull request #69998 from BastiaanOlij/sorting-pivot-4
...
Added options for sorting transparent objects (port of PR #63040 )
2022-12-23 09:47:24 +01:00
Bastiaan Olij
e886a7af81
Cleanup and improve sky render
2022-12-23 19:45:19 +11:00
Bastiaan Olij
6f4f38db07
Added options for sorting transparent objects (port of PR 63040)
2022-12-23 19:30:33 +11:00
Rémi Verschelde
2b056115ef
Merge pull request #70091 from clayjohn/bone-aabbs
...
Remove mesh bone_aabbs as they are not used anywhere and calculating them is a pain
2022-12-17 12:32:32 +01:00
Rémi Verschelde
676f60b0cc
Merge pull request #70132 from clayjohn/RT-update
...
Implement render_target_was_used API so that Viewports can properly check if they have been used.
2022-12-17 12:26:51 +01:00
Rémi Verschelde
376290ea86
Merge pull request #70163 from clayjohn/particles-sdf
...
Transform sdf xfrom by particle emission transform when particles are in global space
2022-12-17 12:24:51 +01:00