Commit Graph

96 Commits

Author SHA1 Message Date
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
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
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
Rémi Verschelde b9eb3a048e GLES2: Fix shadows shader error for SpotLights
Fixes #23268.
2018-10-25 12:14:02 +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
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
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 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 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
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
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 a7bedaf935 [GLES2] attempt to fix some android problems 2018-08-23 17:08:16 +02:00
Thomas Herzog 8e7454e5d7 enable hardware skeletons 2018-08-23 16:13:45 +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