diff options
Diffstat (limited to 'source/blender/draw/engines/overlay/shaders/infos/overlay_wireframe_info.hh')
-rw-r--r-- | source/blender/draw/engines/overlay/shaders/infos/overlay_wireframe_info.hh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/source/blender/draw/engines/overlay/shaders/infos/overlay_wireframe_info.hh b/source/blender/draw/engines/overlay/shaders/infos/overlay_wireframe_info.hh new file mode 100644 index 00000000000..16b59f6bb7d --- /dev/null +++ b/source/blender/draw/engines/overlay/shaders/infos/overlay_wireframe_info.hh @@ -0,0 +1,52 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "gpu_shader_create_info.hh" + +GPU_SHADER_INTERFACE_INFO(overlay_wireframe_iface, "") + .flat(Type::VEC2, "edgeStart") + .smooth(Type::VEC4, "finalColor") + .no_perspective(Type::VEC2, "edgePos"); + +GPU_SHADER_CREATE_INFO(overlay_wireframe) + .do_static_compilation(true) + .push_constant(Type::FLOAT, "wireStepParam") + .push_constant(Type::FLOAT, "wireOpacity") + .push_constant(Type::BOOL, "useColoring") + .push_constant(Type::BOOL, "isTransform") + .push_constant(Type::BOOL, "isObjectColor") + .push_constant(Type::BOOL, "isRandomColor") + .push_constant(Type::BOOL, "isHair") + .push_constant(Type::MAT4, "hairDupliMatrix") + /* Scene Depth texture copy for manual depth test. */ + .sampler(0, ImageType::DEPTH_2D, "depthTex") + .vertex_in(0, Type::VEC3, "pos") + .vertex_in(1, Type::VEC3, "nor") + .vertex_in(2, Type::FLOAT, "wd") /* wire-data. */ + .vertex_out(overlay_wireframe_iface) + .vertex_source("wireframe_vert.glsl") + .fragment_source("wireframe_frag.glsl") + .fragment_out(0, Type::VEC4, "fragColor") + .fragment_out(1, Type::VEC4, "lineOutput") + .additional_info("draw_mesh", "draw_object_infos", "draw_globals"); + +GPU_SHADER_CREATE_INFO(overlay_wireframe_clipped) + .do_static_compilation(true) + .additional_info("overlay_wireframe", "drw_clipped"); + +GPU_SHADER_CREATE_INFO(overlay_wireframe_custom_depth) + .do_static_compilation(true) + .define("CUSTOM_DEPTH_BIAS") + .additional_info("overlay_wireframe"); + +GPU_SHADER_CREATE_INFO(overlay_wireframe_custom_depth_clipped) + .do_static_compilation(true) + .additional_info("overlay_wireframe_custom_depth", "drw_clipped"); + +GPU_SHADER_CREATE_INFO(overlay_wireframe_select) + .do_static_compilation(true) + .define("SELECT_EDGES") + .additional_info("overlay_wireframe"); + +GPU_SHADER_CREATE_INFO(overlay_wireframe_select_clipped) + .do_static_compilation(true) + .additional_info("overlay_wireframe_select", "drw_clipped"); |