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:
parent
baf2835ff7
commit
0c3953d545
@ -213,7 +213,6 @@ typedef enum eGPUBuiltinShader {
|
||||
* \param pos: in vec2
|
||||
*/
|
||||
GPU_SHADER_2D_SMOOTH_COLOR,
|
||||
GPU_SHADER_2D_IMAGE,
|
||||
GPU_SHADER_2D_IMAGE_COLOR,
|
||||
GPU_SHADER_2D_IMAGE_DESATURATE_COLOR,
|
||||
GPU_SHADER_2D_IMAGE_RECT_COLOR,
|
||||
|
@ -170,11 +170,6 @@ static const GPUShaderStages builtin_shader_stages[GPU_SHADER_BUILTIN_LEN] = {
|
||||
.name = "GPU_SHADER_2D_IMAGE_OVERLAYS_STEREO_MERGE",
|
||||
.create_info = "gpu_shader_2D_image_overlays_stereo_merge",
|
||||
},
|
||||
[GPU_SHADER_2D_IMAGE] =
|
||||
{
|
||||
.name = "GPU_SHADER_2D_IMAGE",
|
||||
.create_info = "gpu_shader_2D_image",
|
||||
},
|
||||
[GPU_SHADER_2D_IMAGE_COLOR] =
|
||||
{
|
||||
.name = "GPU_SHADER_2D_IMAGE_COLOR",
|
||||
|
@ -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);
|
||||
|
@ -118,7 +118,7 @@ static int engine_get_preview_pixel_size(RenderEngine *UNUSED(engine), Scene *sc
|
||||
|
||||
static void engine_bind_display_space_shader(RenderEngine *UNUSED(engine), Scene *UNUSED(scene))
|
||||
{
|
||||
GPUShader *shader = GPU_shader_get_builtin_shader(GPU_SHADER_2D_IMAGE);
|
||||
GPUShader *shader = GPU_shader_get_builtin_shader(GPU_SHADER_3D_IMAGE);
|
||||
GPU_shader_bind(shader);
|
||||
|
||||
int img_loc = GPU_shader_get_uniform(shader, "image");
|
||||
|
@ -47,7 +47,7 @@ void wm_stereo3d_draw_sidebyside(wmWindow *win, int view)
|
||||
uint texcoord = GPU_vertformat_attr_add(format, "texCoord", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
|
||||
uint pos = GPU_vertformat_attr_add(format, "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
|
||||
|
||||
immBindBuiltinProgram(GPU_SHADER_2D_IMAGE);
|
||||
immBindBuiltinProgram(GPU_SHADER_3D_IMAGE);
|
||||
|
||||
int soffx = WM_window_pixels_x(win) * 0.5f;
|
||||
if (view == STEREO_LEFT_ID) {
|
||||
@ -95,7 +95,7 @@ void wm_stereo3d_draw_topbottom(wmWindow *win, int view)
|
||||
uint texcoord = GPU_vertformat_attr_add(format, "texCoord", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
|
||||
uint pos = GPU_vertformat_attr_add(format, "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
|
||||
|
||||
immBindBuiltinProgram(GPU_SHADER_2D_IMAGE);
|
||||
immBindBuiltinProgram(GPU_SHADER_3D_IMAGE);
|
||||
|
||||
int soffy;
|
||||
if (view == STEREO_LEFT_ID) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user