clayjohn
9af94d650f
use def ANDROID_ENABLED so android features are not included in javascript builds
2019-06-04 23:12:20 -07:00
qarmin
8245db869f
Small fixes to unrechable code, possibly overflows, using NULL pointers
2019-06-03 21:52:50 +02:00
clayjohn
2b8b1d7c46
added MultiMeshInstance2D node for using MultiMesh in 2D
2019-06-03 12:11:54 -07:00
Hugo Locurcio
cbd31d9f0b
Fix errors when attempting to set UNIX permissions when unavailable
...
This makes exporting from Windows to Linux work again.
This closes #29416 .
2019-06-03 14:35:33 +02:00
Chaosus
c2d4abf62e
Added constant support to shaders
...
Co-authored-by: DavidSichma <sichmada@gmail.com>
2019-06-01 13:41:07 +03:00
Rémi Verschelde
c34636cbc4
Merge pull request #24943 from aqnuep/issue-18201
...
Mute errors on surface->index_array_len == 0 in the GLES3 renderer
2019-06-01 12:12:09 +02:00
Rémi Verschelde
bac7e22cb1
Merge pull request #29236 from clayjohn/gles2-mirror
...
Separate culling state management from material state in GLES2
2019-05-30 15:01:50 +02:00
Rémi Verschelde
603bb98340
Merge pull request #29188 from Calinou/improve-ssao-performance-quality
...
Improve SSAO performance and quality
2019-05-30 14:27:25 +02:00
Rémi Verschelde
c2e2bcbca9
Fix -Werror=maybe-uninitialized in GLES2 on release builds
...
Issue introduced in #28796 .
2019-05-29 16:40:06 +02:00
qarmin
66a36ba474
Fix some unincialised variables
2019-05-28 19:12:19 +02:00
clayjohn
2b59bd7695
separate culling state management from material
2019-05-27 11:45:53 -07:00
Rémi Verschelde
9f6eb3882c
Merge pull request #29182 from clayjohn/radiance_map
...
Fix radiance map settings
2019-05-27 17:33:45 +02:00
Rémi Verschelde
b9ee3f3d64
Merge pull request #29014 from mbrlabs/gles2_precision_fix
...
Use highp precision in the gles2 fragment shader if available
2019-05-27 12:18:47 +02:00
Hugo Locurcio
eb0cced3c0
Improve SSAO performance and quality
...
This decreases the number of samples significantly, leading to a
notable performance increase with only a very slight loss in
visual quality.
This also tweaks the default SSAO settings to use 3×3 blurring,
which makes noise patterns much less visible.
2019-05-26 12:01:01 +02:00
clayjohn
4c55a909ad
fix radiance map settings
2019-05-25 18:57:32 -07:00
Marcus Brummer
502dbc7c4a
Use highp precision for gles2 shader uniforms if not explicitly set.
...
The use of different default precision values (highp in vertex; mediump
in fragment) for uniform variables caused the shader program to not link properly on some android
devices/emulators.
2019-05-25 14:26:08 +02:00
Rémi Verschelde
da617b7943
Merge pull request #29132 from clayjohn/sort_depth_fix
...
Fix "no depth test" and render_priority sorting
2019-05-24 17:46:06 +02:00
Rémi Verschelde
01c41c782b
Merge pull request #28796 from clayjohn/GLES2-optimization
...
GLES2: Allow Viewports to render directly to screen
2019-05-24 17:31:44 +02:00
clayjohn
3365595254
do not compute fog when using unshaded in GLES2
2019-05-23 17:17:27 -07:00
clayjohn
2abe7deae8
fix no depth test and render_priority sorting
2019-05-23 09:21:57 -07:00
Rémi Verschelde
2b1c3878f9
Merge pull request #29031 from BastiaanOlij/alpha_shadow
...
Implement shadow to opacity
2019-05-23 13:37:54 +02:00
Rémi Verschelde
26e0cc7aa3
Merge pull request #29041 from hbina/add_const
...
add const to methods that return literals
2019-05-21 15:16:41 +02:00
Bastiaan Olij
3ea778e66e
Implement shadow to opacity
2019-05-21 20:07:46 +10:00
hbina085
f78baa5f93
added a const keyword for a methods that return constant literal...
2019-05-21 02:16:30 -04:00
clayjohn
cc2d862733
Scale environment lighting correctly in GLES3
2019-05-19 17:59:23 -07:00
Rémi Verschelde
e0574e1d98
Fix typos with codespell
...
Using codespell 1.15.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
doubleclick
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-05-19 13:10:35 +02:00
clayjohn
55d11330b0
fix lighting bug introduced in clear color changes
2019-05-14 15:04:54 -07:00
Rémi Verschelde
aa3c5f59f2
Merge pull request #27898 from clayjohn/metallic_radiance
...
Added radiance when using clear color
2019-05-14 07:32:01 +02:00
clayjohn
65c211d303
Implement ability to render viewports directly to screen
2019-05-13 15:20:15 -07:00
clayjohn
5c252092e1
added radiance when using clear color and fixed brdf
2019-05-13 12:26:54 -07:00
Rémi Verschelde
86a74e2cb3
Merge pull request #27798 from clayjohn/gles2-proj-mat-bug
...
Fixes bug when setting projection matrix in shader GLES2
2019-05-13 17:59:40 +02:00
Rémi Verschelde
e0517a12c5
Merge pull request #28518 from clayjohn/GLES2-MSAA
...
Added MSAA to GLES2 backend
2019-05-13 17:46:11 +02:00
Rémi Verschelde
a0a5047cfd
Merge pull request #28723 from SouzaGuilherme/fix_shadows
...
Fix SHADOWS_DISABLED flag in GLES2
2019-05-13 17:22:57 +02:00
Daniel Rakos
e34eb5c26c
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.
2019-05-08 17:22:40 +02:00
Guilherme Souza
b363125568
Fix SHADOWS_DISABLED flag in GLES2
...
Signed-off-by: Guilherme Souza <gdsdsilva@inf.ufpel.edu.br>
2019-05-07 12:42:28 -03:00
clayjohn
a3d5aec68d
added MSAA to GLES backend
2019-05-02 14:24:20 -07:00
marxin
cdf54d6c5f
Ignore a warning in _get_socket_error (-Wlogical-op).
...
drivers/unix/net_socket_posix.cpp: In member function 'NetSocketPosix::NetError NetSocketPosix::_get_socket_error()':
drivers/unix/net_socket_posix.cpp:197:22: warning: logical 'or' of equal expressions [-Wlogical-op]
197 | if (errno == EAGAIN || errno == EWOULDBLOCK)
| ^
and:
modules/mono/utils/string_utils.cpp: In function 'int {anonymous}::sfind(const String&, int)':
modules/mono/utils/string_utils.cpp:68:48: error: logical 'or' of collectively exhaustive tests is always true [-Werror=logical-op]
found = src[read_pos] == 's' || (c >= '0' || c <= '4');
~~~~~~~~~^~~~~~~~~~~
2019-05-02 11:11:52 +02:00
Rémi Verschelde
dd2cd06165
Merge pull request #25670 from aqnuep/bake_mode_affect_gi_prove
...
Disable GI probe capturing lights with bake mode disabled
2019-04-30 18:33:34 +02:00
Rémi Verschelde
a7f00f3bac
Merge pull request #28530 from akien-mga/scons-prepend-cpppath
...
SCons: Always use env.Prepend for CPPPATH
2019-04-30 18:23:38 +02:00
clayjohn
e37d723695
fixes bug when setting projection matrix
2019-04-30 08:36:38 -07:00
Rémi Verschelde
a5c619dc8d
Merge pull request #28520 from clayjohn/GLES2-alpha-draw-order
...
Fixed GLES2 transparency order
2019-04-30 17:20:05 +02:00
Rémi Verschelde
d52b70fb5e
SCons: Always use env.Prepend for CPPPATH
...
Include paths are processed from left to right, so we use Prepend to
ensure that paths to bundled thirdparty files will have precedence over
system paths (e.g. `/usr/include` should have lowest priority).
2019-04-30 13:12:06 +02:00
clayjohn
7ae3809f4b
Fixed GLES2 transparency order
2019-04-29 12:22:41 -07:00
Rémi Verschelde
a3617f6ca8
Merge pull request #28431 from SouzaGuilherme/master
...
Adds flag AMBIENT_LIGHT_DISABLED to GLES2
2019-04-29 16:55:36 +02:00
Guilherme Souza
61a844aa61
Adds flag AMBIENT_LIGHT_DISABLED to GLES2
...
Signed-off-by: Guilherme Souza <gdsdsilva@inf.ufpel.edu.br>
2019-04-25 20:25:05 -03:00
Rémi Verschelde
c2a669a9f0
SCons: Review uses of CCFLAGS, CXXFLAGS and CPPFLAGS
...
Many contributors (me included) did not fully understand what CCFLAGS,
CXXFLAGS and CPPFLAGS refer to exactly, and were thus not using them
in the way they are intended to be.
As per the SCons manual: https://www.scons.org/doc/HTML/scons-user/apa.html
- CCFLAGS: General options that are passed to the C and C++ compilers.
- CFLAGS: General options that are passed to the C compiler (C only;
not C++).
- CXXFLAGS: General options that are passed to the C++ compiler. By
default, this includes the value of $CCFLAGS, so that setting
$CCFLAGS affects both C and C++ compilation.
- CPPFLAGS: User-specified C preprocessor options. These will be
included in any command that uses the C preprocessor, including not
just compilation of C and C++ source files [...], but also [...]
Fortran [...] and [...] assembly language source file[s].
TL;DR: Compiler options go to CCFLAGS, unless they must be restricted
to either C (CFLAGS) or C++ (CXXFLAGS). Preprocessor defines go to
CPPFLAGS.
2019-04-24 16:57:58 +02:00
Daniel Rakos
de33ef2d1b
Disable GI probe capturing lights with bake mode disabled
...
The bake mode property of lights previously didn't affect GI probes.
This change makes the GI probe ignore lights that have their bake mode
set to disabled.
2019-04-23 11:36:36 +02:00
Juan Linietsky
cd4449e7ab
Add FileAccess::set_unix_permissions for Unix platforms
2019-04-07 15:45:30 -03:00
Juan Linietsky
65f3a953de
Remove SIGCHILD handle in OS_Unix, interferes with pclose()
2019-04-07 15:45:00 -03:00
Rémi Verschelde
a342131eba
Merge pull request #27673 from qarmin/small_fixes
...
Small fixes, mostly duplicated code
2019-04-22 12:00:34 +02:00
Juan Linietsky
04847ef5f9
Added ability for multiple images to be imported as an atlas
...
This adds support for groups in the import system, which point to a single file.
Add property hint for saving files in file field
2019-04-19 15:56:34 -03:00
Rémi Verschelde
dab8f8c953
Merge pull request #27967 from clayjohn/fix-mip-bug
...
Fixed bug in computing mip maps from screen texture
2019-04-15 13:05:50 +02:00
clayjohn
670c1b10b2
fixed bug in mip map sigma
2019-04-12 17:48:38 -07:00
Hein-Pieter van Braam
f75b9e6246
Merge pull request #27815 from Faless/unix/mem_access
...
Fix jump over uninitialized value in OS Unix/X11
2019-04-10 11:06:37 +02:00
Rémi Verschelde
c8994b56f9
Style: Apply new changes from clang-format 8.0
...
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
Rémi Verschelde
4b2c79c471
Merge pull request #27806 from JFonS/fix_27690
...
Fix hint_range for GLES2 shader uniforms
2019-04-09 17:09:27 +02:00
Fabio Alessandrelli
0bcf0314f7
Fix jump over uninitialized value in OS Unix/X11
2019-04-09 15:12:55 +02:00
Rémi Verschelde
d65cbddc8d
Merge pull request #27589 from Chaosus/fix_file
...
Fix File switching between reading and writing, opened with READ_WRITE on Windows
2019-04-08 12:12:19 +02:00
JFonS
059078f075
Fix hint_range for GLES2 shader uniforms
2019-04-08 11:53:57 +02:00
qarmin
856a8226a5
Small fixes, mostly dupicated code
2019-04-08 11:03:37 +02:00
Rémi Verschelde
b60754ab40
Merge pull request #26839 from toasteater/fix/keep-linear
...
Respect keep_3d_linear when transparent_bg is on.
2019-04-08 10:58:59 +02:00
Rémi Verschelde
c562a7d149
Merge pull request #27067 from shartte/remove-context-gl
...
Remove ContextGL
2019-04-07 12:38:55 +02:00
Rémi Verschelde
4942e96897
Merge pull request #27527 from BastiaanOlij/render_ext_target
...
Add option to have viewport render into supplied texture (VR)
2019-04-07 11:11:50 +02:00
Rémi Verschelde
b182e038e7
GLES3: Fix regression in particles buffer initialization
...
Bug introduced in #26343 where `(float *)` was mistakenly converted
to `(uint8_t *)`, so we were getting `2` instead of `8`.
Fixes #27705 .
2019-04-06 21:01:51 +02:00
Sebastian Hartte
3a8c6db513
Remove ContextGL since as an abstraction it's unused.
2019-04-06 17:52:52 +02:00
Rémi Verschelde
d450220bae
Use mix rate and output latency constants in audio drivers
...
Fix default mix rate in Xaudio2 and potential shadowing issue in JAndroid.
2019-04-06 12:37:25 +02:00
Rémi Verschelde
7ca9863079
Merge pull request #23837 from fire/asset_import
...
Add Open Asset Importer to Godot.
2019-04-06 00:12:46 +02:00
Bastiaan Olij
8349d4fbd9
Add option to have viewport render into supplied texture
2019-04-06 08:24:58 +11:00
Rémi Verschelde
afe45f9796
Merge pull request #26847 from IronicallySerious/capitalise-drive-letter-case
...
Capitalise drive letters
2019-04-05 16:58:04 +02:00
K. S. Ernest (iFire) Lee
e3ef7f214a
Add Open Asset Import Library to Godot.
...
FBX support and MMD (pmx) support.
Normals, Albedo, Metallic, and Roughness through Arnold 5 Materials for Maya FBX.
Maya FBX Stingray PBS support.
Importing FBX static meshes work.
Importing FBX animations is a work in progress.
Supports FBX 4 bone influence animations.
Supports FBX blend shapes.
MMDs do not have an associated animation import yet.
Sponsored by IMVU Inc.
2019-04-05 07:17:52 -07:00
Rémi Verschelde
cffbb99327
Merge pull request #27411 from KidRigger/raster_store
...
Added GLES2 RenderStorage Info calculations.
2019-04-05 15:22:22 +02:00
toasteater
7cbfce7a8c
Respect keep_3d_linear when transparent_bg is on.
...
When transparent_bg is on, or the render target is too small,
Godot would skip postprocessing and disregard keep_3d_linear.
This fixes #26817 .
2019-04-05 20:42:59 +08:00
Chaosus
8d12dfa24d
Fix File opened with READ_WRITE on Windows
...
To allows use read and write anytime and in any order
2019-04-05 15:15:40 +03:00
Rémi Verschelde
25c1363a11
Merge pull request #27597 from marxin/fix-Wnon-virtual-dtor-warnings
...
Fix -Wnon-virtual-dtor warnings.
2019-04-02 18:25:02 +02:00
marxin
e7f22ebdcd
Enable warnings=extra on clang and GCC testers.
...
And remove 2 warnings from warnings=extra.
2019-04-02 17:14:47 +02:00
marxin
f9f2413e69
Fix -Wnon-virtual-dtor warnings.
...
Example of the warning:
./core/script_language.h:198:7: warning: 'class ScriptCodeCompletionCache' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]
2019-04-02 14:07:29 +02:00
Rémi Verschelde
ba1a168659
Merge pull request #27505 from clayjohn/depth_bug
...
Keep DEPTH from causing compile error in GLES2
2019-04-01 14:53:18 +02:00
clayjohn
5056b4a02c
keep DEPTH from causing compile error in GLES2
2019-03-28 22:14:41 -07:00
Daniel Rakos
849596c40c
Fixed handling of depth texture so it's resolved and bound when needed
...
- Cleaned up and improved the code determining when we need to use a depth
prepass (previously it wasn't executed in certain cases even if it was
needed)
- Added code to prepare and bind the depth texture even when no depth prepass
or MRTs (more precisely effect buffers) are used
Fixes #25870 , #25535 , and #25387 .
2019-03-26 17:48:22 +01:00
Anish Bhobe
4839b17f93
Added GLES2 RenderStorage Info calculations.
...
Proper counting code has been added to update info struct.
Extra: Added the render_info_capture calculations.
Fixes : #27273
2019-03-25 23:08:23 +05:30
Pedro J. Estébanez
9c3ddf05cb
Revert accidental commits
...
This reverts commit fb37284c02
.
This reverts commit 4db0f51b9a
.
2019-03-20 21:43:55 +01:00
Pedro J. Estébanez
fb37284c02
Create class for shared memory blocks [wip]
2019-03-20 20:44:43 +01:00
Rémi Verschelde
ac483345c4
GLES2: Convert unsupported float texture types to 8-bit types
2019-03-12 12:14:37 +01:00
Rémi Verschelde
3ebde6fac3
GLES2: Fix comments in previous commit that broke rendering (!)
...
Do NOT use "[vertex]" in a comment...
Kids, don't try to learn OpenGL on a production branch right before
a stable release.
2019-03-12 00:26:56 +01:00
Rémi Verschelde
74e224f2c7
GLES2: Add comments around EXT_shader_texture_lod check
...
To avoid reintroducing bugs as I did in #26928 and #26932 .
texture2DLodEXT and textureCubeLodEXT are only for the fragment shader with
https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_texture_lod.txt
In the vertex shader, texture2DLod and textureCubeLod are built-in.
2019-03-11 23:18:21 +01:00
Rémi Verschelde
764671d2d0
Revert "GLES2: Ensure extension checks for texture2DLod"
...
This reverts commit f5f565e3e4
.
2019-03-11 23:12:49 +01:00
Rémi Verschelde
4cdb2d0502
Revert "GLES2: Fix regression on texture2DLod extension checks"
...
This reverts commit 8c2d38152f
.
2019-03-11 23:12:39 +01:00
Rémi Verschelde
8c2d38152f
GLES2: Fix regression on texture2DLod extension checks
...
These can't be done after any non-preprocessor token.
2019-03-11 21:59:20 +01:00
Rémi Verschelde
bc3c6338cf
Merge pull request #26928 from akien-mga/gles2-texture2DLod-ext-check
...
GLES2: Ensure extension checks for texture2DLod
2019-03-11 20:51:36 +01:00
Juan Linietsky
d9235be54b
Enable seamless cubemap only if extension is present.
2019-03-11 16:49:04 -03:00
Rémi Verschelde
f5f565e3e4
GLES2: Ensure extension checks for texture2DLod
...
In canvas.glsl and scene.glsl, we were using texel2DFetch from stdlib.glsl,
which uses texture2DLod. In both cases, the stdlib.glsl include came before
the define of texture2DLod.
Might fix issues for drivers that don't support GL_EXT_shader_texture_lod.
2019-03-11 19:34:31 +01:00
Juan Linietsky
0eb61c3106
Undo #25557 (was not right anyway), fixes #26258
2019-03-11 14:58:51 -03:00
clayjohn
13eee31461
increase size of radiance map in gles2
2019-03-10 22:08:08 -07:00
Twarit
501fabe914
Capitalise drive letters
...
Matches how other application like to display the drive letters
2019-03-10 00:36:54 +05:30
clayjohn
63bb6808e6
gles2 reallocate texture when transparent is set
2019-03-09 10:56:51 -08:00
samHFIT
fbaee40b1d
Added default color to mesh render
2019-03-08 18:26:58 +01:00
Juan Linietsky
6cb841edcb
Ensure ETC2 textures are ALSO compressed to Po2 when have mipmaps. Fixes #26733
2019-03-07 12:16:20 -03: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
53bec9deeb
Fix and restore text, material and mesh previewers.
2019-03-04 15:53:18 -03:00
Rémi Verschelde
b753223ac2
Merge pull request #26567 from clayjohn/pixel_snap_artifact
...
Fixed pixel snap precision artifact
2019-03-04 16:58:08 +01:00
clayjohn
b804c491b7
fixed pixel snap precision artifact
2019-03-04 07:18:02 -08:00
Rémi Verschelde
453d239a69
Merge pull request #26532 from aqnuep/texture_array_fixes
...
Fixed TextureArray and Texture3D issues
2019-03-04 15:09:11 +01:00
Rémi Verschelde
91596f2f7a
Merge pull request #26574 from Chaosus/update_libpng
...
Update libpng (1.6.35 --> 1.6.36)
2019-03-04 13:49:11 +01:00
Chaosus
4655eb9b8b
Silences annoying "iCCP: known incorrect sRGB profile" spam
2019-03-04 15:28:21 +03:00
Chaosus
5a89d08e3f
Update libpng (1.6.35 --> 1.6.36)
2019-03-04 14:55:47 +03:00
Rémi Verschelde
b811207406
More style cleanup...
2019-03-04 10:11:29 +01:00
Juan Linietsky
4d875f115c
Also take dof blur in consideration for using MRTs, fixes #26236
2019-03-03 16:28:07 -03:00
Juan Linietsky
34dd772054
Properly redraw if something animated is visible
2019-03-03 13:43:54 -03:00
Daniel Rakos
582f62c2b2
Fixed TextureArray and Texture3D issues
...
- Texture arrays and 3D textures weren't working previously due to an
incorrect number of calls to glTexImage3D with incorrect level parameters.
This change fixes that.
- Fixed the incorrect calculation of the byte size of layered textures.
- Added the layer count to the debugger info when viewing video memory usage.
2019-03-03 16:40:48 +01: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
Rémi Verschelde
467f18b738
Fix style issues from recent commits
2019-03-03 12:45:20 +01:00
Juan Linietsky
6dc2669361
Remove some windows prints
2019-03-02 11:58:42 -03:00
Rémi Verschelde
e930fb9a6e
Fix typo in 7bad170
...
And cleanup.
2019-03-02 00:45:01 +01:00
Juan Linietsky
7bad1706c2
-Fix prepass state not being reset, closes #26348
...
-Send zero values for shader if no default exists
2019-03-01 19:28:24 -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
Juan Linietsky
8a9119ad7f
Fix non initialized variable.
2019-03-01 16:45:38 -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
5efd693384
Massive improvement to GLES2 performance, rewrote most ShaderGLES2 class.
...
This fixes #26337
2019-02-27 23:49:34 -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
372152220b
Merge pull request #26159 from marxin/fix-Wsuggest-attribute=format
...
Fix -Wsuggest-attribute=format warnings.
2019-02-27 09:23:26 +01:00
Rémi Verschelde
426a6fdc17
Merge pull request #26134 from marxin/fix-Wsign-compare
...
Fix -Wsign-compare warnings.
2019-02-27 09:22:47 +01: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
marxin
e5f665c718
Fix -Wsign-compare warnings.
...
I decided to modify code in a defensive way. Ideally functions
like size() or length() should return an unsigned type.
2019-02-27 07:45:57 +01:00
marxin
aff84ec55d
Fix -Wsuggest-attribute=format warnings.
2019-02-27 06:56:50 +01:00
Hein-Pieter van Braam
270bbee018
Merge pull request #26316 from marxin/fix-26100-Wextra-warning
...
Fix #26100 by casting to integer.
2019-02-27 00:19:32 +01:00
Juan Linietsky
01a3dd389c
Remove references to OES24, which is incompatible with many devices.
2019-02-26 19:45:15 -03:00
marxin
7f289304af
Fix #26100 by casting to integer.
2019-02-26 19:29:08 +01: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
Rémi Verschelde
e47b4bdc3d
Merge pull request #26286 from kaadmy/gles2_ortho_shadow
...
Fix orthographic shadow color when using GLES2
2019-02-26 08:50:42 +01: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
KaadmY
e1a34d0728
Fix orthographic shadow color when using GLES2
2019-02-25 13:57:23 -08: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
Hein-Pieter van Braam
a83e77fded
Explicitly use floating point numbers in the our shaders
...
We need to be explicit about using floating point numbers in our shaders
for compatibility with mobile GLES drivers.
2019-02-24 23:35:10 +00:00
Juan Linietsky
ab8f3d7842
Fixed issue with buffers being wrongly cleared, closes #25484
2019-02-24 00:33:22 -03:00
Juan Linietsky
d79c8d7655
Fix vertex lighting in GLES2, closes #25365
2019-02-23 19:53:04 -03:00
Marcelo Fernandez
e1e4f96995
Fix WASAPI driver not working when the device doesn't supports the mix format
2019-02-23 00:01:17 -03:00
Hein-Pieter van Braam
5a27a456d8
Merge pull request #26158 from marcelofg55/wasapi_init_err
...
Extended WASAPI Initialize error message
2019-02-23 00:28:34 +01:00
Juan Linietsky
16e67388a2
Properly update materials when adding surface, fixes #23790
2019-02-22 16:27:00 -03:00
Marcelo Fernandez
548a66a621
Extended WASAPI Initialize error message
2019-02-22 14:56:15 -03:00
Juan Linietsky
aef5b36bfa
Ensure that no depth test is used (specially in prepass) for objects that dont test or draw depth, fixes #25201
2019-02-22 14:48:10 -03:00
Juan Linietsky
95e34967d8
Fix precision issue with skeletons, closes #26057 , closes #26062
2019-02-22 13:27:19 -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
Rémi Verschelde
c4b736d7ad
Fix code style issues
2019-02-22 09:52:27 +01:00
Juan Linietsky
5784caae73
Make alpha 1.0 when using texscreen, fixes #25850
2019-02-21 19:43:34 -03:00
Rémi Verschelde
a01dca79e2
Merge pull request #26125 from JFonS/revert_light_vec_shadows
...
Revert back to ignoring LIGHT_VEC for 2D shadows
2019-02-21 18:49:14 +01:00
Juan Linietsky
8fd2eb6234
Many fixes regarding depth buffer clearing, closes #25994 , closes #25975
2019-02-21 12:31:41 -03:00
JFonS
32e7641667
Revert back to ignoring LIGHT_VEC for 2D shadows
2019-02-21 12:16:10 +01:00
marxin
8d51618949
Add -Wshadow=local to warnings and fix reported issues.
...
Fixes #25316 .
2019-02-20 19:44:12 +01:00
Rémi Verschelde
51c9ffaec0
Drop RtAudio driver on Windows
...
We've been defaulting to WASAPI since 3.0 and it's superior to RtAudio
in all aspects.
Obsoletes and closes #25503 .
Also enable WINMIDI on MinGW, this had been missed initially.
Fix os_windows.cpp and crash_handler_windows.cpp which had weird
dependencies on RtAudio.h's includes (ugh).
2019-02-20 13:47:01 +01:00
Rémi Verschelde
19f79d04fb
Merge pull request #26005 from clayjohn/gles2_shadow_color
...
Added shadow_color property to gles2
2019-02-18 13:48:17 +01:00
clayjohn
9b0326d2f3
added shadow_color property to gles2
2019-02-17 23:57:57 -08:00
Juan Linietsky
be9b938398
Fix skeleton not being updated in shader, closes #25911
2019-02-16 19:39:35 -03:00
Juan Linietsky
d6a88bbc30
Remove all references to stencil, fixes problems on iOS.
2019-02-13 07:58:52 -03:00
Juan Linietsky
4f72ff4f1c
On mobile, check for float and half float frameuffers supported, fixes #25324 , fixes #25325 .
2019-02-13 07:14:36 -03:00
Rémi Verschelde
5fc86026ca
Fix typos with codespell
...
Using codespell 1.14.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
doubleclick
lod
nd
numer
que
te
unselect
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-02-13 09:23:29 +01:00
Rémi Verschelde
55ca2a7c88
Merge pull request #25821 from akien-mga/sync-class-and-filenames
...
Ensure classes match their header filename
2019-02-13 08:49:39 +01:00
Rémi Verschelde
5aff990354
Fix infinite recursion in GLES2 _copy_texscreen
...
Bug introduced in 9430e68cf3
,
likely a typo.
2019-02-12 23:38:33 +01:00
Juan Linietsky
9430e68cf3
Support SCREEN_TEXTURE in GLES2, fixes #25405
2019-02-12 18:49:57 -03:00
Juan Linietsky
b8319e7c60
Ability to vflip viewports in GLES2, fixes #24555
...
Also culling was reversed somehow.
2019-02-12 15:56:39 -03:00
Juan Linietsky
0d0d074c4d
Use UVs with the nvidia rendering hack, fixes #24563
2019-02-12 15:31:10 -03:00
Juan Linietsky
4af8009b9d
Fix fog in GLES2 by using epic hack, closes #25410
2019-02-12 14:35:16 -03:00
Rémi Verschelde
75dae1b9a9
Drivers, main, servers: Ensure classes match their header filename
...
Renamed:
- `drivers/alsamidi/alsa_midi.h` -> `midi_driver_alsamidi.h`
(same for `coremidi` and `winmidi`)
- `main/timer_sync.h` -> `main_timer_sync.h`
- `servers/visual/visual_server_global.h` -> `visual_server_globals.h`
2019-02-12 14:39:47 +01:00
Juan Linietsky
8fd6a02d3e
Missing canvas end left mask turned on, fixes #25666
2019-02-12 09:55:22 -03:00
Rémi Verschelde
b7cc2bb1e2
Core: Ensure classes match their header filename
...
Also drop some unused files.
Renamed:
- `core/dvector.h` -> `pool_vector.h`
- `core/io/resource_import.h` -> `resource_importer.h`
- `core/sort.h` -> `sort_array.h`
- `core/string_db.h` -> `string_name.h`
Dropped:
- `core/allocators.h`
- `core/os/shell.h`
- `core/variant_construct_string.cpp`
2019-02-12 13:34:25 +01:00
Rémi Verschelde
13c50e8aa5
Merge pull request #25481 from hpvb/fix-ubsan-asan-reports
...
Fix many asan and ubsan reported issues
2019-02-12 12:21:01 +01:00
Rémi Verschelde
279bfb3503
Merge pull request #25557 from kaadmy/master
...
Allow usage of depth texture when contact shadows are disabled
2019-02-12 11:38:44 +01:00
Rémi Verschelde
6e43bd4e85
Merge pull request #25623 from clayjohn/multimesh_color_bug
...
[GLES2] Initialize color buffer to white in gles2 multimesh
2019-02-12 11:31:45 +01:00
Rémi Verschelde
204f9083f4
Merge pull request #25682 from JFonS/fix_light_canvas_gles2
...
Fix canvas light shaders on GLES2
2019-02-12 11:27:21 +01:00
Rémi Verschelde
48bc7aedaa
Merge pull request #25779 from JFonS/fix_25581
...
Make LIGHT_VEC affect 2D shadows again
2019-02-12 11:24:27 +01:00
Juan Linietsky
7713ec8637
Merge pull request #25134 from staddy/master
...
Check for null pointer in RasterizerSceneGLES2::render_shadow
2019-02-12 07:04:12 -03:00
JFonS
076a342a4e
Make LIGHT_VEC affect 2D shadows again
2019-02-10 21:14:32 +01:00
JFonS
5186d4f3ad
Fix canvas light shaders on GLES2
2019-02-07 15:58:36 +01:00
clayjohn
f752aaf970
initialize color buffer to white in gles2 multimesh
2019-02-04 20:08:35 -08:00
Ignacio Etcheverry
9bd9d21358
Fix OS_Unix::set_environment
2019-02-04 00:44:37 +01:00
Ignacio Etcheverry
4e4e889c75
Merge pull request #25478 from neikeq/rr
...
Mono: Fix MonoPosixHelper not being found
2019-02-03 06:31:52 +01:00
Ignacio Etcheverry
41873ffa88
Added set_environment to OS class
2019-02-03 05:38:47 +01:00
KaadmY
d116705538
Allow usage of depth texture when contact shadows are disabled
2019-02-01 12:46:43 -08:00
Hein-Pieter van Braam
d308eb091a
Fix many asan and ubsan reported issues
...
This allows most demos to run without any ubsan or asan errors. There
are still some things in thirdpart/ and some things in AudioServer that
needs a look but this fixes a lot of issues. This should help debug less
obvious issues, hopefully.
This fixes #25217 and fixes #25218
2019-01-30 06:43:56 +01:00
Rémi Verschelde
b77b536582
Cleanup and identify ShaderCompilerGLES[23] differences
2019-01-28 19:28:00 +01:00
Rémi Verschelde
1148a33b20
GLES2: Define LIGHT Spatial shader builtin
...
Fixes #25421 .
2019-01-28 17:27:20 +01:00
Leon Krause
bd55ac8964
Merge pull request #25397 from lethiandev/fix-gles2-polygon-drawing
...
Fix polygon drawing on WebGL1
2019-01-28 04:02:25 +01:00
Juan Linietsky
2e5ede7a4e
Properly discard fragments during depth prepass opaque pass, fixes #23321
2019-01-27 20:20:07 -03:00
Konrad Nowakowski
a0bdd9605a
Fix polygon drawing on WebGL1
2019-01-27 23:09:18 +00:00
Juan Linietsky
0c60d4c682
Properly get proxy texture size for canvas light, fixes #17067
2019-01-27 16:57:05 -03:00
Juan Linietsky
953cd03ea6
Use transparent framebuffer only when set to transparent, closes #21827
2019-01-27 15:47:17 -03:00
Rémi Verschelde
e321004098
Merge pull request #25356 from muiroc/bug_web_comp_tex
...
Fix S3TC texture loading for WebGL
2019-01-27 09:41:50 +01:00
Rémi Verschelde
c3b0ee5941
Fix code style issues
2019-01-26 22:35:31 +01:00
muiroc
d1e399a971
fix s3tc support detection for webgl
2019-01-26 22:25:03 +01:00
Rémi Verschelde
d355469c1f
Merge pull request #25300 from neikeq/improve-thread-id
...
Improve custom thread numbering for POSIX
2019-01-26 20:33:18 +01:00
Hein-Pieter van Braam
a8510331c0
Fix compilation on UWP
...
It appears that MSVC and Mingw disagree about what conversions are legal
here. We just use the 'wide' version of the call and use our native
CharType instead of TCHAR.
2019-01-26 16:27:10 +01:00
Juan Linietsky
18c3ed245a
Further fixes to avoid memory corruption, closes #25336
2019-01-26 10:47:04 -03:00
Juan Linietsky
973b68f396
Properly dispose of custom shaders, closes #19300
2019-01-25 19:28:27 -03:00
Juan Linietsky
6d4d55cd42
Do not use depth prepass if effects are disabled, fixes #25267
2019-01-25 15:58:07 -03:00
Bastiaan Olij
fe72e69c79
Revert "Fix GLES3 error 502 on iOS"
2019-01-26 01:51:41 +11:00
Juan Linietsky
677d4400de
Ensure contact shadows are only used when lights use them.
2019-01-25 11:41:25 -03:00
Bastiaan Olij
da7f9e1ed1
Fix GLES3 error 502 on iOS
2019-01-26 00:52:54 +11:00
Juan Linietsky
5b5db08a51
Fix depth prepass in GLES2, closes #23321
2019-01-25 09:41:25 -03:00
Ignacio Etcheverry
6de04cf04c
Improve custom thread numbering for POSIX
...
We lazily assign new IDs to threads that do not have one. This is the case for threads not created by the Godot API.
2019-01-25 00:59:07 +01:00
Juan Linietsky
b32298a660
Ensure WebGL uses highp by default, and fix some wrong mediump usages. Fixes #22962 .
2019-01-24 18:58:42 -03:00
Juan Linietsky
fb7c526ec4
Fix crash with cube shadows in gles2, closes #22635
2019-01-24 17:51:49 -03:00
Juan Linietsky
42764ed252
Revert "Fix errors on iOS"
2019-01-24 17:15:52 -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
148e62102b
Merge pull request #25257 from karroffel/tex3d-get-data-fix
...
implemented texture_get_data() for TextureLayered
2019-01-24 16:19:21 +01:00
Juan Linietsky
2d57ec2460
Fix problem with texture2Dlod, closes #25263
2019-01-23 17:06:37 -03:00
thomas.herzog
dddfe9a2df
implemented texture_get_data() for TextureLayered
2019-01-23 16:12:29 +01:00
Rémi Verschelde
d747e30140
Merge pull request #25242 from BastiaanOlij/fix_ios_issues
...
Fix errors on iOS
2019-01-23 11:14:09 +01: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
Bastiaan Olij
cab45f2f26
Fix errors on iOS
2019-01-23 13:38:19 +11: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
4333a68ca0
Do not use shadow cubemaps if depth write is not supported to avoid errors, closes #25219
2019-01-22 11:07:26 -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
Rémi Verschelde
3548b6b6b2
Merge pull request #25196 from santouits/webgl-backslashes
...
webgl1 in firefox doesn't like backslashes in #define directive
2019-01-21 23:02:32 +01:00
Juan Linietsky
6fa632b821
Add function to obtain filesystem type from DirAccess.
...
Change EditorFileSystem to not use directory modification times on FAT32, fixes #20946
2019-01-21 18:06:14 -03:00
santouits
e7e9a7cc6c
webgl1 doesn't like backslashes in #define
...
According to
https://www.khronos.org/registry/OpenGL/specs/es/2.0/GLSL_ES_Specification_1.00.pdf
, backslashes aren't necessary supported as line continuation characters
in preprocessor directives
2019-01-21 21:41:39 +02:00
Rémi Verschelde
d4ab9d1d6e
Merge pull request #25115 from marxin/fix-19633-proper
...
Fix #19633 by proper store to &ubo_data.shadow_matrix[1234].
2019-01-21 17:40:56 +01:00
Rémi Verschelde
ad633b6c9c
Merge pull request #25117 from dragmz/patch-6
...
Replace CreateThread with QueueUserWorkItem
2019-01-21 16:18:58 +01:00
Rémi Verschelde
769341e180
Cleanup after @reduz :)
...
Fixes #25172 .
2019-01-21 11:12:55 +01:00
Stanislav
dc7d9f8868
Check for null pointer in RasterizerSceneGLES2::render_shadow
...
Fixes #25131
2019-01-19 16:48:43 +03:00
marxin
d9eb6a5b20
Fix #19633 by proper store to &ubo_data.shadow_matrix[1234].
...
It is not valid in C++ to store into shadow_matrix1[16] with shadow_matrix1[16 * j]
(for j > 0). Even though there's a valid space in a struct after shadow_matrix1.
Knowing that GCC performs aggressive optimizations that eventually lead
to a wrong code. Code has been changed into union where one can either
use shadow_matrix[4 * 16], or individual shadow_matrix1, shadow_matrix2, etc. GCC pragma
is not needed any longer.
2019-01-19 10:25:01 +01:00
Rémi Verschelde
50c8019dcd
Fix excluding GCC pragmas from Clang
...
Why the heck does Clang define __GNUC__...
2019-01-19 08:17:32 +01:00
Rémi Verschelde
a9fcd574f4
Only define GCC pragmas for GCC
2019-01-19 08:00:17 +01:00
Marcin Zawiejski
e65bce3083
Replace CreateThread with QueueUserWorkItem
...
Fixes #24869 stuttering on Windows by reusing long running threadpool threads instead of creating a new thread on each call to Thread::start.
2019-01-19 00:31:10 +01: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
e3ef52a270
Merge pull request #25101 from hpvb/fix-19633
...
Work around a GCC optimizer bug at -O3
2019-01-18 12:32:30 -03:00
Hein-Pieter van Braam
6793908a3f
Work around a GCC optimizer bug at -O3
...
This bug has been reported upstream, once it gets fixed we'll add some
version guards to only disable this for specific GCC versions.
This fixes #19633
2019-01-18 16:31:37 +01:00
Rémi Verschelde
6384dd8f2c
Merge pull request #25070 from RedMser/shader_errors_linefix
...
Fix shader compile error line numbers starting at 0
2019-01-18 11:15:44 +01:00
Emanuele Fornara
e1be09d8fd
Fix enum scope
2019-01-17 20:29:01 +01:00
RedMser
a285a1cfdf
Fix shader compile error line numbers starting at 0.
2019-01-17 19:25:08 +01:00
Juan Linietsky
7478f468b2
Fixes to 2D lights, closes #24750
2019-01-17 10:40:36 -03:00
Juan Linietsky
ffcb5cd18c
Ensure texture hints are obeyed, fixes #24875
2019-01-16 00:37:00 -03:00
Juan Linietsky
ca03d7e0d7
Ensure canvas copy texscreen will not crash if render target is configured without copy buffers. Closes #24749 .
2019-01-15 15:14:43 -03:00
Rémi Verschelde
72f501de13
GLES2: Fix typo in project setting
...
It used a different name than the equivalent GLES3 parameter.
2019-01-15 13:26:54 +01:00
Juan Linietsky
9ed34d4423
Use GLES2 approach to vertex shading in GLES3, which has been more developed. Fixes #21852
2019-01-14 20:41:12 -03:00
Juan Linietsky
ee3eadf345
Implement black margins in GLES2, which was missing, fixes #24556
2019-01-14 19:00:36 -03:00
Rémi Verschelde
02ffc59270
GLES2: Make Nvidia flicker workaround opt-in
...
It has a big impact on 2D and text rendering performance (cf. #24466 )
so the solution seems worse than the bug it aims to work around.
It's now opt-in via "rendering/quality/2d/gles2_use_nvidia_rect_flicker_workaround"
for those who need it and have a simple enough game for the performance
drop not to be an issue.
Fixes #24466 .
2019-01-14 19:02:07 +01:00
Juan Linietsky
b3dc02b5df
Was not properly re-setting light uniforms, fixes #24976
2019-01-14 12:04:26 -03:00
Juan Linietsky
6d8083ea65
Do not use the workaround for desktop nvidia on mobile and html5.
2019-01-14 11:24:00 -03:00
Daniel Rakos
1dd98baaa6
Mute errors on surface->index_array_len == 0 in the GLES3 renderer
...
This error is generated whenever rendering collision debug meshes.
There's no reason why this should be treated as an error as index-less
meshes are supported and used across the engine.
2019-01-13 11:46:40 +01:00
Rémi Verschelde
1185f4c4ac
GLES2: Clarify why we exclude debug code on iOS
...
Supersedes and closes #24873 .
2019-01-11 20:04:13 +01:00
Rémi Verschelde
e5f1d19352
Consistency in resource format saver/loader de-registration
...
Some used 'is_valid()' checks, others not. Validity is already checked in 'unref()',
and 'remove_resource_format_*()' has an ERR_FAIL condition on 'is_null()' already
(which shouldn't happen since we're only unregistering things that we previously
registered.
Also add missing GDCLASS statement in ResourceFormatLoaderVideoStreamGDNative,
missed in #20552 which was last amended before #19501 was merged.
2019-01-10 12:45:57 +01:00
Rémi Verschelde
e4b02513fe
Merge pull request #24301 from marcelofg55/default_device_pulseaudio
...
PulseAudio driver will now change the device if the default system device changes
2019-01-07 20:10:50 +01:00
Juan Linietsky
a3a537c2cf
Fix background color rendering on GLES2 (linear should not be used)
2019-01-07 10:52:24 -03:00
Daeil Kim
ecf520b70e
Change blend equation for canvasitems
2019-01-06 00:57:52 +09:00