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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user