This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
blender-archive/source/blender/draw/modes/shaders/overlay_face_wireframe_vert.glsl

43 lines
844 B
GLSL

uniform float wireStepParam;
in vec3 pos;
in vec3 nor;
in float wd; /* wiredata */
float get_edge_sharpness(float wd)
{
#ifndef USE_SCULPT
return ((wd == 0.0) ? -1.5 : wd) + wireStepParam;
#else
return 1.0;
#endif
}
/* Geometry shader version */
#if defined(SELECT_EDGES) || defined(USE_GEOM)
out float facing_g;
out float edgeSharpness_g;
#else /* USE_GEOM */
out float facing;
flat out float edgeSharpness;
# define facing_g facing
# define edgeSharpness_g edgeSharpness
#endif /* SELECT_EDGES */
void main()
{
vec3 wpos = point_object_to_world(pos);
gl_Position = point_world_to_ndc(wpos);
vec3 wnor = normalize(normal_object_to_world(nor));
facing_g = dot(wnor, ViewMatrixInverse[2].xyz);
edgeSharpness_g = get_edge_sharpness(wd);
#ifdef USE_WORLD_CLIP_PLANES
world_clip_planes_calc_clip_distance(wpos);
#endif
}