summaryrefslogtreecommitdiff
path: root/drivers/gles3/shaders
AgeCommit message (Collapse)Author
2023-02-04Merge pull request #72695 from clayjohn/CanvasGroup-shadingYuri Sizov
Avoid shading CanvasGroup nodes twice
2023-02-03Avoid shading CanvasGroup nodes twiceclayjohn
2023-02-03Ignore instance color and instance custom_data when not used in the OpenGL ↵clayjohn
renderer
2023-02-01Merge pull request #72485 from BastiaanOlij/add_eye_matrix_accessRémi Verschelde
Expose EYE_OFFSET to gdshader code
2023-02-01Expose EYE_OFFSET to gdshader codeBastiaan Olij
2023-01-31Fix sky rendering with multiview in OpenGLDavid Snopek
2023-01-27Automatically transform Skeleton2D calculations so pivots are not neededclayjohn
2023-01-26Merge pull request #71455 from BastiaanOlij/fix_stereo_screen_depthRémi Verschelde
Make screen texture and depth texture work in Multiview
2023-01-25Make screen texture and depth texture work in MultiviewBastiaan Olij
2023-01-24Fix some SpotLight3D issues (clustering artifacts, light leak)Hendrik Brucker
2023-01-18Remove SCREEN_TEXTURE, DEPTH_TEXTURE, and NORMAL_ROUGHNESS_TEXTUREclayjohn
in favour of texture hints
2023-01-17GLES3: Fix canvas shader use of undefined draw_dataRémi Verschelde
Fixes #71551.
2023-01-14fix normal map not flipping in sprite2Djainl28patel
2022-12-15Use instanced array buffer instead of UBO for canvas item batchingclayjohn
This simplifies the generated shader code which increases both performance and compile time on low end devices
2022-12-11OpenGL: Fix scene shader error when using Omni or Spot but not bothRémi Verschelde
Fixes #69886.
2022-12-05Clean up specialization constants in OpenGL scene rendererclayjohn
Also add support for disabling omni and spot lights when not used
2022-12-05Merge pull request #69521 from clayjohn/GLES3-glslRémi Verschelde
Expose emulated *Unorm4x8 glsl functions in non-android builds
2022-12-04Exposure emulated *Unorm4x8 glsl functions in non-android buildsclayjohn
Originally these functions were exposed on all GLSL ES 300 devices. However, that causes a build error as Android devices expose the *Unorm4x8 functions despite them not being in the ES 300 spec
2022-12-03Implement CAMERA_VISIBLE_LAYERS as built-in shader variableNumbuhFour
2022-12-03Merge pull request #69522 from clayjohn/IBL-black-metalRémi Verschelde
Allow black metallic materials to reflect IBL
2022-12-03Merge pull request #69514 from clayjohn/IBL-roughnessRémi Verschelde
Properly remap roughness when reading from radiance map
2022-12-02Allow black metallic materials to reflect IBLclayjohn
2022-12-02Properly remap roughness when reading from radiance mapclayjohn
This ensures that we consistently use perceptual roughness which matches the behaviour of most other PBR renderers like Blender, Ue4 and Godot 3
2022-12-01Merge pull request #69325 from clayjohn/GLES3-skeletonsRémi Verschelde
Add Skeletons and Blend Shapes to the OpenGL renderer
2022-11-29Enable GLES3 on Androidclayjohn
Add necessary build flags and switch from using a GLES2 context to a GLES3 one. This also enables building for OpenXR Co-authored-by: m4gr3d <fhuyakou@gmail.com> Co-authored-by: dsnopek <dsnopek@gmail.com>
2022-11-29Add Skeletons and Blend Shapes to the OpenGL rendererclayjohn
This uses a similar multipass approach to blend shapes as Godot 3.x, the major difference here is that we need to convert the normals and tangents to octahedral for rendering. Skeletons work the same as the Vulkan renderer except the bones are stored in a texture as they were in 3.x.
2022-11-21Expose model_matrix in GLES3 scene fragment shaderclayjohn
2022-11-20Merge pull request #68830 from Ayush-singla27/issuebranchRémi Verschelde
fixed incorrect mesh normals in shaders
2022-11-18Fix drawing of 2D skeletons in the RD renderer.clayjohn
Also clean up skeleton code in preparation for adding them to GLES3 Properly update Mesh2D AABBs when skeleton is updated
2022-11-19fixed incorrect mesh normals in shadersAyush Singla
2022-11-14Add GPUParticles to the OpenGL3 renderer.clayjohn
This includes collision (2D SDF, Box, Sphere, Heightmap), attraction (Box, Sphere), and all sorting modes. This does not include 3D SDF collisions, trails, or manual emission.
2022-10-28Add 2D shadows and canvas SDF to OpenGL3 rendererclayjohn
This is an initial implementation based on the current RD implementation Performance will improve later
2022-10-27Merge pull request #66107 from devloglogan/ambient-light-disabled-fixClay John
Fix ambient_light_disabled render mode flag
2022-10-21Add multiview to the opengl3 driverDavid Snopek
2022-10-14Fix error in Web builds that resulting in 2Dclayjohn
objects not drawing in the GLES3 backend. Issue came from not binding a light UBO when using the DISABLE_LIGHTING code path
2022-10-12Add 2D lights to OpenGL3 canvas rendererclayjohn
This is an initial implementation using the same single-pass approach as the RenderingDevice.
2022-10-06Use a giant UBO to optimize performance in 2Dclayjohn
This removes the countless small UBO writes we had before and replaces them with a single large write per render pass. This results in much faster rendering on low-end devices but improves speed on all devices.
2022-10-03Properly expose TEXTURE_PIXEL_SIZE in Opengl3 rendererclayjohn
2022-09-19enabled ambient_light_disabled render mode flagLogan Lang
2022-09-13Move debanding into internal sky shader code so that it is applied after ↵clayjohn
everything else. This ensures that the debanding does not scale with exposure or any other effect.
2022-09-12Apply energy conservation to LAMBERT_WRAP and TOON diffuse modes by dividing ↵clayjohn
by PI
2022-09-06Fix rendering when using WebGL2.clayjohn
Fixes include using proper depth buffer format in 3D (this had previously been fixed already but the changes were lost in a rebase), Remove unused lighting and shadowing code in 2D, and update 2D UBOs using glBufferSubData so that they remain the appropriate size.
2022-08-31Implement Physical Light Units as an optional setting.clayjohn
This allows light sources to be specified in physical light units in addition to the regular energy multiplier. In order to avoid loss of precision at high values, brightness values are premultiplied by an exposure normalization value. In support of Physical Light Units this PR also renames CameraEffects to CameraAttributes.
2022-08-23Add font LCD sub-pixel anti-aliasing support.bruvzg
2022-08-13Implement Octahedral on OpenGL3Omar El Sheikh
2022-08-08Merge pull request #62547 from clayjohn/ref_vec_pbrRémi Verschelde
2022-08-07Add a shadow opacity property to Light3DHugo Locurcio
This can be used to make shadows translucent for a specific light. The light distance fade system also uses this to smoothly fade the shadow when the light fade transition distance is greater than 0.
2022-08-01Fix various bugs in GLES3 renderer that stopped it from running on webclayjohn
2022-08-01Merge pull request #63587 from clayjohn/specular-occlusionRémi Verschelde
Treat specular less than 0.02 as occlusion
2022-07-31Treat specular less than 0.02 as occlusionclayjohn
This is a very common hack used in almost all PBR renderers to allow removing specular contribution in dielectric materials