Page MenuHome

Graph Editor: FCurve Extrapolation Visibility
ClosedPublic

Authored by Wayde Moss (GuiltyGhost) on Feb 17 2021, 5:42 AM.

Details

Summary
Experimental Windows Build under the name: temp_T76472_graph_editor_fcurve_extrapolation. For the build, ghost Fcurves will always draw with extrapolation. But the patch has been updated so they are also affected by the new setting

Adds toggle to graph editor (View->Show Extrapolation). When disabled, then fcurves only draw over the keyframe range. For baked fcurves and ghost fcurves, the range is all sampled points.
It is intended for frequent use (as only selected handles and only selected keyframes) so anybody could assign hotkey or add to quick favorites that's why GE-View is the best place for it.

Show Extrapolation is the default.


Technical Notes:

  • draw_fcurve_curve(): There are now explicit checks for floating point poor accuracy cases. Without them, then there would be visual flickering when no extrapolation is drawn and there is a discontinuity at the end (due to cyclic modifier). This removes the need for the +samplefreq in etime = v2d->curxmax + samplefreq. It also removes the need to do so on fcu_start/fcu_end.
  • draw_fcurve_curve(): Besides the previous note, the only other meaningful change is the if(!draw_extrapolation) branch which just changes stime/etime to match the keyframe bounds instead.

Extrapolation Off:

Extrapolation On:

Quick test file:
Just a circular moving bone with cyclic modifiers.

Diff Detail

Repository
rB Blender

Event Timeline

Wayde Moss (GuiltyGhost) requested review of this revision.Feb 17 2021, 5:42 AM
Wayde Moss (GuiltyGhost) created this revision.
Wayde Moss (GuiltyGhost) retitled this revision from Graph Editor: FCurve Extrapolation Visibility T76472 to Graph Editor: FCurve Extrapolation Visibility.Feb 17 2021, 5:46 AM
Wayde Moss (GuiltyGhost) edited the summary of this revision. (Show Details)
  • ghost fcurve drawing uses Show Extrapolation setting

Tested and i works great as expected!
Thank you !

(I know the fix for the ghosting isnt in the build, but It should be fairly obvious)

This revision is now accepted and ready to land.Feb 24 2021, 7:51 AM
Stanislav Ovcharov (Stan1) edited the summary of this revision. (Show Details)