Differential D4921 Diff 15532 source/blender/draw/modes/shaders/edit_curve_overlay_normals_vert.glsl
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/modes/shaders/edit_curve_overlay_normals_vert.glsl
| /* Draw Curve Normals */ | /* Draw Curve Normals */ | ||||
| uniform float normalSize; | uniform float normalSize; | ||||
| in vec3 pos; | in vec3 pos; | ||||
| in vec3 nor; | in vec3 nor; | ||||
| in vec3 tan; | in vec3 tan; | ||||
| in float rad; | in float rad; | ||||
| void main() | void main() | ||||
| { | { | ||||
| GPU_INTEL_VERTEX_SHADER_WORKAROUND | |||||
| vec3 final_pos = pos; | vec3 final_pos = pos; | ||||
| float flip = (gl_InstanceID != 0) ? -1.0 : 1.0; | float flip = (gl_InstanceID != 0) ? -1.0 : 1.0; | ||||
| if (gl_VertexID % 2 == 0) { | if (gl_VertexID % 2 == 0) { | ||||
| final_pos += normalSize * rad * (flip * nor - tan); | final_pos += normalSize * rad * (flip * nor - tan); | ||||
| } | } | ||||
| vec3 world_pos = point_object_to_world(final_pos); | vec3 world_pos = point_object_to_world(final_pos); | ||||
| gl_Position = point_world_to_ndc(world_pos); | gl_Position = point_world_to_ndc(world_pos); | ||||
| #ifdef USE_WORLD_CLIP_PLANES | #ifdef USE_WORLD_CLIP_PLANES | ||||
| world_clip_planes_calc_clip_distance(world_pos); | world_clip_planes_calc_clip_distance(world_pos); | ||||
| #endif | #endif | ||||
| } | } | ||||