Logo by DarkBeam - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Visit the official fractalforums.com Youtube Channel
 
*
Welcome, Guest. Please login or register. January 18, 2019, 11:51:41 AM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1] 2 3 ... 13   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: FRGMENTARIUM 3DICKULUS - Catmull-Rom spline paths ! camera/parameter keyframes !  (Read 16242 times)
Description: adding spline paths for smooth transitions between key frames
0 Members and 1 Guest are viewing this topic.
3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« on: June 24, 2013, 06:53:36 PM »

<a href="http://vimeo.com/moogaloop.swf?clip_id=70304083" target="_blank">http://vimeo.com/moogaloop.swf?clip_id=70304083</a><a href="http://vimeo.com/moogaloop.swf?clip_id=70625008" target="_blank">http://vimeo.com/moogaloop.swf?clip_id=70625008</a>
<a href="http://vimeo.com/moogaloop.swf?clip_id=71036666" target="_blank">http://vimeo.com/moogaloop.swf?clip_id=71036666</a><a href="http://vimeo.com/moogaloop.swf?clip_id=71179077" target="_blank">http://vimeo.com/moogaloop.swf?clip_id=71179077</a>
VariableEasing CurveStart Finish
Power InBounce 1 180
RotAngle OutBounce180 360
Cycles SineCurve 360 540
All 3 ***540 720



***               A brief description of the changes so far                ***

***               Spline Path KeyFrame Camera Control                ***

Added spline paths for Eye Target and Up visible when render mode is not Progessive and animatiion is not running.
TODO: add Up vectors to control points

Added menu item "Edit->Insert Command->Presets->Insert Preset from Current Settings", HotKey "F8"
Inserts KeyFrame in text editor at the cursor position, updates Preset combobox  based on current location and heading

***              Auto Focus focalplane = lookat target               ***

Added AutoFocus checkbox in tutorial#31.frag (Raytracer Tab) when checked the focal plane distance is set at target distance Thanks Vinz  A Beer Cup

***                 Easing curves for float params                   ***

Added menu item "Edit->Add Easing Curve" acts on the currently selected float combo slider, HotKey "F7"
Added for all single float parameters, one of 44 easing effects user can specify start value, finish value, start frame, finish frame and one easing curve.
Frames before start frame will use start value until start frame is reached.
Frames after finish frame will use finish value until end of animation is reached.
These become active when the animation is playing.

***          Three new files under Tutorials               ***

30 - Simple Key Frame Animation.frag
31 - Simple Focal Plane Tracking Target.frag
32 - Simple Multi-Parameter Easing Animation.frag

Latest update..

New!> OpenEXR for render output and texture input files.

> Now has a "Find text" function for the editor and spline path object occlusion.

>  added a switch under "Preferences" to turn off GLPath drawing
       the numbers are fine for animating but the paths and points don't align well or even at all with some engines
       now you can get the splines out of the way if you want.

>  fixed the broken source code highlighter? (sort of)

>  fixed progressive render for equirectangular mode in 3D.frag (posted on Fragmentarium board)

> added Float 2/3/4 slider easing curves, multi looops and ping-pong

> Tabs 'remember' their fragment and settings when enabled (selected) , if there was locked vars you may have to hit build but the numbers should be good  cheesy

> Render Dialog remembers it's state when closed and allows rendering a range of frames.

> Version sensitive highlighting  for 1.0 - 4.3 defaults to 1.1  cheesy

> GLSL assembler browser

> Spline path occlusion works in Qt5 Win exe

 Source Code Modified, original v1.0 by Syntopia

 Windows Executable Compiled against Qt 5.3.2 with MinGW 4.8.2 on a Windows 7 box.

« Last Edit: September 12, 2015, 06:41:26 PM by 3dickulus, Reason: OpenEXR » Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #1 on: July 03, 2013, 02:41:40 AM »

Need some beta testers for Fragmentarium Spline Path Animation got it working nicely  cheesy well it's useable

If any of you brave Fragmentariumists would like to test this out you can post me a note

Thanks Syntopia for the encouraging words Sponge Bob looney

« Last Edit: August 02, 2013, 07:47:36 AM by 3dickulus, Reason: github not in sync » Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
vinz
Iterator
*
Posts: 154


« Reply #2 on: July 03, 2013, 04:11:25 PM »

Woaw great Work 3dickulus A Beer Cup A Beer Cup A Beer Cup A Beer Cup

i will be glad to test it ... just need some time to figure out how to compile fragmentarium  cheesy

is it unlimited keyframe ?
« Last Edit: July 03, 2013, 04:13:20 PM by vinz » Logged
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #3 on: July 03, 2013, 04:19:26 PM »

so, you succsesfully implemented a catmul rom spline interpolation keyframe animation system to fragmentarium !?
arrh, would as well love to have windows binary ... sooo lazy i am ...
Logged

---

divide and conquer - iterate and rule - chaos is No random!
3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #4 on: July 03, 2013, 06:27:54 PM »

Quote
vinz:how to compile fragmentarium
I've altered only the code in the GUI folder, before you compile back it up move the current GUI folder to GUI.bak and put the GUI folder from the zip file in it's place. I think all you have to do is cd to the top folder and type...
Code:
1> qmake
2> make
3> make install
and if you have all the right stuff installed it should fly

Quote
vinz: is it unlimited keyframe ?
the key frames are stored in the GLSL code as presets named KeyFrame.nnn so I guess that would be limited by how much space is available for GLSL
looking at storing and reading from files so as not to hog up valuable resources in the GLSL code realm, I would like to use a spline description for camera controls only and leave the object control stuff in the GLSL part
the last test I did was with 12 keyframes 900 frames no problem

UPDATE The layout is so... you rendered an image you like in hires and created a <something>.png Files folder,
that saves a copy of your GLSL code with the current parameters as the 'default' preset, the only preset. Load that into Fragmentarium(hacked version) and start adding KeyFrame presets, these only have camera coords so there should be room for lots of them. when animating the render engine will use the settings in the default preset and the keyframes as control points for a spline path. This works with Kali's living creature type object morphing too, in fact, you can't animate without it (code marked in screenshot must be present in your GLSL) btw, tnx Kali  A Beer Cup

a few cavaets as noted above and...

the spline curve passes through all the controlpoints but overshoots the end a bit and a spline point ie:a single frame, may not land exactly on a control point so the keyframe viewed by clicking an entry in the list in the Animation Controller window is an approximation and may not be exactly the same frame as setting a view from the Presets  menu, need better math skills to get this sorted.
UPDATE I think I solved the overshoot problem  cheesy

Quote
cKleinhuis: so, you succsesfully implemented a catmul rom spline interpolation keyframe animation system to fragmentarium !?
well, to the best of my abilities anyways, the QtSpline.cpp code I added is capable of rendering the spline(s) via GL commands but I'm not sure (yet) of how to go about getting the perspective and scale just right, it sure would be nice to be able to see the curves and points, kinda flying blind but at least we're flying! Ultimately I would like to not use the presets and edit/add/delete the control points directly.

tnx A Beer Cup

« Last Edit: July 13, 2013, 11:21:25 PM by 3dickulus, Reason: bug fix » Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #5 on: July 03, 2013, 08:28:05 PM »

Quote
a few cavaets as noted above and...

the spline curve passes through all the controlpoints but overshoots the end a bit and a spline point ie:a single frame, may not land exactly on a control point so the keyframe viewed by clicking an entry in the list in the Animation Controller window is an approximation and may not be exactly the same frame as setting a view from the Presets  menu, need better math skills to get this sorted.

maybe my math skills aren't so bad  embarrass the above is still true but using this to figure out the frame number seems to get the spline point closest to the control point, so for anyone that has grabbed the code either grab the latest (same place same name) or make the following change...
at around line 250 in AnimationController.cpp change the jumpToKeyFrame routine like this
Code:
void AnimationController::jumpToKeyFrame(QListWidgetItem *it) {
 int kfr = keyFrameList->row(it);
 float t = (1.0/animationSettings.getKeyFrameCount());
 int fr = (t*kfr)*(0.5+animationSettings.totalFrames());
 animationSettings.setFrame(fr);
};
the 0.5 takes care of some float to int rounding error and voila!

the animation controller is not where the keyframes are edited anyways so this works for me smiley

EDIT: hmmm that's not quite it either... still, works for me.
« Last Edit: July 04, 2013, 09:49:24 AM by 3dickulus, Reason: speculation » Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
vinz
Iterator
*
Posts: 154


« Reply #6 on: July 05, 2013, 01:01:21 AM »

I think here is a better place to share the file:


for cKleinhuis and others who are interested with, here a link to a working FRAGMENTARIUM 3dickulus hack ( for win )


http://ge.tt/3r0yQzk/v/0?c

info: To gain some place i've removed every frag inside the folder, just keep the default one and the animated mandelbulb from 3dickulus.
info: the link stay available for 14 days if i've well understood.
info : not deeply tested yet, use at your own risk hahahahaha !
  cheesy
« Last Edit: July 05, 2013, 01:06:10 AM by vinz » Logged
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #7 on: July 05, 2013, 10:44:09 AM »

thank you for the executable, it seems to run, but on my laptop no chance of comnfortably checking it out,
damn it ... i am totally thrown back for 2 monthes now !!
Logged

---

divide and conquer - iterate and rule - chaos is No random!
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #8 on: July 05, 2013, 10:45:40 AM »

and people,  lets talk about branching the repository, or how to bring it back to the main trunk,
it is a useful extension to an already useful tool, would be nice to have it available any time
soon officially!
Logged

---

divide and conquer - iterate and rule - chaos is No random!
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #9 on: July 05, 2013, 10:53:19 AM »

can you provide a mini step tutorial on how to blend between keyframes?!?!?
do they need to be defined as presets?
Logged

---

divide and conquer - iterate and rule - chaos is No random!
3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #10 on: July 05, 2013, 03:41:59 PM »

How-To create a KeyFrame Anim:

Make sure the cursor is at the end of the GLSL script
Select Menu Item...
Edit->Insert Command->Presets->Insert Preset From Current Settings

This will give you the opportunity to choose a name or use the one provided:
For a NON-KeyFrame preset change the name to whatever you like.
Leave it as is to add this as a KeyFrame, must be named "KeyFrame.nnn" and it will auto increment as you add new ones.

Must have at least 2 KeyFrames to begin animating.

Suggest starting with only a default Preset.

After adding a few click the "Animation" button and hit play. You should see your keyframes play. afro

----------------------------------------------------------------------------------------------------------------
Recommend If you want to create anims don't edit the presets unless you really need to.
----------------------------------------------------------------------------------------------------------------

If you already have keyframes and want to adjust one...

Apply KeyFrame.nnn you want to edit as current view (from the Preset selection in the Parameters area)

Make changes to your view, where you look at, location etc,

Block mark the KeyFrame.nnn in the editor

In the menu select "Edit->Insert Command->Presets->Insert Preset From Current Settings"

You will be prompted for a new name, the name will have auto incremented
Give it the name KeyFrame.nnn where nnn is the same number as the frame you are replacing

New camera coordinates will replace the block marked keyframe.

That's it  cheesy

I basically go surfing around saving keyframes as I go then play the anim, if I don't like it I delete the whole thing and start again

« Last Edit: October 15, 2013, 11:02:56 AM by 3dickulus, Reason: updated to reflect current state » Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
vinz
Iterator
*
Posts: 154


« Reply #11 on: July 05, 2013, 03:42:57 PM »

Hahahahahaha cheesy

« Last Edit: July 05, 2013, 03:49:41 PM by vinz » Logged
vinz
Iterator
*
Posts: 154


« Reply #12 on: July 05, 2013, 03:50:25 PM »

Thanks to you ! cheesy

Hey 3Dickulus !

My First Request ... please it's very important to have the ability to animate the Aperture and focal Plane Slider.
i know they are a bit different than camera parameters but they are very necessary to me. do you think it's complicated to add ? cheesy
Logged
3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #13 on: July 05, 2013, 03:59:49 PM »

I plan to adapt easing in and out for other parameters, have a look at the Qt "Easing" demo to see what I mean.
Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
vinz
Iterator
*
Posts: 154


« Reply #14 on: July 05, 2013, 04:13:53 PM »

not sure to have well understood , it isn't possible to do a splines interpolation between the others parameters ? for what i know easing in and out are used for two points animations , right?
edit: AH? you mean we can use easing curve between each keyframe right? would be great !
« Last Edit: July 05, 2013, 04:18:06 PM by vinz » Logged
Pages: [1] 2 3 ... 13   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Setting a parameter in all keyframes at once... Mandelbulber nameinuse2 2 1145 Last post January 25, 2011, 07:56:58 PM
by Buddhi
inserting intermediate keyframes along the parameter splines Mandelbulber huminado 0 891 Last post November 25, 2011, 07:03:16 PM
by huminado
Mandelbulber - idea for spline editing Help & Support eiffie 6 258 Last post February 13, 2013, 07:08:24 AM
by Apophyster
Catmull-Rom Fragmentarium JosLeys 4 1189 Last post July 24, 2013, 01:05:18 AM
by marius
Fragmentarium spline paths Animations Showcase (Rate My short Animation) 3dickulus 2 813 Last post August 22, 2013, 08:41:41 AM
by 3dickulus

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.133 seconds with 28 queries. (Pretty URLs adds 0.007s, 2q)