0fccc9f393
Added S3TC_NOT_SUPPORTED define to be used by platforms externally.
2024-02-17 19:07:14 +01:00
cdb3f03e61
Added optional GLES2_LOAD_EXT_NO_DLCFN_AVAILABLE define for the rasterizer storage.
2024-02-17 19:04:57 +01:00
1d22053020
Moved dlfcn.h include in RasterizerStorageGLES2 to it's proper place according to the comment above it.
2024-02-17 18:57:33 +01:00
ae7409bf52
Ported: Fix signed distance field font rendering
...
This fix works in both GLES3 and GLES2.
The rendering formula in the shader was adjusted to further improve the
sharpness/antialiasing quality balance.
- lawnjelly and Calinou
bc607fb607
2024-02-08 19:11:34 +01:00
lawnjelly
3a04d5adfe
GLES2 / GLES3 - Use gl_FragColor temporary
...
On some hardware, modifying gl_FragColor multiple times can cause large performance drops. This PR writes to a standard temporary variable instead, and copies across to gl_FragColor once only at the end of the fragment shader.
This could potentially lead to large gains in performance on affected hardware.
2024-02-08 14:58:12 +01:00
Bartłomiej T. Listwon
7101e4aed7
Prevent shuffling custom shader functions (shader cache requires determinism)
2024-02-08 14:48:50 +01:00
Caroline Joy Bell
0f099eca32
Fix #if *_ENABLED
inconsistencies, should check if defined
...
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-02-08 14:16:03 +01:00
Rémi Verschelde
1c70f86950
Fix various GCC 13 warnings
...
Fixes occurrences of `-Wtype-limits`, `-Wmaybe-uninitialized`,
`-Wduplicated-branches`.
2023-12-20 22:57:54 +01:00
lawnjelly
96d23e1f29
Fix glGet overflows by using 64 bit versions
...
Certain glGet operations require 64 bit versions according to the GLES spec.
The previous code was susceptible to overflow bugs, especially running under ANGLE.
2023-12-20 22:39:02 +01:00
99621357a0
File copyright header updates pt4.
2023-12-17 22:50:00 +01:00
88e9ad04f2
Moved back the servers and resources from core.
2023-12-10 23:11:07 +01:00
238bf1b331
Moved the RenderingServer to core.
2023-12-10 19:04:24 +01:00
59ae5c4662
Ported from godot: add support for 3 dir shadow splits
...
- Ansraer
54bc6a300e
2023-10-02 18:12:54 +02:00
05c264c83c
Ported: Initialize GLWrapper earlier in Storage::initialize()
...
Make sure `GLWrapper` is initialized before `glActiveTexture` is called by other parts of the storage initialize(), to prevent benign warnings.
- lawnjelly
857d884026
2023-08-27 22:20:14 +02:00
fb142ed6f8
Ported: Unbind texture slots when changing framebuffer
...
Prevent bugs whereby texture still in use.
- lawnjelly
5e197fd21e
2023-08-27 22:19:07 +02:00
33d5dcf399
Ported: Hierarchical culling - Add extra check to skeleton_attach_canvas_item
...
Although this check shouldn't be able to fail currently, it provides a small level of extra logic checking at only small cost in DEV builds.
- lawnjelly
d7cca42ef6
2023-08-27 22:03:35 +02:00
26bb16d86e
Ported: Fix 2D MultiMesh hierarchical culling
...
Fixes updating local bounds for MultiMeshes used in canvas items by introducing a back link.
- lawnjelly
ad577e3c7e
2023-08-27 21:28:30 +02:00
The Benedani
d0972a7e36
GLES2: Make GPU skinning more consistent
2023-08-27 12:18:05 +02:00
834cbe8cef
Ported: Single Compilation Unit build.
...
Adds support for simple SCU build.
This speeds up compilation by compiling multiple cpp files within a single translation unit.
- lawnjelly
43e181a00a
2023-07-11 16:07:36 +02:00
5b869f8b54
Ported from godot: Canvas item hierarchical culling
...
Adds optional hierarchical culling to the 2D rendering (within VisualServer).
Each canvas item maintains a bound in local space of the item itself and all child / grandchild items. This allows branches to be culled at once when they don't intersect a viewport.
- lawnjelly
b777a9e5f9
2023-06-28 20:25:48 +02:00
c46c527f01
Backported: [3.x] Fix NODE_POSITION_VIEW Shader Built-In
...
- paddy-exe
67d3fe4075
2023-06-11 09:38:19 +02:00
552226ab5d
Backported: Backport spatial shader built-ins
...
Backport of this PR: godotengine#63597
This adds these as new Built-Ins to Spatial Shaders
* Object's Position in World Space
* Camera Position in World Space
* Camera Direction in World Space
* Object's Position in View Space
- paddy-exe
be3d331f26
2023-06-11 09:37:10 +02:00
43d1126b73
Ported: fix shadows pass viewport calculation.
...
([3.x] Fix shadows when using 2 directional lights)
- Ansraer
0227fcc4cc
2023-03-12 19:48:33 +01:00
30d7a3c5a7
Backported: GLES2 fix octahedral half float unpacking
...
The strides in _unpack_half_floats() were incorrectly calculated in the case where octahedral normals and tangents were in use.
- lawnjelly
c6a428b3d6
2023-02-07 01:01:48 +01:00
2cd4e4d828
Renamed Set to RBSet.
2023-01-15 19:42:08 +01:00
1b0aac6028
Renamed Map to RBMap.
2023-01-15 19:12:50 +01:00
norrath-hero
e1081d3d33
Fix GLES 2 Spotlight Bug
...
Fixes https://github.com/godotengine/godot/issues/69759
Fixes https://github.com/godotengine/godot/issues/54343
Fixes https://github.com/godotengine/godot/issues/25526
2022-12-22 14:38:33 +01:00
827638bfe0
Revert "Take FXAA samples from half-pixel coordinates to improve quality"
...
This reverts commit 8f0e3af2a2
.
2022-12-11 19:28:05 +01:00
clayjohn
8f0e3af2a2
Take FXAA samples from half-pixel coordinates to improve quality
...
(cherry picked from commit dbcc0fa2a60edb3f3e69b0b73e7c9c612872559e)
2022-11-30 19:09:24 +01:00
dzil123
298be38336
Fix shader compiler asan out of bounds
2022-11-30 14:34:44 +01:00
31491c78bc
Add back missing line.
2022-09-17 00:23:56 +02:00
lawnjelly
19dc79114d
Prevent drawing MultiMesh with zero instance count
...
Issuing a driver drawcall for MultiMesh with zero instances crashes some drivers.
2022-09-17 00:22:17 +02:00
lawnjelly
0dc54e449a
Fix GLES directional shadow uninitialized data
...
Valgrind shows directional_shadow.fbo accessed when uninitialized in directional_shadow_create.
2022-09-16 23:33:38 +02:00
e4ae7f2ebc
Renamed Environment to Environment3D, and WorldEnvironment to WorldEnvironment3D.
2022-08-29 17:21:40 +02:00
e2d42db711
Also renamed the files.
2022-08-19 21:24:36 +02:00
cffe742085
Renamed the VisualServer to RenderringServer like in Godot4, as I think it's a lot better name for it. I did not yet rename the files.
2022-08-19 20:50:20 +02:00
f1619cad4f
Ported: Add hint_transparent to use a transparent black placeholder texture - Calinou
...
ab9a95f266
2022-08-19 02:57:42 +02:00
686663d3e4
Moved around more classes in core.
2022-08-17 16:01:01 +02:00
04feb63860
Moved Engine and projectSettings.
2022-08-17 15:35:28 +02:00
220b2db443
Moved String and related classes under a string folder in core.
2022-08-17 14:19:55 +02:00
9555ee56b9
Moved Variant related classes under a variant folder in core.
2022-08-17 13:17:12 +02:00
388b88678e
Moved container related classes in core under a new containers directory.
2022-08-17 12:53:49 +02:00
8c2e76840c
Removed CameraMatrix, and switched to Projection.
2022-08-16 10:26:35 +02:00
5cd44e02d0
Backported the improvements to Transform from Godot4.
2022-08-14 20:35:11 +02:00
e4cad690a3
Renamed elements in Transform2D to columns.
2022-08-14 15:37:05 +02:00
d9e094ab9a
Renamed elements in Basis to rows.
2022-08-13 19:07:59 +02:00
730bce8587
Renamed Quat to Quaternion for consistency with the other engine math classes.
2022-08-13 15:22:33 +02:00
2e628b7fa8
Ported: Fix skeleton 2D stale bounding rect
...
Adds special logic for handling skeleton bounding rect updates. Previously these were never being updated because the canvas item is never set to "rect_dirty".
-lawnjelly
18bb668a2e
2022-08-07 16:01:27 +02:00
bb323b5bee
Fixed lights.
2022-07-31 01:32:43 +02:00
31136b3669
Ported: Document support limitations for OmniLight cubemap shadows in GLES2 - Calinou
...
b03ceaba2f
2022-07-29 22:11:41 +02:00