Merge branch 'blender-v3.1-release'
This commit is contained in:
commit
4e93918b35
|
@ -518,8 +518,8 @@ set(GLSL_SRC
|
|||
engines/overlay/shaders/wireframe_frag.glsl
|
||||
engines/overlay/shaders/xray_fade_frag.glsl
|
||||
|
||||
engines/image/shaders/engine_image_frag.glsl
|
||||
engines/image/shaders/engine_image_vert.glsl
|
||||
engines/image/shaders/image_engine_frag.glsl
|
||||
engines/image/shaders/image_engine_vert.glsl
|
||||
)
|
||||
|
||||
set(GLSL_C)
|
||||
|
|
|
@ -94,7 +94,6 @@ template<typename TextureMethod> class ScreenSpaceDrawingMode : public AbstractD
|
|||
|
||||
DRWShadingGroup *shgrp = DRW_shgroup_create(shader, instance_data->passes.image_pass);
|
||||
DRW_shgroup_uniform_vec2_copy(shgrp, "farNearDistances", sh_params.far_near);
|
||||
DRW_shgroup_uniform_vec4_copy(shgrp, "color", ShaderParameters::color);
|
||||
DRW_shgroup_uniform_vec4_copy(shgrp, "shuffle", sh_params.shuffle);
|
||||
DRW_shgroup_uniform_int_copy(shgrp, "drawFlags", sh_params.flags);
|
||||
DRW_shgroup_uniform_bool_copy(shgrp, "imgPremultiplied", sh_params.use_premul_alpha);
|
||||
|
|
|
@ -64,11 +64,7 @@ GPUShader *IMAGE_shader_image_get()
|
|||
{
|
||||
IMAGE_Shaders *sh_data = &e_data.shaders;
|
||||
if (sh_data->image_sh == nullptr) {
|
||||
sh_data->image_sh = DRW_shader_create_with_shaderlib(datatoc_engine_image_vert_glsl,
|
||||
nullptr,
|
||||
datatoc_engine_image_frag_glsl,
|
||||
e_data.lib,
|
||||
nullptr);
|
||||
sh_data->image_sh = GPU_shader_create_from_info_name("image_engine_shader");
|
||||
}
|
||||
return sh_data->image_sh;
|
||||
}
|
||||
|
|
|
@ -35,8 +35,6 @@
|
|||
#include "image_space.hh"
|
||||
|
||||
struct ShaderParameters {
|
||||
constexpr static float color[4] = {1.0f, 1.0f, 1.0f, 1.0f};
|
||||
|
||||
int flags = 0;
|
||||
float shuffle[4];
|
||||
float far_near[2];
|
||||
|
|
|
@ -6,28 +6,11 @@
|
|||
#define IMAGE_DRAW_FLAG_SHUFFLING (1 << 2)
|
||||
#define IMAGE_DRAW_FLAG_DEPTH (1 << 3)
|
||||
|
||||
uniform sampler2D imageTexture;
|
||||
|
||||
uniform bool imgPremultiplied;
|
||||
uniform int drawFlags;
|
||||
uniform vec2 farNearDistances;
|
||||
uniform vec4 color;
|
||||
uniform vec4 shuffle;
|
||||
|
||||
/* Maximum UV range.
|
||||
* Negative UV coordinates and UV coordinates beyond maxUV would draw a border. */
|
||||
uniform vec2 maxUv;
|
||||
|
||||
#define FAR_DISTANCE farNearDistances.x
|
||||
#define NEAR_DISTANCE farNearDistances.y
|
||||
|
||||
#define Z_DEPTH_BORDER 1.0
|
||||
#define Z_DEPTH_IMAGE 0.75
|
||||
|
||||
in vec2 uv_screen;
|
||||
in vec2 uv_image;
|
||||
|
||||
out vec4 fragColor;
|
||||
#define FAR_DISTANCE farNearDistances.x
|
||||
#define NEAR_DISTANCE farNearDistances.y
|
||||
|
||||
bool is_border(vec2 uv)
|
||||
{
|
||||
|
@ -51,7 +34,7 @@ void main()
|
|||
}
|
||||
|
||||
if ((drawFlags & IMAGE_DRAW_FLAG_SHUFFLING) != 0) {
|
||||
tex_color = color * dot(tex_color, shuffle);
|
||||
tex_color = vec4(dot(tex_color, shuffle));
|
||||
}
|
||||
if ((drawFlags & IMAGE_DRAW_FLAG_SHOW_ALPHA) == 0) {
|
||||
tex_color.a = 1.0;
|
|
@ -1,12 +1,5 @@
|
|||
#pragma BLENDER_REQUIRE(common_view_lib.glsl)
|
||||
|
||||
in vec2 pos;
|
||||
in vec2 uv;
|
||||
|
||||
/* Normalized screen space uv coordinates. */
|
||||
out vec2 uv_screen;
|
||||
out vec2 uv_image;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec3 image_pos = vec3(pos, 0.0);
|
|
@ -0,0 +1,21 @@
|
|||
#include "gpu_shader_create_info.hh"
|
||||
|
||||
GPU_SHADER_INTERFACE_INFO(image_engine_iface, "")
|
||||
.smooth(Type::VEC2, "uv_screen")
|
||||
.smooth(Type::VEC2, "uv_image");
|
||||
|
||||
GPU_SHADER_CREATE_INFO(image_engine_shader)
|
||||
.vertex_in(0, Type::VEC2, "pos")
|
||||
.vertex_in(1, Type::VEC2, "uv")
|
||||
.vertex_out(image_engine_iface)
|
||||
.fragment_out(0, Type::VEC4, "fragColor")
|
||||
.push_constant(Type::VEC4, "shuffle")
|
||||
.push_constant(Type::VEC2, "maxUv")
|
||||
.push_constant(Type::VEC2, "farNearDistances")
|
||||
.push_constant(Type::INT, "drawFlags")
|
||||
.push_constant(Type::BOOL, "imgPremultiplied")
|
||||
.sampler(0, ImageType::FLOAT_2D, "imageTexture")
|
||||
.vertex_source("image_engine_vert.glsl")
|
||||
.fragment_source("image_engine_frag.glsl")
|
||||
.additional_info("draw_modelmat")
|
||||
.do_static_compilation(true);
|
|
@ -412,6 +412,7 @@ set(SHADER_CREATE_INFOS
|
|||
../draw/engines/workbench/shaders/infos/workbench_shadow_info.hh
|
||||
../draw/engines/workbench/shaders/infos/workbench_transparent_resolve_info.hh
|
||||
../draw/engines/workbench/shaders/infos/workbench_volume_info.hh
|
||||
../draw/engines/image/shaders/infos/engine_image_info.hh
|
||||
../draw/intern/shaders/draw_fullscreen_info.hh
|
||||
../draw/intern/shaders/draw_object_infos_info.hh
|
||||
../draw/intern/shaders/draw_view_info.hh
|
||||
|
|
Loading…
Reference in New Issue