Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-12-15 | Use instanced array buffer instead of UBO for canvas item batching | clayjohn | |
This simplifies the generated shader code which increases both performance and compile time on low end devices | |||
2022-12-11 | OpenGL: Fix scene shader error when using Omni or Spot but not both | Rémi Verschelde | |
Fixes #69886. | |||
2022-12-05 | Clean up specialization constants in OpenGL scene renderer | clayjohn | |
Also add support for disabling omni and spot lights when not used | |||
2022-12-05 | Merge pull request #69521 from clayjohn/GLES3-glsl | Rémi Verschelde | |
Expose emulated *Unorm4x8 glsl functions in non-android builds | |||
2022-12-04 | Exposure emulated *Unorm4x8 glsl functions in non-android builds | clayjohn | |
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-03 | Implement CAMERA_VISIBLE_LAYERS as built-in shader variable | NumbuhFour | |
2022-12-03 | Merge pull request #69522 from clayjohn/IBL-black-metal | Rémi Verschelde | |
Allow black metallic materials to reflect IBL | |||
2022-12-03 | Merge pull request #69514 from clayjohn/IBL-roughness | Rémi Verschelde | |
Properly remap roughness when reading from radiance map | |||
2022-12-02 | Allow black metallic materials to reflect IBL | clayjohn | |
2022-12-02 | Properly remap roughness when reading from radiance map | clayjohn | |
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-01 | Merge pull request #69325 from clayjohn/GLES3-skeletons | Rémi Verschelde | |
Add Skeletons and Blend Shapes to the OpenGL renderer | |||
2022-11-29 | Enable GLES3 on Android | clayjohn | |
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-29 | Add Skeletons and Blend Shapes to the OpenGL renderer | clayjohn | |
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-21 | Expose model_matrix in GLES3 scene fragment shader | clayjohn | |
2022-11-20 | Merge pull request #68830 from Ayush-singla27/issuebranch | Rémi Verschelde | |
fixed incorrect mesh normals in shaders | |||
2022-11-18 | Fix 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-19 | fixed incorrect mesh normals in shaders | Ayush Singla | |
2022-11-14 | Add 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-28 | Add 2D shadows and canvas SDF to OpenGL3 renderer | clayjohn | |
This is an initial implementation based on the current RD implementation Performance will improve later | |||
2022-10-27 | Merge pull request #66107 from devloglogan/ambient-light-disabled-fix | Clay John | |
Fix ambient_light_disabled render mode flag | |||
2022-10-21 | Add multiview to the opengl3 driver | David Snopek | |
2022-10-14 | Fix error in Web builds that resulting in 2D | clayjohn | |
objects not drawing in the GLES3 backend. Issue came from not binding a light UBO when using the DISABLE_LIGHTING code path | |||
2022-10-12 | Add 2D lights to OpenGL3 canvas renderer | clayjohn | |
This is an initial implementation using the same single-pass approach as the RenderingDevice. | |||
2022-10-06 | Use a giant UBO to optimize performance in 2D | clayjohn | |
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-03 | Properly expose TEXTURE_PIXEL_SIZE in Opengl3 renderer | clayjohn | |
2022-09-19 | enabled ambient_light_disabled render mode flag | Logan Lang | |
2022-09-13 | Move 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-12 | Apply energy conservation to LAMBERT_WRAP and TOON diffuse modes by dividing ↵ | clayjohn | |
by PI | |||
2022-09-06 | Fix 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-31 | Implement 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-23 | Add font LCD sub-pixel anti-aliasing support. | bruvzg | |
2022-08-13 | Implement Octahedral on OpenGL3 | Omar El Sheikh | |
2022-08-08 | Merge pull request #62547 from clayjohn/ref_vec_pbr | Rémi Verschelde | |
2022-08-07 | Add a shadow opacity property to Light3D | Hugo 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-01 | Fix various bugs in GLES3 renderer that stopped it from running on web | clayjohn | |
2022-08-01 | Merge pull request #63587 from clayjohn/specular-occlusion | Rémi Verschelde | |
Treat specular less than 0.02 as occlusion | |||
2022-07-31 | Treat specular less than 0.02 as occlusion | clayjohn | |
This is a very common hack used in almost all PBR renderers to allow removing specular contribution in dielectric materials | |||
2022-07-28 | Rename RenderingServer global shader uniform methods to be more explicit | Hugo Locurcio | |
The `global_shader_uniform` name is longer, but it makes it much easier to find the methods when searching in the class reference. | |||
2022-07-27 | Merge pull request #62364 from clayjohn/GLES3-sky-optimization | Rémi Verschelde | |
2022-07-02 | SCons: Properly track codegen script dependency for generated GLSL headers | Rémi Verschelde | |
2022-06-29 | Evaluate specular reflections using specular dominant direction instead of ↵ | clayjohn | |
assuming mirror reflections | |||
2022-06-22 | Precompute on the CPU as much as possible for the Cubemap filter shader | clayjohn | |
2022-06-14 | Implement MultiMesh in 3D and flesh out MultiMesh functions | clayjohn | |
2022-05-25 | Implement 2D Meshes and MultiMeshes in GLES3 backend | clayjohn | |
2022-05-24 | Add clipping, backbuffer, and CanvasGroups to 2D GLES3 renderer | clayjohn | |
As well as significant consequent cleanup in the RenderTarget, Texture, and Canvas renderer code | |||
2022-05-19 | Fix sky updating when DirectionalLight mode changed and shader compatibility ↵ | clayjohn | |
for certain drivers | |||
2022-05-18 | Fix tonemapper shader to correctly apply alpha channel | Yuri Rubinsky | |
2022-05-16 | Add basic lighting to GLES3 renderer. | clayjohn | |
This includes all three light types and IBL, but does not include shadows or any form of GI | |||
2022-05-16 | Fix computation of screen_uv | Somnath Sarkar | |
2022-05-12 | Basic 3D rendering | clayjohn | |