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
d79c8d7655
Fix vertex lighting in GLES2, closes #25365
2019-02-23 19:53:04 -03: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
JFonS
32e7641667
Revert back to ignoring LIGHT_VEC for 2D shadows
2019-02-21 12:16:10 +01:00
clayjohn
9b0326d2f3
added shadow_color property to gles2
2019-02-17 23:57:57 -08: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
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
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
Juan Linietsky
2e5ede7a4e
Properly discard fragments during depth prepass opaque pass, fixes #23321
2019-01-27 20:20:07 -03: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
7fa41f17a6
Makes screen texture work in GLES2 (2D for now), fixes #23604
2019-01-24 17:00:33 -03:00
Juan Linietsky
2d57ec2460
Fix problem with texture2Dlod, closes #25263
2019-01-23 17:06:37 -03: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
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
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
1504c96112
Merge pull request #24539 from BastiaanOlij/override_gl_position
...
Override GL_position
2019-01-04 15:40:05 +01:00
Rémi Verschelde
b16c309f82
Update copyright statements to 2019
...
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Avril
971c05dc5e
fixes glsl syntax error
2018-12-29 15:37:50 +01:00
Bastiaan Olij
9f266cf7e5
Override GL_position
2018-12-29 23:56:50 +11:00
Juan Linietsky
a366d45856
-Implented 2D Mesh support for GLES2
...
-Implemented 2D Skeleton deform for GLES2
-Implement Multimesh support for GLES2, closes #20524 , closes #21839
2018-12-27 20:41:04 -03:00
Rémi Verschelde
57416bfbce
GLES2: Define 'lowp' for OpenGL 2.1
...
Precision qualifiers are only used on OpenGL ES 2.0 and 3.0,
and while OpenGL 3.3 defines them for compatibility (but without
practical effect), they're missing from OpenGL 2.1, so we define
them to prevent compilation errors.
Fixes #24521 .
2018-12-21 15:14:58 +01:00
Juan Linietsky
3bdd1ff387
Support lights and shadows in GLES2, fixes #21853
2018-12-20 10:10:30 -03:00
Rémi Verschelde
b3f6e54cc6
Style: Fix formatting in GLES2 shaders
2018-12-20 10:33:48 +01:00
Gitea
9f48094982
fix gles2 spotlight problem
2018-12-20 15:01:59 +08:00
Juan Linietsky
aa819a8538
Properly support light shaders in GLES2, fixes #21651
2018-12-19 10:25:45 -03:00
Juan Linietsky
bec76cfa19
Change how rects are drawn (and also will help batching eventually), to workaround problem in #9913
2018-12-18 17:50:35 -03:00
Rémi Verschelde
20379119c3
Merge pull request #24366 from BastiaanOlij/adjust_sky_orientation
...
Adding option to re-orient our sky
2018-12-16 22:56:43 +01:00
Bastiaan Olij
205bcff279
Fix highp issue in lens shader on gles2
2018-12-16 08:47:47 +11:00
Bastiaan Olij
f3dd3c0830
Adding option to re-orient our sky
2018-12-15 19:41:34 +11:00
Rémi Verschelde
37e198c320
Merge pull request #23483 from clayjohn/fragment_camera_view
...
Make VIEW vector available in fragment shader
2018-12-11 20:44:41 +01:00
clayjohn
2042d6214e
make VIEW vector available in fragment
2018-12-11 09:44:38 -08:00
muiroc
2827ee77d0
gles2 implemented VIEWPORT_SIZE builtin for spatial shader
2018-12-11 18:11:07 +01:00
David Sichma
1a7d1d88f8
Fixed black artifacts on SpatialMaterial [GLES2]
2018-11-24 16:51:32 +01:00
Juan Linietsky
bb9127a78b
Removed unnecesary normal multiplication (only culling was really needed), fixes #17776
2018-11-16 10:52:31 -03:00
Juan Linietsky
55f5f4757e
Merge pull request #23248 from dlasalle/fog
...
Add parameters for fog end depth and use alpha as density.
2018-11-14 10:24:55 -03:00
Dominique LaSalle
6eae6247e4
Add parameter for fog max depth and use alpha as density.
2018-11-13 17:19:11 -08:00
Rémi Verschelde
8849d3b47d
Merge pull request #22639 from tagcup/opt
...
Avoid some unnecessary calculations in scene.glsl.
2018-11-12 21:22:57 +01:00
Pedro J. Estébanez
11815a23dc
Fix GLES2 automatic texture lookup in canvas
...
After this change the color will only be fetched if the shader code doesn't use it explicitly, to match the GLES3 behaviour.
Fixes #23179 .
2018-10-28 02:37:34 +01:00
Rémi Verschelde
b9eb3a048e
GLES2: Fix shadows shader error for SpotLights
...
Fixes #23268 .
2018-10-25 12:14:02 +02:00
Rémi Verschelde
cfa8ef1f77
Merge pull request #23186 from BastiaanOlij/fix_gles2_stereo_sky
...
Fixed stereoscopic (VR) sky in GLES2
2018-10-24 15:16:36 +02:00
Rémi Verschelde
053da2b487
GLES2: Fix typo in tangent calculation
...
Thanks @tagcup for the find.
Fixes #23234 .
2018-10-24 11:10:16 +02:00
Bastiaan Olij
ef06079ad1
Fixed stereoscopic (VR) sky in GLES2
2018-10-21 11:36:01 +11:00
Ferenc Arn
35ea827e83
Avoid some unnecessary calculations in scene.glsl.
2018-10-11 10:34:37 -04:00
Leon Krause
7a4d5ddb4d
Format GLES2 scene.glsl
2018-10-06 02:17:24 +02:00
Leon Krause
e869d53e6d
Fix GLES2 uniform precision
2018-10-06 02:15:04 +02:00
Jean-François Michaud
700d5d26c9
Fix #22591 : shader failed to compile when shadow enabled because of incompatible assignment of vec3 to a vec4.
2018-10-03 13:42:17 -04:00
Juan Linietsky
286b70839e
vertex lit optimization for fog.
2018-10-02 19:08:33 -03:00
Juan Linietsky
11f088279d
Implemented FOG support in GLES2.
2018-10-02 18:53:16 -03:00
Rémi Verschelde
45842c0ea9
Merge pull request #22627 from akien-mga/gles2-pixel-snap
...
GLES2: Implement pixel snap 2D option
2018-10-02 19:09:34 +02:00
Ferenc Arn
658c2b6eee
Bring accidentally commented out lines back.
...
Oversight by me in #22483 . GLES2 doesn't seem to be supporting anisotropy at the moment anyway ---in case it gets revived.
2018-10-02 12:44:31 -04:00
Rémi Verschelde
ac2a4771d5
GLES2: Implement pixel snap 2D option
2018-10-02 15:53:24 +02:00
Rémi Verschelde
9c93a401b9
Merge pull request #22483 from tagcup/fresnel
...
Restore the Fresnel term in the BRDF.
2018-10-02 15:18:31 +02:00
Rémi Verschelde
6e619ccb24
Merge pull request #22562 from muiroc/gles2_canvas_skip_transform
...
Uses skip_vertex_transform in GLES2 canvas shader
2018-10-02 15:12:50 +02:00
Bastiaan Olij
a6df366b23
Moving lens distortion shader into drivers and adding GLES2 support
2018-10-02 17:14:43 +10:00
Rémi Verschelde
85bb1c445c
Style: Run clang-format on shaders again
2018-10-02 08:34:08 +02:00
Juan Linietsky
c24277a520
-Many GLES2 optimizations
...
-Android export fixes (use ETC if GLES2 backend in use)
-revert to thekla atlas because xatlas is not working well
2018-09-30 23:11:24 -03:00
tagcup
9f4e9fcb81
Optimized GGX G function for GLES2.
...
Also changed the mapping of anisotropy to match the common definition.
2018-09-30 16:33:50 -04:00
Ferenc Arn
e94f6aacee
Restore the Fresnel term in the BRDF.
...
Was uncommented in 65fd37c
, mostly likely by mistake since its important.
Also made a few corrections of specular -> specular_blob_intensity (gles2).
2018-09-30 12:17:48 -04:00
muiroc
9a5d867210
Uses skip_transform in gles2 canvas shader
2018-09-30 18:10:58 +02:00
Rémi Verschelde
d3f01a2281
Style: Run clang-format on recent shader changes
2018-09-30 16:31:46 +02:00
Juan Linietsky
ce8294986d
Some more GLES2 tuning..
2018-09-29 23:47:24 -03:00
Juan Linietsky
3333166b07
Many more GLES2 fixes
2018-09-29 19:17:52 -03:00
Juan Linietsky
4115e6d179
This fixes a bug in refprobe blending, but I have no idea when I fixed it. It just started working all of sudden..
2018-09-29 17:03:35 -03:00
Juan Linietsky
0de8309b2c
Many fixes to GLES2 renderer, fixed compilation issues in GLES3 shaders.
2018-09-29 13:49:34 -03:00
Juan Linietsky
c83742ba86
-Lightmap and lightmap capture support for GLES2
...
-Added hint to not show some properties when running on low end gfx
2018-09-28 20:33:18 -03:00
Juan Linietsky
f2ed26d71e
Reflection probe support in GLES2 back-end.
2018-09-28 16:42:47 -03:00
Rémi Verschelde
60312915dc
Fix build after 65fd37c1
, using Math_PI
...
Also fix style in shaders.
2018-09-23 18:26:57 +02:00
Juan Linietsky
65fd37c149
-Rewrote GLES2 lighting and shadows and optimized state changes, did many optimizations, added vertex lighting.
...
-Did some fixes to GLES3 too
2018-09-23 12:14:50 -03:00
Rémi Verschelde
4226d56ca9
Style: Enable clang-format on GLSL shaders
...
As of clang-format 6.0.1, putting the `/* clang-format off */` hint
around our "invalid" `[vertex]` and `[shader]` statements isn't enough
to prevent a bogus indent of the next comments and first valid statement,
so we need to enclose that first valid statement in the unformatted chunk.
2018-08-27 07:34:14 +02:00
Juan Linietsky
62233423c7
Fix generation of env map, closes #18880
2018-08-24 13:31:31 -03:00
Rémi Verschelde
e68b96928b
Style: Fix code formatting in GLES2 shaders
2018-08-24 14:50:59 +02:00
Thomas Herzog
56bab6509c
Merge pull request #21318 from karroffel/gles2-shader-fixes
...
[GLES2] attempt to fix some android problems
2018-08-24 12:14:20 +02:00
Thomas Herzog
d61fc6a97b
Merge pull request #21317 from karroffel/gles2-canvas-texture-sampler-long-branch-name
...
[GLES2] fix canvas_item sampler allocation
2018-08-23 17:11:00 +02:00
Thomas Herzog
a7bedaf935
[GLES2] attempt to fix some android problems
2018-08-23 17:08:16 +02:00
Thomas Herzog
da876907fd
[GLES2] fix canvas_item sampler allocation
2018-08-23 16:46:43 +02:00
Thomas Herzog
8e7454e5d7
enable hardware skeletons
2018-08-23 16:13:45 +02:00
Marcin Zawiejski
bd5ff205b2
Revert "Batch GLES2 draw calls"
...
This reverts commit f55039b194
.
The GLES2 batching seems to require more testing and tweaking in order
to actually make the performance better on Android devices. It's been
proved with #21184 that the current implementation has it's drawbacks
therefore I suggest reverting the commit for now.
2018-08-20 02:10:14 +02:00
Thomas Herzog
b4ce1e3005
Merge pull request #20965 from dragmz/gles2_batching
...
Batch GLES2 draw calls
2018-08-18 18:37:52 +02:00
Marcin Zawiejski
f55039b194
Batch GLES2 draw calls
...
Adds GLES2 draw calls batching for the same render list item that uses
multiple rasterizer commands (e.g. Label node; a node with multiple
GDScript draw_* calls).
2018-08-14 10:47:16 +02:00
Nick Hahn
66eba18969
Fix handling of normals that approach 1
2018-08-12 12:45:43 +02:00
Thomas Herzog
1800664e80
Merge pull request #20805 from karroffel/gles2-misc-fixes
...
unhacking some GLES2 code
2018-08-08 17:28:35 +02:00
Thomas Herzog
73fe08be2e
GLES2 refactors
...
This commit unhacks some parts of the 3D rendering.
Most notably:
- possibility to use negative texture units
(no longer weird manual index allocation for user samplers)
- refactoring of light code, now sorts in a different way,
should yield better performance
- fixes a crash while saving (because of "Illegal instruction" execution)
when using a decent compiler (clang, it's clang. Thanks GCC for not telling me about UB).
2018-08-08 17:09:44 +02:00
Hugo Locurcio
31c12f05c4
Tweak the default SpatialMaterial properties
...
Roughness is now set to 1 by default and albedo is now white,
even on meshes that do not have any materials defined.
This means there is no longer a visual difference between a
mesh with no materials defined and a mesh with a default
SpatialMaterial defined.
2018-08-07 17:04:30 +02:00
karroffel
b64171e79c
add initial GLES2 3D renderer
2018-07-27 14:15:46 +02:00
karroffel
eac4c984df
add GLES 2 renderer for 2D
...
This commit adds a new rendering backend, GLES2, and adds a
project setting to enable it.
Currently this backend can only be used on the X11 platform,
but integrating into other platforms is planned.
2018-03-01 15:12:30 +01:00
Rémi Verschelde
7ad14e7a3e
Dead code tells no tales
2017-08-27 22:13:45 +02:00
Poommetee Ketson
2fd204c35e
Refactor 'treshold' to 'threshold'
2017-07-08 22:24:56 +07:00
Juan Linietsky
12a8fedfe6
Some changes to dual paraboloid envmap generation, fixes somme bleeding
2017-07-05 19:39:45 -03:00
Juan Linietsky
5c6cac4e53
Add normalmap support for drawing in all low level primitives. Only added support in Sprite so far.
2017-06-17 23:27:42 -03:00
Rémi Verschelde
93ab45b6b5
Style: Fix whole-line commented code
...
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Rémi Verschelde
3f3f5a5359
Merge remote-tracking branch 'origin/gles3' into gles3-on-master
...
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
Juan Linietsky
a47c78aed1
Screen space reflection effect
2016-11-29 19:55:12 -03:00
Rémi Verschelde
f34151ff0f
style: Various other PEP8 fixes in Python files
...
Done with `autopep8 --select=E7`, fixes:
- E701 - Put colon-separated compound statement on separate lines.
- E702 - Put semicolon-separated compound statement on separate lines.
- E703 - Put semicolon-separated compound statement on separate lines.
- E711 - Fix comparison with None.
- E712 - Fix (trivial case of) comparison with boolean.
- E713 - Fix (trivial case of) non-membership check.
- E721 - Fix various deprecated code (via lib2to3).
2016-11-01 00:35:16 +01:00
Rémi Verschelde
97c8508f5e
style: Start applying PEP8 to Python files, indentation issues
...
Done with `autopep8 --select=E1`, fixes:
- E101 - Reindent all lines.
- E112 - Fix under-indented comments.
- E113 - Fix over-indented comments.
- E115 - Fix under-indented comments.
- E116 - Fix over-indented comments.
- E121 - Fix a badly indented line.
- E122 - Fix a badly indented line.
- E123 - Fix a badly indented line.
- E124 - Fix a badly indented line.
- E125 - Fix indentation undistinguish from the next logical line.
- E126 - Fix a badly indented line.
- E127 - Fix a badly indented line.
- E128 - Fix a badly indented line.
- E129 - Fix a badly indented line.
2016-11-01 00:33:51 +01:00
Rémi Verschelde
fc8ccd5b8c
SCsub: Add python shebang as a hint for syntax highlighting
...
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
Rémi Verschelde
248bc9159c
drivers: Refactor SCsub and drop redundant env_drivers clone
...
The reordering of the SConscript includes allows to ensure that
stuff like the builtin zlib headers will be available for libpng.
Also moved glew back into global env, otherwise windows seems
not to find it... Kind of shooting in the dark with this multi-env
setup.
2016-10-15 18:10:18 +02:00
Juan Linietsky
cf5778e51a
-Added ViewportContainer, this is the only way to make viewports show up in GUI now
...
-2D editing now seems to work
-Added some functions and refactoring to Viewport
2016-10-05 01:26:35 -03:00
Juan Linietsky
22d83bc9f6
Begining of GLES3 renderer:
...
-Most 2D drawing is implemented
-Missing shaders
-Missing all 3D
-Editor needs to be set on update always to be used, otherwise it does not refresh
-Large parts of editor not working
2016-10-03 21:35:16 +02:00