flam3 compatibility after 1.0.0.8

Issue #27 closed
Former user created an issue

Somewhere between 1.0.0.8 and 1.0.0.17 a compatibility issue with flam3 was introduced. I am suspecting https://bitbucket.org/mfeemster/fractorium/src/4a150132e1a1c801ffa6e18264abe8d680c9c0bc/Data/Version%20History.txt#lines-293 to be the cause.

flam.xml.gz (frame 365)

flam3 result:

1.0.0.8 result:

1.0.0.17 result:

Comments (13)

  1. Daniel Koch

    I clamped the values in the XML and rendered it with flam3. It gives the same “colorful” result. So it doesn’t seam to boil down to the changes made in clamping the values.

  2. Matt Feemster repo owner

    I figured this would happen sooner or later.

    It happened in the .16 release in this commit:

    https://bitbucket.org/mfeemster/fractorium/commits/714cfc633a50a199d400ce966f9b552e6b908000

    in the file Variations01.h. I changed cot and a few other variations (see the commit log) to match what Chaotica does. More people use and care about Chaotica, than old flam3, so I opted for compatibility with the former.

    Play around with the values for cot and while you won’t get the exact same look, you’ll be able to get it looking more filled in and colorful again.

  3. Daniel Koch

    Thank you for the quick response Matt. Pew this is bad news to me. I am maintaining and developing an electricsheep clone (github) and we rely on fractorium for higher resolutions than 1080p. Any chance fractorium will get a compatibility mode that would load the untouched variations? If not i will have to consider forking the .15 release and back porting from there for my project.

  4. Matt Feemster repo owner

    Wow Dan, that sounds like an interesting project. I had no idea anyone was doing that. I wish you’d have told me so I could have kept you in the loop on stuff like this.

    Is anyone using your project yet?

    The good news is that you can easily fix this with a custom build by changing just one file. Here are the steps:

    -Pull fresh

    -Go to the commit I linked above at: https://bitbucket.org/mfeemster/fractorium/commits/714cfc633a50a199d400ce966f9b552e6b908000

    -See the commit notes where I said: -Make the following variations match Chaotica: dust, sin, cos, tan, sec, csc, cot, sinh, cosh, tanh, sech, csch, coth. (Ignore the dust one for your purposes)

    -Click side-by-side diff for Variations01.h

    -Take the left (flam3 compatible) side, copy to a temp file on your machine and merge all of the original code for the sin, cos, tan, sec, csc, cot, sinh, cosh, tanh, sech, csch, coth variations to the Variations01.h file you pulled fresh in step 1.

    -Build the entire project and you’re good to go!

    I don’t envision changing that file much anymore going forward, because it’s where all of the old, original flam3 variations live. So you’ll probably not have to do much when you update for future releases. And on that note, I don’t plan to do many future releases anyway, because this project has reached it’s mature stage so it exists to be used, not to be developed.

    Let me know how it goes.

  5. Matt Feemster repo owner

    Hold off on that solution. I am testing it now and it’s still not working. I will commit a compatibility option in the code that you can use when you build. So hold on a bit…

  6. Daniel Koch

    That is awesome Matt you are doing us a huge favor so no need to hurry!

    Btw. the Project:

    • We had 89 people that at least submitted 1 frame so far
    • As always with such projects people stop submitting but there is a persistent core of people and i have to say we have a really nice community
    • Windows client + Screensaver
    • Linux client + Screensaver

  7. Matt Feemster repo owner

    Great info on the project, thanks. I wish you the best of luck. Always feel free to ping me if you get stuck or need help with anything fractorium related. Always remember you can consult the documentation on fractorium.com for more info. The command line examples there might help.

    As for this bug, I’ve made a commit, so update your code.

    Go to EmberDefines.h and find the new #define FLAM3_COMPAT

    Uncomment that so it’s defined then rebuild. You should be good to go after that.

    Confirm here that it works and I’ll close this issue.

  8. pyroshroom

    Just wondering, as a user who was interested in replicating projects like https://www.youtube.com/watch?v=jVD67pMdv9k in creating HD video renders of electric sheep screensaver. Would it be possible to include full flam3 compatibility as a configurable option in Fractorium without having to rebuild the program from the source?

    No rush on this request though, I haven’t actually found anything breaking the flam3 files from http://v2d7c.sheepserver.net/cgi/best.cgi yet, and I can still get Fractorium 1.0.0.14 at https://drive.google.com/file/d/1qBkG4_h8lyOFTeegY_ft34UCMYelqiHV/view to maintain the flam3 compatibility in event that I do find an issue. (Or figure out how to rebuild it to get the new fixes)

  9. Matt Feemster repo owner

    Ah yes, the 2 hour HD video. I think that is the best free flame video around (there are videos for sale which might be better). It was made by a guy named Simon Detheridge. Fun fact: take a look at the about box in Fractorium, and you’ll see his name. He did a little bit of work years ago, then never heard from him after.

    Your link to 1.0.0.14, make sure you get it soon, I always delete old versions.

    I’m not going to add the compatibility mode. You’re welcome to try though. Feel free to build the source, it’s not that hard. I provide build instructions on this project page.

  10. Matt Feemster repo owner

    Daniel Koch: did my changes resolve your issues? Can you please confirm so I can close this? Thanks.

  11. Matt Feemster repo owner

    I am not seeing any replies from those on this thread, so I will assume my commit allowing for a compatibility build was sufficient. I am closing this issue.

  12. Log in to comment