Commit graph

2063 commits

Author SHA1 Message Date
Rémi Verschelde
371de5132c
Merge pull request #34251 from bojidar-bg/32993-lightoccluder-flip
Flip cull mode when rendering flipped Light2D and LightOccluder2D
2019-12-12 07:33:19 +01:00
Rémi Verschelde
f676d7509e
Merge pull request #34262 from clayjohn/default_point_size
Add a default POINT_SIZE
2019-12-12 06:45:31 +01:00
Bojidar Marinov
eec7702711
Flip cull mode when rendering flipped Light2D and LightOccluder2D
Fixes #32993
2019-12-11 23:28:35 +02:00
Rémi Verschelde
c320a82213 SCons: Add 'split_libmodules' option to workaround linker issue
The new 'split_libmodules=yes' option is useful to work around linker
command line size limitations when linking a huge number of objects.
We're currently over 64k chars when linking libmodules.a on Windows
with MinGW, which triggers issues as seen in #30892.

Even on Linux, we can also reach linker command line size limitations
by adding more custom modules.

We force this option to True for MinGW on Windows, which fixes #30892.

Additional changes to lib splitting:

- Fix linking of the split module libs with interdependent symbols,
  hacking our way into LINKCOM and SHLINKCOM to set the `--start-group`
  and `--end-group` flags.
- Fix Python 3 compatibility in `methods.split_lib()`.
- Drop seemingly obsolete condition for 'msys' on 'posix'.
- Drop the unnecessary 'split_drivers' as the drivers lib is no longer
  too big since we moved all thirdparty builds to modules.

Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2019-12-11 15:40:28 +01:00
clayjohn
676f647c74 Add a default POINT_SIZE 2019-12-10 23:08:20 -08:00
Rémi Verschelde
435cced7d8
Merge pull request #34238 from clayjohn/GLES2-use-renderbuffer-post-process
Use renderbuffer depth for post-process buffers when appropriate
2019-12-10 17:16:40 +01:00
clayjohn
fd31cebcbe Use renderbuffer depth for post-process buffers when appropriate 2019-12-09 22:19:11 -08:00
clayjohn
e8d652f160 Force 32 bit depth buffer for WebGL 2019-12-09 22:14:12 -08:00
Rémi Verschelde
cd07a34598 GLES3: Properly unbind buffers after draw commands
Patch provided by @oeleo1.

Fixes #34120.
2019-12-09 09:25:20 +01:00
Rémi Verschelde
fbfd56c247 GLES2: Fix uninitialized members in ShaderGLES2::Version
Fixes #34109.
2019-12-05 09:15:31 +01:00
Rémi Verschelde
745a8915fc Properly orphan polygon index buffer after binding (take 2)
Follow-up to #34088, patch by @oeleo1 from
https://github.com/godotengine/godot/issues/34065#issuecomment-561530896
2019-12-04 12:16:50 +01:00
clayjohn
b2dfbd77ec properly orphan polygon index buffer after binding 2019-12-03 07:54:25 -08:00
Rémi Verschelde
10bae7c05b
Merge pull request #33857 from nekomatata/polygon-2d-antialiasing
Fixed antialiased option for Polygon2D
2019-12-03 07:51:16 +01:00
Rémi Verschelde
65e6efaa3b
Merge pull request #33836 from clayjohn/blinn-fix
Fix Specular Blinn function
2019-12-03 07:50:37 +01:00
Rémi Verschelde
d53e3d3acc
Merge pull request #33985 from nekomatata/shadow_viewport
Disable shadow map sampling when shadows are not used in GLES3
2019-12-02 09:28:42 +01:00
PouleyKetchoupp
f5e81b894a Removed duplicated conditional in GLES2 2019-11-29 06:32:55 +01:00
PouleyKetchoupp
299b85c46f Disable shadow map sampling when shadows are not used in GLES3
Fixes #20742
2019-11-29 06:21:17 +01:00
PouleyKetchoupp
e6ebc43d72 Fixed antialiased option for Polygon2D / Line2D
Polygon2D:
The property wasn't used anymore after switching from canvas_item_add_polygon() to canvas_item_add_triangle_array() for drawing.

Line2D:
Added the same property as for Polygon2D & fixed smooth line drawing to use indices correctly.

Fixes #26823
2019-11-28 22:57:27 +01:00
Rémi Verschelde
da880520ca
Merge pull request #33963 from clayjohn/GLES3-sky-mipmaps-on-mobile
Fix radiance map generation on mobile
2019-11-28 09:06:38 +01:00
clayjohn
192aacd5d7 Fix radiance map generation on mobile 2019-11-27 22:18:21 -08:00
George Marques
c51fe7f7cd
Use ANGLE multisample extensions for UWP 2019-11-26 13:55:19 -03:00
clayjohn
5ab3b61520 Restructure depth_internalformat code to work on mobile
This changes the code path so that `glRenderBufferStorage*` always uses
values appropriate for renderbuffers and `glTexImage2D` never uses an
internalformat meant for buffers.

Fixes #33825.
2019-11-23 18:08:19 -08:00
Rémi Verschelde
bb1d75f55e glTexImage2D: Fix confusion between format and internal format
The `format` parameter is similar to `internalFormat` but takes different
values, and especially only `GL_DEPTH_COMPONENT` for depth, without size
specifier.

Cf. https://www.khronos.org/registry/OpenGL-Refpages/es3.0/html/glTexImage2D.xhtml

Fixes a regression from #33278 and another occurrence.
2019-11-23 19:38:31 +01:00
clayjohn
334d41d7cc Fix Specular Blinn function 2019-11-22 22:03:26 -08:00
clayjohn
203fb1b348 Fix GL error by properly using float uniform 2019-11-21 07:44:09 -08:00
clayjohn
4d6737ec73 Fix bugs introduced by IBL fixes 2019-11-20 22:54:44 -08:00
Rémi Verschelde
083d088de3
Merge pull request #33583 from qarmin/fix_overflows_unitialized
Fix some overflows and unitialized variables
2019-11-20 21:31:12 +01:00
Rafał Mikrut
99d8626f4a Fix some overflows and unitialized variables 2019-11-20 16:22:16 +01:00
Rémi Verschelde
3be6e76f22
Merge pull request #33668 from clayjohn/Fix_environment_mapping_issues
Fix issues with environment mapping
2019-11-20 08:45:53 +01:00
clayjohn
cd40154890 Fix issues with environment mapping 2019-11-19 22:30:48 -08:00
Rémi Verschelde
7a0228fbba
Merge pull request #33720 from BastiaanOlij/fix_gles2_rgb8
Need to use GL_RGB8 and GL_RGBA8 as the internal format for GLES2
2019-11-19 11:12:03 +01:00
Bastiaan Olij
15cd81dc69 Need to use GL_RGB8 and GL_RGBA8 as the internal format for GLES2 2019-11-19 20:57:18 +11:00
Rémi Verschelde
6536105af2
Merge pull request #33527 from clayjohn/GLES2-bufferdata_optimization
Improve glBufferSubData usage where safe
2019-11-19 09:36:30 +01:00
clayjohn
14b06fc207 Fix negative light flickering 2019-11-17 22:18:54 -08:00
clayjohn
1253a33423 Improve glBufferSubData usage where safe 2019-11-11 16:38:41 -08:00
Rémi Verschelde
6b1628f9fc
Merge pull request #33517 from madmiraal/fix-_MSG-macros
Send *_MSG macros' explanations directly to the _err_print_error().
2019-11-11 13:27:51 +01:00
Rémi Verschelde
4b8feff594
Merge pull request #33518 from BastiaanOlij/msaa_ext_modes
Add MSAA mode for Quest
2019-11-11 11:46:50 +01:00
Bastiaan Olij
4e2343160c Add special external MSAA modes for GLES2 Rift S/Quest and OpenXR optimisation 2019-11-11 21:02:06 +11:00
Marcel Admiraal
d18b2e599d Remove all uses of ERR_EXPLAIN macros. 2019-11-11 10:24:04 +01:00
PouleyKetchoupp
90b6062ebb Handle missing file properly when checking for case mismatch
This was causing false alarms to be randomly reported on Windows for files that didn't exist.
2019-11-10 09:51:09 +01:00
Bastiaan Olij
add5eaca43 Make MSAA work with external texture 2019-11-08 23:27:48 +11:00
Bastiaan Olij
f7cba26a52 Revert "fix #33188 MSAA depth buffer not used for external texture"
This reverts commit 418b035dda.
2019-11-08 22:47:36 +11:00
Rémi Verschelde
a3ac7a94f0
Merge pull request #33291 from NeoSpark314/fix_#33188
fix #33188 MSAA depth buffer not used for external texture
2019-11-08 09:53:22 +01:00
Rémi Verschelde
47389c3a16 Partial revert of #32657, undoing line shifting by 0.5
As discussed in #32657, this can't be done here as lines can be used
with a canvas scale, and this breaks them.
A suggestion is to do the pixel shifting at matrix level instead.

Fixes #33393.
Fixes #33421.
2019-11-07 15:43:04 +01:00
Holger Dammertz
418b035dda fix #33188 MSAA depth buffer not used for external texture
When rendering to an external texture and MSAA was active (as happened
in the Oculus Mobile ARVR plugin) no MSAA was rendered as the correct
depth buffer and multisample texture target was not used.
This also fixes https://github.com/GodotVR/godot_oculus_mobile/issues/54
2019-11-04 20:14:52 +01:00
Rémi Verschelde
c1b0800784
Merge pull request #33278 from clayjohn/GLES2-depth-format
Fix depth format on Android in GLES2
2019-11-03 07:56:38 +01:00
clayjohn
bc32779542 Fix depth format on Android in GLES2 2019-11-02 21:58:30 -07:00
Rémi Verschelde
d89f24b6c9
Merge pull request #33259 from Chaosus/remove_gles2_switch_op
Removed switch operator from GLES2 shader back-end
2019-11-02 19:28:18 +01:00
Yuri Roubinsky
6b7f8558d9 Removed switch operator from GLES2 shader back-end 2019-11-02 12:43:32 +03:00
Rafał Mikrut
9ddb3265e1 Fix some crashes, overflows and using variables without values 2019-11-01 16:16:31 +01:00