Welcome to Fractal Forums

Fractal Software => Kalles Fraktaler => Topic started by: claude on December 20, 2014, 06:09:47 PM




Title: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: claude on December 20, 2014, 06:09:47 PM
So I tried to compile Kalles Fraktaler on Linux targetting win32, made some progress (mostly adding const all over the place) but now I'm stuck, and the error log is a manageable size now (at the start it was 1.2MB including warnings and notes, now it's 13kB) so I'm asking for help!

The first error I'm having trouble with is:
Code:
/usr/lib/gcc/i686-w64-mingw32/4.6/../../../../i686-w64-mingw32/include/comip.h:12:2: error: #error No __uuidof support for this target

If I comment out this code in common/getimage.cpp:
Code:
#include <comdef.h>
It gives these errors:
Code:
common/getimage.cpp:25:2: error: ‘IPicture’ was not declared in this scope
common/getimage.cpp:25:12: error: ‘pPicture’ was not declared in this scope
common/getimage.cpp:36:44: error: ‘IID_IPicture’ was not declared in this scope
common/getimage.cpp:36:74: error: ‘OleLoadPicture’ was not declared in this scope
common/getimage.cpp:43:5: error: ‘OLE_HANDLE’ was not declared in this scope
common/getimage.cpp:43:5: error: expected primary-expression before ‘)’ token
common/getimage.cpp:104:2: error: ‘IPicture’ was not declared in this scope
common/getimage.cpp:104:12: error: ‘pPicture’ was not declared in this scope
common/getimage.cpp:120:40: error: ‘IID_IPicture’ was not declared in this scope
common/getimage.cpp:120:70: error: ‘OleLoadPicture’ was not declared in this scope
common/getimage.cpp:149:5: error: ‘OLE_HANDLE’ was not declared in this scope
common/getimage.cpp:149:5: error: expected primary-expression before ‘)’ token

I'm guessing the code is supposed to turn raw image data into something that can be displayed into a window.  I did some searching and found suggestions to use VS to create header files for mingw to use on Linux, but I didn't find enough detail to know if it'd be easy.



The other error is more of a C++ thing, and I might be able to solve it if I search enough online:
Code:
common/StringVector.cpp:282:35: error: ‘void* operator new(size_t)’ may not be declared as static
common/StringVector.cpp:286:35: error: ‘void operator delete(void*)’ may not be declared as static
common/StringVector.cpp:290:41: error: ‘void* operator new [](size_t)’ may not be declared as static
EDIT: think I just solved this, by putting them as class members.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: youhn on December 20, 2014, 06:42:18 PM
 :D :D

You got my support for the Linux version! I'm no programmer, but if I can help in any way, please let me know. I can read and write like a few-years old can handle written normal languages, but I do know the whole configure-build-install drill.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: quaz0r on December 20, 2014, 07:11:19 PM
when i first got turned on to fractals i endeavored to port kalles to lunix.  you are basically wasting your time.  the code itself is so windows-centric, and i think intentionally obfuscated by karl so as to discourage anyone actually being able to read it or work with it, its just a monumentally losing battle.  in the code he posts...every variable is named a b c d e f, there is no whitespace or formatting, etc, he clearly did not intend for any human to actually do anything intelligent with his code.  not to mention the outright dubious design decisions he made with his program.  i quickly realized it would take many more lifetimes to successfully port kalles than it would to simply go back to the drawing board and learn the latest stuff about programming, learn the latest stuff about fractals, and just spend some time writing something from scratch.  what a great decision that was.  and with his hardheadedness about his dubious design decisions, like not supporting rendering animations to a series of stills like a normal sane renderer would do, building with visual studio 1.0 for windows 3.1 32bit even though everyone has had a 64bit processor since 20 years ago, forcing ill-conceived functionality on the end user like his "merge frame count," where you have no choice when making animations but to use his autist-inspired functionality of "merging" previous frames into the current frame to "anti-alias" ... omg how ridiculous and terrible that is, and it taints every single video ever made with his program.  you can see plain as day, boxes within boxes, in every single frame of every single video made with his program.  clearly made with rendering as-is no-supersampling videos for the purpose of uploading to youtube which will further degrade the quality of the already tripe-pile mess you have produced in mind, so by the time youtube has mangled your already steamy pile into a furtherly steamy pile maybe you wont notice the boxes within boxes autist-inspired faux-anti-aliasing........ewww. eww, and ugh.  ugh, and eww.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: claude on December 20, 2014, 07:20:02 PM
It's not a Linux version as such.  I'm compiling on Linux, and the result (if successful) will be a win32 exe, so you still need wine32 to run it.  Fully porting kf to Linux would be an epic amount of work, and it wouldn't be possible to easily merge in changes from Karl's version when he releases new source zips ( hint hint ;) ).



quaz0r - pretty harsh!  in an ideal world code would be beautiful and documented.  some things I don't like about kf, but some parts I do (automatic glitch corrected perturbation rendering with series approximation).  Ideally the parts I like would be a re-usable cross-platform library, but they're not, so I do the best I can with kf which currently is using kf to render kfb sequences and colouring them / zoom assembling them with my own programs.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: youhn on December 20, 2014, 07:20:46 PM
I think Karl focussed on just a few main ideas, and was rapid-prototyping those. The rest (readable code, manuals, howto, good program design, gui, etc) was less important. I think he's clear on that, so I don't understand why you're being so harsh.

I just forgot the Windows-centric thing. Also misread the first post here, I see the target is still win32. I just don't understand this effort then.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: quaz0r on December 20, 2014, 07:26:54 PM
i dont like to be a downer on anyone, especially if they are simply interested in cool things for the fun of it.  this guy makes no bones about it though, hes not in it to make a good program that makes any sense, hes simply in it to win speed records or whatever his original vision was.  i got no love for that.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: claude on December 20, 2014, 07:29:23 PM
I just don't understand this effort then.

I mainly want to tweak the colouring, so I can get pseudo-de view in kf main window, without having to save as kfb and convert with my tools.



I attached the changes I made so far, they're in a few categories:
* fix case sensitivity issues and windows path separator in #include
* make most (T &x) arguments (const T &x), especially constructors
* make T-returning (as opposed to T&-returning) operators const
* replace __try __except with try catch(...)
* move static new operators into classes


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: Kalles Fraktaler on December 20, 2014, 09:24:26 PM
Hmm...
Unfortunately the time I can spend on fractal programming is too limited.
Rendering requires so much less concentration, it is actually relaxing, so I try to program as little as possible and render all the rest of the time I can spend on this.

I suggest you learn the theory and write your own code, and use the source of KF only as a reference.

Quaz0r, you are wrong and youhn is right.
No further comments.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: claude on December 20, 2014, 09:58:20 PM
I suggest you learn the theory and write your own code, and use the source of KF only as a reference.

Ok.  I'll work on mightymandel instead.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: Chillheimer on December 20, 2014, 10:25:29 PM
...I think intentionally obfuscated by karl so as to discourage anyone actually being able to read it or work with it,....he clearly did not intend for any human to actually do anything intelligent with his code.  not to mention the outright dubious design decisions he made with his program.

are you serious?
how about releasing your own work of many hours as freeware to use for everyone?! and then even give away the source code for everyone to play with it!
Or even better, go ahead and do groundbreaking new work on your own instead of crapping on the work of others, only because you don't think they did it in the way you think they should have done it.
If you should ever do great work on your own, and donate it to the public domain, I hope there are tons of people who start bitching around how all you do sucks, just the way you do here!

sorry for my language, but what you say is absolutely inacceptable.
maybe I should just quote yourself:
ewww. eww, and ugh.  ugh, and eww.



Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: quaz0r on December 20, 2014, 11:22:04 PM
i'll release my many hours of work as open-source GPL code for all to criticize and do with as they please when i decide it is good enough to release as such.  not any sooner, to break records, or promote my name, or any other dubious reason.  and i will welcome any such criticism, not respond to it in sophomoric knee-jerk fashion, because i am actually interested in producing something of worth, be it by my hand, with the help of others, or by someone else's hand entirely.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: Botond Kósa on December 20, 2014, 11:30:38 PM
sorry for my language, but what you say is absolutely inacceptable.

I completely agree with Chillheimer.

When I first read quaz0r's rant I was laughing and initially thought Hey, what a great parody of some really furious comment! But by the end, as I realized it was no joke, I felt utter sadness. Quaz0r, you don't seem to realize that people on this forum deal with fractals as their hobbies. This is not our job, we're doing it in our few free hours at night, and share our findings for free. If we also share the source code, take it as a bonus. And if the code is clean and extensible, take it as an even greater bonus. If it is not, deal with it. But remember, we owe you nothing.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: quaz0r on December 20, 2014, 11:31:54 PM
i completely agree with botand kosa.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: Kalles Fraktaler on December 21, 2014, 11:15:19 AM
i completely agree with botand kosa.
You spelled Botond's name wrong...


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: 3dickulus on December 21, 2014, 09:41:03 PM
people on this forum deal with fractals as their hobbies.
a fractal path driven by curiosity and fueled by sharing discoveries...
But remember, we owe you nothing.
certainly one can not put a value on illumination, it's priceless.

I think you are way off base here, quaz0r, even some of the most poorly written code ( like mine ;) ) can express an idea in a manner that can lead to improvements or better understanding that may not have happened without a view from a different perspective.

i'll release my many hours of work as open-source GPL code for all to criticize and do with as they please when i decide it is good enough to release as such.  not any sooner

the sooner the better :D I hope it's as intense as Botond's 10k+ lines of assembler or Claude's intricate tapestry of GLSL and custom math code or Syntopia's awesome 3D realization a la Fragmentarium, and of course Kalles Fraktaler who's source code is free of clutter so that you can see the patterns in the coding.

I just can't wait  :spgloomy:  but I feel it may be some time yet :spsad:


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: quaz0r on December 22, 2014, 04:46:27 AM
Quote
the sooner the better  I hope it's as intense as Botond's 10k+ lines of assembler or Claude's intricate tapestry of GLSL and custom math code or Syntopia's awesome 3D realization a la Fragmentarium, and of course Kalles Fraktaler who's source code is free of clutter so that you can see the patterns in the coding.
I just can't wait    but I feel it may be some time yet

i guess this is supposed to be sarcastic?  i was saying it is silly to be into this stuff from a mindset of it being a competition or to pursue some sort of personal glory or whatever.  so to respond to that as if i was trying to promote myself as being the best is kind of weird.  so if thats what youre worried about, fret not, i can tell you right now there are lots of people who know way more about both programming and math than i do, and if it did have to be a competition, im sure i would not win.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: Dinkydau on December 22, 2014, 11:32:50 PM
i dont like to be a downer on anyone, especially if they are simply interested in cool things for the fun of it.  this guy makes no bones about it though, hes not in it to make a good program that makes any sense, hes simply in it to win speed records or whatever his original vision was.  i got no love for that.
What kind of assumption is that? Looks like you did your best to view it as negatively as you possibly could.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: Kalles Fraktaler on December 23, 2014, 11:37:18 AM
If promoting yourself is such a bad thing to do, why are you then posting images from the program you are making? You are ensnaring yourself into a really stupid discussion.

Of course it is a competition. But the opponent is fractal extreme and the old way of rendering Mandelbrot fractals. And by the way I do respect fx as being much faster in high precision calc than what I am able to do.
Of course I am promoting myself. But not on the expense of anyone else. And I am even more promoting others:
- K.I.Martin for inventing and sharing perturbation and series approximation.
- Pauldelbrot for the rock solid glitch detection
- Laser blaster for the abs condition that makes burning ship and the others possible.
- Knighty and Botond Kosa for extending series approximation etc.
Without their contribution this wouldn't be possible.

I am sharing the code because I know that others can do it better, which Botond definitely has shown.
Use my code as a reference of how thing can be solved and write your own much better much more beautiful, and we'll all be happy. :)


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: quaz0r on December 23, 2014, 03:11:32 PM
Quote
If promoting yourself is such a bad thing to do, why are you then posting images from the program you are making?
good question, i guess doing this stuff just kind of lends itself to sharing what you create, for better or for worse.  that doesnt necessarily mean everyone who posts anything necessarily thinks its the best thing ever.  ive posted some half-baked sucky stuff that i knew wasnt great, oh well.  the very last image i posted even has two stupid lines through the middle due to a recent bug i havent figured out yet.  now, maybe i should care just a tiny bit more and at least post stuff without errors,  :)  but oh well.  its just fun to share what you are working on even if it isnt perfect or the pinnacle of human achievement.

Quote
But the opponent is fractal extreme and the old way of rendering Mandelbrot fractals.
fair enough.  especially a competition against commercial software, now thats a worthwhile competition.

Quote
K.I.Martin for inventing and sharing perturbation and series approximation.
just a random thought, but i always found it weird how nobody ever acknowledged, responded to, or commented on that guy who posted to the original SFT thread about perturbation, saying how he created a mandelbrot program that used perturbation for adobe like 20 years ago.  i thought that was really interesting that this has actually been done long ago.  even more interesting, and curious, is that nobody ever acknowledged that guy in that thread or anywhere else on here that ive seen, tried to talk to him, ask him questions, show any interest in his story, ...and continue to credit the SFT guy as being the first human to ever discover/implement it, and continue to credit themselves as being poineers in this brave new perturbative world.  nothing against the SFT guy though of course.

but maybe thats that competition mindset at work though?  if somebody else was the original pioneer of something, but everyone can agree to pretend it never happened, then its easier for everyone to promote themselves as pioneers?   :-\  thats the sort of "competition" mindset related stuff that is harder to respect.  more honest and friendly competition where everyone is more interested in the art or the information itself instead of the primary concern always being self-aggrandizement would be the better ideal.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: Kalles Fraktaler on December 23, 2014, 06:06:29 PM
Have you missed this thread from K.I.Martin (mrflay)?
http://www.fractalforums.com/announcements-and-news/superfractalthing-arbitrary-precision-mandelbrot-set-rendering-in-java/
I've asked him many questions, which he has generously replied. Unfortunately he's no longer active here.
I am also acknowledging him on the very first post in my thread
http://www.fractalforums.com/kalles-fraktaler/kalles-fraktaler-2/
and in the about box in KF and in some of the movies I made.
He is also acknowledged in the about box in Mandel machine.

If you are referring to his program, SFT, you must have missed this.
But if you really mean 20 years ago, i.e. mid 90s, yes I have heard there were a program utilizing perturbation that long ago but I don't know anything about it. Maybe also Martin learned from that program.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: quaz0r on December 24, 2014, 01:38:50 AM
that is in fact the thread i was talking about, specifically:

http://www.fractalforums.com/index.php?topic=15559.msg62983#msg62983

Quote
Interesting to read this thread.

I discovered and implemented this same perturbation technique in the engine for KPT Fraxplorer in the 1990's, allowing it to do zooms to about 10^300. (You can still find this software sold for PC as part of Corel's KPT Collection.) The trick (as you've discovered) is to try to find the deepest point in the window to use as the high-precision "central orbit" around which the double-precision perturbations are computed. For deep M-set zooms, the central point will ideally be in a mini-Mandel, if there is one. Deep zooms containing multiple significant-sized mini-Mandels are problematic, though the minis tend to get sparser (relative to their sizes) as you zoom deeper.

Bignum libraries are helpful here, because multiplications on 1024-bit numbers can be done significantly faster than the naive n^2 schoolbook approach. (See the Karatsuba algorithm, for instance.)

not a single person ever replied to this post, and ive never seen this guy or his program or the fact that he implemented the perturbation technique 20 years ago ever mentioned by anyone.  it just never made any sense to me that nobody but me found this the slightest bit interesting.


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: youhn on December 24, 2014, 08:14:15 AM
Were where you then ... ?   :o


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: quaz0r on December 24, 2014, 01:21:23 PM
well, it lists the guy as having only 3 forum posts, so apparently he and i both missed it


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: 3dickulus on December 25, 2014, 01:05:38 AM

 so....

 has anyone successfully compiled Kalles Fraktaler 2.7.3 on Linux with mingw ?


Title: Re: compiling Kalles Fraktaler 2.7.3 on Linux with mingw
Post by: Kalles Fraktaler on December 31, 2014, 12:42:33 PM
that is in fact the thread i was talking about, specifically:

http://www.fractalforums.com/index.php?topic=15559.msg62983#msg62983

not a single person ever replied to this post, and ive never seen this guy or his program or the fact that he implemented the perturbation technique 20 years ago ever mentioned by anyone.  it just never made any sense to me that nobody but me found this the slightest bit interesting.
I don't think this guy deserves any acknowledgement or response. If what he writes is true, he kept his discoveries for him self and that doesn't gain any of the rest of us. He didn't even share a single line of even apparently deliberately obfuscated compiler-dependent code.
So even if K.I.Martin is only the second to discover this, IMHO he deserves all the acknowledgements and honor since he shared his discoveries.
And so does the rest of the people I listed, and in addition stardust4ever that shared easily accessible formulas of all those abs-variants. And all that sent feedback on Kalles Fraktaler and also the other perturbation programs, e.g. Mandel machine etc. And Chillheimer for hosting my program. Cheers and happy new year to you all! :beer: