Yuri Roubinski
a525e3c5ce
Implemented do/while loops for shaders
2019-08-13 18:39:55 +03:00
Rémi Verschelde
ef91119502
Merge pull request #31271 from raphael10241024/gles2_shader
...
Fix GLES2 canvas shader uniform error
2019-08-12 08:32:06 +02:00
clayjohn
049dd309fe
check for unsigned_short support for gles2 depth buffer allocation
2019-08-10 09:56:42 -07:00
RaphaelHunter
48f28c68bc
fix gles2 canvas shader uniform error,close #31201
2019-08-10 21:52:51 +08:00
Rémi Verschelde
d2a67c9c1f
Merge pull request #30714 from Calinou/invert-default-fog-height
...
Invert and adjust the default fog height values
2019-08-08 17:20:32 +02:00
Hugo Locurcio
d1a35b5a97
Invert and adjust the default fog height values
...
This makes height fog appear at the bottom of the scene
(instead of the top), which is generally the expected result.
This also tweaks the fog height setting hint to be more flexible.
This closes #30709 .
2019-08-07 18:21:44 +02:00
Rémi Verschelde
7b514d920d
Merge pull request #31099 from Chaosus/shader_local_const
...
Implemented local shader constants
2019-08-07 15:14:35 +02:00
Rémi Verschelde
7464074cb8
Merge pull request #30987 from clayjohn/GLES2-light-negative
...
Implement negative for OmniLights and SpotLights in GLES2
2019-08-05 19:21:13 +02:00
Yuri Roubinski
b24b3497d6
Implemented local shader constants
2019-08-05 10:35:53 +03:00
Rémi Verschelde
d9bba94d60
Merge pull request #31053 from aaronfranke/vector2i-cleanup
...
Some minor Vector2i usage cleanup
2019-08-05 08:08:57 +02:00
Yuri Roubinski
393f142495
Fix GLES2 rendering
2019-08-03 21:21:29 +03:00
Aaron Franke
1a06496f45
Some Vector2i usage cleanup
...
Replace casting Vector2 -> Vector2i -> Vector2 with a simple call to .floor(), and some minor fixes.
2019-08-03 01:11:05 -07:00
Chaosus
8b4c538ab2
Expose several GLES3 built-ins to GLES2
2019-07-31 19:00:10 +03:00
clayjohn
96c3004855
allow omnilights and spotlights to use negative in GLES2
2019-07-30 23:44:22 -07:00
Rémi Verschelde
b697121d75
Merge pull request #30895 from clayjohn/gles2-shader-funcs
...
Added round function to gles2
2019-07-29 22:43:26 +02:00
clayjohn
3f25dde6b4
added round function to gles2
2019-07-29 11:17:08 -07:00
RaphaelHunter
47df933c27
update algorithm about paking float to vec4 to fix shadow shift and change rgba_shdow options
2019-07-28 11:43:01 +08:00
clayjohn
150487e728
fix gles2 shadow transparency bug
2019-07-21 23:52:19 -07:00
Rémi Verschelde
d15cf7b672
Merge pull request #30576 from qarmin/lgtm_coverage
...
Changed some code reported by LGTM and Coverity
2019-07-20 12:00:13 +02:00
qarmin
6cbaf7662f
Changed some code showed in LGTM and Coverage
2019-07-20 08:09:57 +02:00
Rémi Verschelde
1d13567345
Merge pull request #30570 from SonerSound/gles2_inconsistent_fix
...
Fix inconsistent lighting in GLES2
2019-07-17 09:56:44 +02:00
Chaosus
9379cbc774
Added local array initializer
2019-07-16 07:13:37 +03:00
Chaosus
c37379456f
Implemented local shader arrays
2019-07-15 15:57:39 +03:00
SonerSound
545bf86d39
Fix inconsistent lighting in GLES2
...
Issue was possibily being caused by duplicating a light even when that
light was not in the render_light_instances array.
2019-07-14 19:12:26 +01:00
Hugo Locurcio
707ce08cdd
Implement CanvasItem line antialiasing in GLES2
...
This is a straight copy-paste of the code from
`drivers/gles3/rasterizer_canvas_gles3.cpp`. It is subject to the
same restrictions as the GLES3 implementation: it only works
on desktop platforms as they use OpenGL instead of OpenGL ES.
2019-07-12 16:49:12 +02:00
Ibrahn Sahir
4e4697b1c4
Added release function to PoolVector::Access.
...
For clarity, assign-to-release idiom for PoolVector::Read/Write
replaced with a function call.
Existing uses replaced (or removed if already handled by scope)
2019-07-06 12:04:27 +01:00
Marcus Brummer
10f1e0f63a
Prevent GLES2 bool uniforms from having a precision type set.
...
When setting the default precision type for uniforms (before compiling
the shader) prevent boolean uniforms from having one set. Booleans can't
have a precision type and on some Android devices this caused a
compilation failure.
Fixes #30317
2019-07-05 01:00:02 +02:00
Rémi Verschelde
b0eeb12335
Merge pull request #29909 from clayjohn/gles2-light-scale
...
Scale vertex lit lights by environment scale
2019-07-01 16:28:17 +02:00
qarmin
4e5310cc60
Some code changed with Clang-Tidy
2019-06-26 15:08:25 +02:00
Rémi Verschelde
5c66771e3e
Merge pull request #29283 from qarmin/fix_some_always_same_values
...
Remove always true/false values
2019-06-20 21:10:10 +02:00
qarmin
072e40368e
Fix always true/false values
2019-06-20 16:59:48 +02:00
clayjohn
80d732082b
scale vertex lit lights by envorionment scale
2019-06-19 16:20:14 -07:00
Bastiaan Olij
4ebedb5f11
Made constants fully upper case in camera server
2019-06-19 22:24:54 +10:00
Rémi Verschelde
0cdbf7315b
Merge pull request #29751 from lawnjelly/skin-fix
...
Fixes crash with rigged meshes on some OpenGLES2 devices
2019-06-18 16:41:58 +02:00
lawnjelly
e36e9fdb1c
Fixes crash with rigged meshes on some OpenGLES2 devices
...
Non-tools OpenGLES2 devices that use the USE_SKELETON_SOFTWARE path (i.e. do not support float texture) depend on surface->data being set containing the bone IDs and weights (rasterizer_scene_gles2.cpp, line 1456, RasterizerSceneGLES2::_setup_geometry). However currently if TOOLS_ENABLED is not defined, surface->data is not stored in main memory in rasterizer_storage_gles2.cpp. This causes a crash in rasterizer_scene_gles2.cpp when a rigged object comes into view.
This fix addresses the specific case of skinned objects when USE_SKELETON_SOFTWARE is active, and stores a copy of the bone data, as is done when TOOLS_ENABLED is defined. This fixes the crash by allowing the same mechanism as on desktop, without adding the memory overhead of storing all vertex data where not required.
Fixes #28298
2019-06-18 09:42:07 +01:00
Rémi Verschelde
6ba1b4e371
Merge pull request #29764 from Calinou/boot-splash-no-filter-option
...
Add an option to disable boot splash filtering
2019-06-16 10:39:53 +02:00
Hugo Locurcio
786a7341a7
Add an option to disable boot splash filtering
...
Disabling filtering is usually desired in projects using a pixel art style.
This closes #19415 .
2019-06-15 23:53:39 +02:00
BastiaanOlij
02ea99129e
Adding a new Camera Server implementation to Godot.
...
This is a new singleton where camera sources such as webcams or cameras on a mobile phone can register themselves with the Server.
Other parts of Godot can interact with this to obtain images from the camera as textures.
This work includes additions to the Visual Server to use this functionality to present the camera image in the background. This is specifically targetted at AR applications.
2019-06-15 21:30:32 +10:00
Fabio Alessandrelli
9773350537
Fix HTML5 build failed due to undefined symbol
2019-06-14 23:32:48 +02:00
Rémi Verschelde
c8db517993
Merge pull request #29316 from Chaosus/shader_const
...
Added constant support to shaders
2019-06-12 14:26:45 +02:00
Rémi Verschelde
971b5160c6
Merge pull request #29306 from qarmin/small_code_fixes
...
Small fixes to unrechable code, possibly overflows, using NULL pointers
2019-06-12 12:49:21 +02:00
Rémi Verschelde
f18121824c
Add missing license headers
...
Make `fix_headers.py` script compatible with Python 3.
2019-06-11 15:33:32 +02:00
Rémi Verschelde
0677383907
Merge pull request #29496 from clayjohn/dlopen-fix-gles2
...
Use def ANDROID_ENABLED so android features are not included in web builds
2019-06-11 11:48:38 +02:00
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
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
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
c2e2bcbca9
Fix -Werror=maybe-uninitialized in GLES2 on release builds
...
Issue introduced in #28796 .
2019-05-29 16:40:06 +02:00
clayjohn
2b59bd7695
separate culling state management from material
2019-05-27 11:45:53 -07: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
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
Bastiaan Olij
3ea778e66e
Implement shadow to opacity
2019-05-21 20:07:46 +10: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
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
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
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
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
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
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
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
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
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
c562a7d149
Merge pull request #27067 from shartte/remove-context-gl
...
Remove ContextGL
2019-04-07 12:38:55 +02:00
Sebastian Hartte
3a8c6db513
Remove ContextGL since as an abstraction it's unused.
2019-04-06 17:52:52 +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
cffbb99327
Merge pull request #27411 from KidRigger/raster_store
...
Added GLES2 RenderStorage Info calculations.
2019-04-05 15:22:22 +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
clayjohn
5056b4a02c
keep DEPTH from causing compile error in GLES2
2019-03-28 22:14:41 -07: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
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
clayjohn
13eee31461
increase size of radiance map in gles2
2019-03-10 22:08:08 -07:00
clayjohn
63bb6808e6
gles2 reallocate texture when transparent is set
2019-03-09 10:56:51 -08: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
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