Skip to content

Commit 285ebed

Browse files
committed
Merge pull request #83360 from ywmaa/vertex_shading
Implement vertex shading
2 parents e7a9104 + 0a9ad8f commit 285ebed

14 files changed

Lines changed: 725 additions & 207 deletions

doc/classes/ProjectSettings.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2863,11 +2863,6 @@
28632863
</member>
28642864
<member name="rendering/shading/overrides/force_vertex_shading" type="bool" setter="" getter="" default="false">
28652865
If [code]true[/code], forces vertex shading for all rendering. This can increase performance a lot, but also reduces quality immensely. Can be used to optimize performance on low-end mobile devices.
2866-
[b]Note:[/b] This setting currently has no effect, as vertex shading is not implemented yet.
2867-
</member>
2868-
<member name="rendering/shading/overrides/force_vertex_shading.mobile" type="bool" setter="" getter="" default="true">
2869-
Lower-end override for [member rendering/shading/overrides/force_vertex_shading] on mobile devices, due to performance concerns or driver support.
2870-
[b]Note:[/b] This setting currently has no effect, as vertex shading is not implemented yet.
28712866
</member>
28722867
<member name="rendering/textures/canvas_textures/default_texture_filter" type="int" setter="" getter="" default="1">
28732868
The default texture filtering mode to use on [CanvasItem]s.

drivers/gles3/rasterizer_scene_gles3.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4125,6 +4125,9 @@ RasterizerSceneGLES3::RasterizerSceneGLES3() {
41254125
global_defines += "\n#define MAX_DIRECTIONAL_LIGHT_DATA_STRUCTS " + itos(MAX_DIRECTIONAL_LIGHTS) + "\n";
41264126
global_defines += "\n#define MAX_FORWARD_LIGHTS " + itos(config->max_lights_per_object) + "u\n";
41274127
global_defines += "\n#define MAX_ROUGHNESS_LOD " + itos(sky_globals.roughness_layers - 1) + ".0\n";
4128+
if (config->force_vertex_shading) {
4129+
global_defines += "\n#define USE_VERTEX_LIGHTING\n";
4130+
}
41284131
material_storage->shaders.scene_shader.initialize(global_defines);
41294132
scene_globals.shader_default_version = material_storage->shaders.scene_shader.version_create();
41304133
material_storage->shaders.scene_shader.version_bind_shader(scene_globals.shader_default_version, SceneShaderGLES3::MODE_COLOR);

0 commit comments

Comments
 (0)