Open CoffeeStraw opened 4 years ago
Going even further, there could be a whole set of acceleration operators. Adding gauss and sinus for example.
Acceleration could be an object with operator (or function) as parameter for construction and just repeatedly passing t
through a method afterwards.
My implement is use SSE and AVX SIMD to accelerate it, but it only works on x86's CPU, other architecture just can run in regular code.
My implement is use SSE and AVX SIMD to accelerate it, but it only works on x86's CPU, other architecture just can run in regular code.
I think you misunderstood the issue. This is about implementing a different acceleration method for transformations in ASS format (the standard is the one you use like \t(0,1000,1.5,\fscx120)
, where 1.5 is the value used for acceleration, to make animation follow an esponential curve.
My implement is use SSE and AVX SIMD to accelerate it, but it only works on x86's CPU, other architecture just can run in regular code.
I think you misunderstood the issue. This is about implementing a different acceleration method for transformations in ASS format (the standard is the one you use like
\t(0,1000,1.5,\fscx120)
, where 1.5 is the value used for acceleration, to make animation follow an esponential curve.
I got it, thanks.
Would it need to use FrameUtility? I don't see how you can do an acceleration with a shape without creating more than one line in .ass.
Standard acceleration for transformations is t^x. Be able to use Bézier curves to define custom accelerations of transformations would be very nice. An example of this concept could be found here.
Ideally, Utils.accelerate should be modified to implement this functionality.
UPDATE: Bézier curves should also be implemented to help in non-linear movements of text in frame per frame operations. Support to quadratic and cubic curves is the priority since they are the most used.