GPU: remove 'GPU_SHADER_2D_IMAGE'

The only real difference between `GPU_SHADER_2D_IMAGE` and
`GPU_SHADER_3D_IMAGE` is that in the vertex shader the 2D
version uses `vec4(pos, 0.0, 1.0)` and the 3D version uses
`vec4(pos, 1.0)`.

But VBOs with 2D attributes work perfectly in shaders that use 3D
attributes. Components not specified are filled with components from
`vec4(0.0, 0.0, 0.0, 1.0)`.

So there is no real benefit to having two different shader versions.

This will simplify porting shaders to python as it will not be
necessary to use a 3D and a 2D version of the shaders.

In python the new name for '2D_IMAGE' and '3D_IMAGE'
is 'IMAGE', but the old names still work for backward
compatibility.
This commit is contained in:
2022-09-01 12:23:08 -03:00
parent baf2835ff7
commit 0c3953d545
5 changed files with 3 additions and 14 deletions

View File

@@ -16,8 +16,3 @@ GPU_SHADER_CREATE_INFO(gpu_shader_2D_image_common)
.push_constant(Type::MAT4, "ModelViewProjectionMatrix")
.sampler(0, ImageType::FLOAT_2D, "image")
.vertex_source("gpu_shader_2D_image_vert.glsl");
GPU_SHADER_CREATE_INFO(gpu_shader_2D_image)
.additional_info("gpu_shader_2D_image_common")
.fragment_source("gpu_shader_image_frag.glsl")
.do_static_compilation(true);