Commit: 244f61e9e9af12d218d7c3c3a4d442c7efcd5204
Author: Jeroen Bakker
Date: Fri Dec 2 10:59:41 2022 +0100
Branches: temp-vulkan-shader
https://developer.blender.org/rB244f61e9e9af12d218d7c3c3a4d442c7efcd5204
Fix motion patch shaders.
===================================================================
M
source/blender/draw/engines/overlay/shaders/overlay_motion_path_line_vert.glsl
===================================================================
diff --git
a/source/blender/draw/engines/overlay/shaders/overlay_motion_path_line_vert.glsl
b/source/blender/draw/engines/overlay/shaders/overlay_motion_path_line_vert.glsl
index a56ca6d41b8..331dcdf6519 100644
---
a/source/blender/draw/engines/overlay/shaders/overlay_motion_path_line_vert.glsl
+++
b/source/blender/draw/engines/overlay/shaders/overlay_motion_path_line_vert.glsl
@@ -13,13 +13,12 @@ vec2 proj(vec4 pos)
return (0.5 * (pos.xy / pos.w) + 0.5) * sizeViewport.xy;
}
-#ifdef GPU_VULKAN
-// TODO(jbakker): Fix this macros.
-#define SET_INTENSITY(A, B, C, min, max) 0.0
-#else
-#define SET_INTENSITY(A, B, C, min, max) \
- (((1.0 - (float(C - B) / float(C - A))) * (max - min)) + min)
-#endif
+float calc_intensity(int segment_start, int segment_current, int segment_end,
float min, float max)
+{
+ return ((1.0 - (float(segment_end - segment_current) / float(segment_end -
segment_start))) *
+ (max - min)) +
+ min;
+}
void main()
{
@@ -44,10 +43,10 @@ void main()
else {
/* black - before frameCurrent */
if (selected) {
- intensity = SET_INTENSITY(frameStart, frame, frameCurrent, 0.25, 0.75);
+ intensity = calc_intensity(frameStart, frame, frameCurrent, 0.25,
0.75);
}
else {
- intensity = SET_INTENSITY(frameStart, frame, frameCurrent, 0.68, 0.92);
+ intensity = calc_intensity(frameStart, frame, frameCurrent, 0.68,
0.92);
}
interp.color.rgb = mix(colorWire.rgb, blend_base, intensity);
}
@@ -60,10 +59,10 @@ void main()
else {
/* blue - after frameCurrent */
if (selected) {
- intensity = SET_INTENSITY(frameCurrent, frame, frameEnd, 0.25, 0.75);
+ intensity = calc_intensity(frameCurrent, frame, frameEnd, 0.25, 0.75);
}
else {
- intensity = SET_INTENSITY(frameCurrent, frame, frameEnd, 0.68, 0.92);
+ intensity = calc_intensity(frameCurrent, frame, frameEnd, 0.68, 0.92);
}
interp.color.rgb = mix(colorBonePose.rgb, blend_base, intensity);
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs