Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/shaders/gpu_shader_keyframe_shape_frag.glsl
| /* Values in GPU_shader.h. */ | /* Values in GPU_shader.h. */ | ||||
| #define GPU_KEYFRAME_SHAPE_DIAMOND (1 << 0) | #define GPU_KEYFRAME_SHAPE_DIAMOND (1u << 0) | ||||
| #define GPU_KEYFRAME_SHAPE_CIRCLE (1 << 1) | #define GPU_KEYFRAME_SHAPE_CIRCLE (1u << 1) | ||||
| #define GPU_KEYFRAME_SHAPE_CLIPPED_VERTICAL (1 << 2) | #define GPU_KEYFRAME_SHAPE_CLIPPED_VERTICAL (1u << 2) | ||||
| #define GPU_KEYFRAME_SHAPE_CLIPPED_HORIZONTAL (1 << 3) | #define GPU_KEYFRAME_SHAPE_CLIPPED_HORIZONTAL (1u << 3) | ||||
| #define GPU_KEYFRAME_SHAPE_INNER_DOT (1 << 4) | #define GPU_KEYFRAME_SHAPE_INNER_DOT (1u << 4) | ||||
| #define GPU_KEYFRAME_SHAPE_ARROW_END_MAX (1 << 8) | #define GPU_KEYFRAME_SHAPE_ARROW_END_MAX (1u << 8) | ||||
| #define GPU_KEYFRAME_SHAPE_ARROW_END_MIN (1 << 9) | #define GPU_KEYFRAME_SHAPE_ARROW_END_MIN (1u << 9) | ||||
| #define GPU_KEYFRAME_SHAPE_ARROW_END_MIXED (1 << 10) | #define GPU_KEYFRAME_SHAPE_ARROW_END_MIXED (1u << 10) | ||||
| #define GPU_KEYFRAME_SHAPE_SQUARE \ | #define GPU_KEYFRAME_SHAPE_SQUARE \ | ||||
| (GPU_KEYFRAME_SHAPE_CLIPPED_VERTICAL | GPU_KEYFRAME_SHAPE_CLIPPED_HORIZONTAL) | (GPU_KEYFRAME_SHAPE_CLIPPED_VERTICAL | GPU_KEYFRAME_SHAPE_CLIPPED_HORIZONTAL) | ||||
| const float diagonal_scale = sqrt(0.5); | const float diagonal_scale = sqrt(0.5); | ||||
| const float minmax_bias = 0.7; | const float minmax_bias = 0.7; | ||||
| const float minmax_scale = sqrt(1.0 / (1.0 + 1.0 / minmax_bias)); | const float minmax_scale = sqrt(1.0 / (1.0 + 1.0 / minmax_bias)); | ||||
| bool test(uint bit) | bool test(uint bit) | ||||
| { | { | ||||
| return (finalFlags & bit) != 0; | return (finalFlags & bit) != 0u; | ||||
| } | } | ||||
| void main() | void main() | ||||
| { | { | ||||
| vec2 pos = gl_PointCoord - vec2(0.5); | vec2 pos = gl_PointCoord - vec2(0.5); | ||||
| vec2 absPos = abs(pos); | vec2 absPos = abs(pos); | ||||
| float radius = (absPos.x + absPos.y) * diagonal_scale; | float radius = (absPos.x + absPos.y) * diagonal_scale; | ||||
| ▲ Show 20 Lines • Show All 63 Lines • Show Last 20 Lines | |||||