summaryrefslogtreecommitdiff
path: root/drivers/gles3
AgeCommit message (Collapse)Author
2022-08-12Bind uniform buffer locations for lights even when no lights present to ↵clayjohn
comply with strict webGL drivers
2022-08-08Fix macOS and iOS defines in the rendering code.bruvzg
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-06Check also GLES3 in CIRafał Mikrut
2022-08-04Rename shader parameter uniform setter/getter methods for consistencyHugo Locurcio
`shader_uniform` is now consistenly used across both per-shader and per-instance shader uniform methods. This makes methods easier to find in the class reference when looking for them.
2022-08-04Force disable S3TC support on Android/iOS since we don't handle itRémi Verschelde
Fixes #63909 for now. This could be improved in the future if we want to properly support S3TC on mobile.
2022-08-02Add spatial built-ins (camera-pos, object-pos, camera-eye etc.)Patrick Exner
2022-08-02Merge pull request #51672 from Calinou/shader-add-hint-transparent-textureRémi Verschelde
Add `hint_transparent` to use a transparent black placeholder texture
2022-08-01Add `hint_transparent` to use a transparent black placeholder textureHugo Locurcio
This can be used in shaders to avoid the need to supply a transparent placeholder texture manually.
2022-08-01Fix various bugs in GLES3 renderer that stopped it from running on webclayjohn
2022-08-01Merge pull request #63766 from Chaosus/fix_shader_instance_uniformYuri Rubinsky
2022-08-01Fix passing values to the instance uniforms in the shaderYuri Rubinsky
2022-08-01Merge pull request #63761 from BastiaanOlij/gles3_scene_singleton_initRémi Verschelde
2022-08-01Initialise singleton in RendererSceneGLES3Bastiaan Olij
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
2022-07-29fix 'Comparison result is always the same' warningsLinuxUserGD
2022-07-29Merge pull request #63527 from BastiaanOlij/rework_environmentRémi Verschelde
Restructure environment in render implementation
2022-07-29Restructure environment in render implementationBastiaan Olij
2022-07-28Merge pull request #59840 from Calinou/renderingserver-global-uniform-renameRémi Verschelde
2022-07-28Rename RenderingServer global shader uniform methods to be more explicitHugo 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-28Allow changing mipmap LOD bias when FSR 1.0 scaling is not usedHugo Locurcio
Mipmap LOD bias can be useful to improve the appearance of distant textures without increasing anisotropic filtering (or in situations where anisotropic filtering is not effective). `fsr_mipmap_bias` was renamed to `texture_mipmap_bias` accordingly. The property hint now allows for greater precision as well.
2022-07-28Merge pull request #57698 from ↵Rémi Verschelde
bluenote10/feature/rename_translated_to_translated_local
2022-07-27Merge pull request #62364 from clayjohn/GLES3-sky-optimizationRémi Verschelde
2022-07-27Merge pull request #63477 from Chaosus/shader_fix_fogRémi Verschelde
2022-07-27Fix `FOG` built-in in spatial/fragment shaderYuri Rubinsky
2022-07-27Change RendererSceneRender::GeometryInstance so more code is shared among ↵Bastiaan Olij
renderers
2022-07-26Implement shader uniform groups/subgroupsYuri Rubinsky
2022-07-25Code quality: Fix header guards consistencyRémi Verschelde
Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
2022-07-23Implement Vector4, Vector4i, Projectionreduz
Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23Merge pull request #62513 from reduz/shader_preprocessor_remakeRémi Verschelde
2022-07-22Merge pull request #62478 from BastiaanOlij/split_effects_20220628Rémi Verschelde
2022-07-22Clean up Shader Preprocessorreduz
* Moved preprocessor to Shader and ShaderInclude * Clean up RenderingServer side * Preprocessor is separate from parser now, but it emits tokens with include location hints. * Improved ShaderEditor validation code * Added include file code completion * Added notification for all files affected by a broken include.
2022-07-21Rename OSX to macOS and iPhoneOS to iOS.bruvzg
2022-07-19Move screen space effects into a separate classBastiaan Olij
2022-07-18added usage_defines for SPECULAR_SHININESSDavid R
added usage defines for opengl3 renderer
2022-07-17Adding Variable Rate Shading support to GodotBastiaan Olij
Improve GI renderer and add VRS support Implement render device has_feature and move subgroup settings to limit_get
2022-07-16rename translate(d) to translate(d)_local in Transform 2D/3DFabian Keller
2022-07-13Rename soft shadow quality project settings for easier searchingHugo Locurcio
`rendering/quality/shadows` is now `rendering/quality/positional_shadow` to explicitly denote that the settings only affect positional light shadows, not directional light shadows. Shadow atlas settings now contain the word "atlas" for easier searching. Soft shadow quality settings were renamed to contain the word "filter". This makes the settings appear when searching for "filter" in the project settings dialog, like in Godot 3.x.
2022-07-06Prevent possible crash when mesh is freedYuri Rubinsky
2022-07-06Merge pull request #62344 from BastiaanOlij/extract_dependenciesRémi Verschelde
2022-07-06Remove unused anisotropy setter/getter methods in VoxelGIHugo Locurcio
These methods weren't exposed to the scripting API. Anisotropy was used in earlier iterations of VoxelGI, but it was removed as it was too expensive.
2022-07-02SCons: Properly track codegen script dependency for generated GLSL headersRémi Verschelde
2022-06-29Evaluate specular reflections using specular dominant direction instead of ↵clayjohn
assuming mirror reflections
2022-06-28Split dependency logicBastiaan Olij
Split FOG Split visibility notifier Final cleanup of storage classes
2022-06-22Precompute on the CPU as much as possible for the Cubemap filter shaderclayjohn
2022-06-22Split GI effects and fix stereoscopic rendering of GI effectsBastiaan Olij
2022-06-17Introduce eye_offset for correcting stereoscopic reflectionsBastiaan Olij
Use view instead of vertex for reflections.
2022-06-14Implement MultiMesh in 3D and flesh out MultiMesh functionsclayjohn