More info needed on realtime rendering

 

I came here after hearing about ES in the credits of a documentary on DMT. I thought the visuals were absolutely stunning in that movie, hands down the best I had ever seen. And that is saying a *LOT* coming from a die hard Milkdrop fan.

However, I must admit I was pretty saddened by the whole concept of how ES runs. As a programmer myself, I understand the coolness of how it acts as a networked form of artificial intelligence. However, the coolness is outweighed by the fact that it's totally unusable.

I'd say that the most common form of visualization viewing these days is with music, as is evidenced by other posts on this forum and around the net. And for that, Milkdrop still remains king.

I see that in the responses to questions of why ES can't run like Milkdrop, the replies are fairly lacking in detail, and quite frankly, in believability. It is said that ES is very processor intensive. Ok, I get that. I would expect it, given that the beauty of the images is unrivaled by any other visualization program.

However, I haven't seen any good explanation of why the rendering is so slow that it can't possibly ever be done in real-time. Or for why the quality couldn’t be slightly lessened to allow for it.

For example, Milkdrop renders at 60fps on a 1920x1080 HD monitor. I've seen it casually said on here that ES takes an hour to render ONE frame. Which means ES renders 216,000 (60 * 60 * 60) times slower than Milkdrop. Some sheep are definitely nicer, but they are in no way 200k times nicer.

Which leads me to my main point. I think the quality/render time ratio is far, far, far past the point of diminishing returns if it renders 200k slower than an image that it only looks roughly 2 or 3 times (subjective, I know) better than.

So my question is this: Is there a way that ES could be re-architected in such a way as to be a visualization plugin rendered in real-time, with a somewhat lesser quality output? Perhaps a user adjustable quality setting? Some type of middle ground in between current versions of ES and Milkdrop.

I sincerely believe that if you took the best of both worlds, you would have a visualizer that would absolutely crush every single other one on the market.

Any technical info would be much appreciated. Thanks in advance.

My friends and I, being Sheep

My friends and I, being Sheep fans, of course have had this thought many times (that sheep should be able to sync to a beat or audio signal). Honestly just about all things are possible, especially as human understanding advances (for instance, envision the world before fast Fourier transforms were widely known).

Fractal visualizer possibilities will be realized as more people find it in their interest to consider such problems. Being a young mathemician rather than a professional coder, I can only offer my support for a realtime opensource sheep-type application. at the moment I am happy to learn the ins and outs of the more complex program. I just started looking at flames, so it will be a while before I catch up. but this is definitely an idea i will be thinking about a lot, so if I think of anything in the years to come I will offer my ideas.

But more than my potential contribution, is the fact that the photolithography processes used to manufacture chips are getting finer all the time, and I see no reason why we couldn't be rendering the current electric sheep algorithms in realtime within 10 years.

Back

Hey there guys, I'm back. So I've spent a few months, on and off, going over the paper code from Dr. Orion Lawlor. I spoke with him once and exchanged a couple of emails to get a better idea of what he's doing.

 

Here's where I'm at:

-His idea is groundbreaking, as I've yet to find anyone else do fractal flames in realtime the way he did.

-His demo project illustrates the idea nicely, but the code is in a state of extreme prototype and is very tightly coupled to the GUI.

-I've taken his code and completely reorganized it all to be more of a resusable class library. It took quite a bit of effort, but it came out pretty nicely.

-There is some compatibility between his stuff and the Flam3 xml files, however there are major gaps. I am really hoping these can be overcome, but need some assistance.

 

Where to go from here? I'll tell you where I stand and what I'd like to see.

1) The code is not really ready to be used, and I'd love to take it further, but I need some help.

2) I've been spending my spare time brushing up on OpenGL but still need some help. I'm *STILL* trying to wrap my brain around fractal flames.

3) Dr. Lawlor can be reached for questions, but only on a very limited basis. I think he's a pretty busy guy, but if you are lucky, he will write you back. So be sure you pack your questions in tightly.

4) As I stated above, I believe this work is groundbreaking and would really love to take it further. Ideally the code should be reusable enough such that it might show up in a video game or other 3D application some day.

5) Having a full time job + girlfriend means my time is limited. I'll do my best though.

6) I've been developing for 10 years professionally now, but have never done an open source project. If I wanted to get help and collaboration, where would be the best place to do it? What user community has the most interest in fractal code? ES? Apophysis? Fractron?

7) I'm using Visual Studio 2010 for all of this.

 

Any feedback would be much appreciated.

PS

Nice to see you here Flexi, I've spent many hours looking at your presets. Thanks for the generous contributions over the years!

 

 

please send me an email i

please send me an email i would be happy to help if i can.

thanks, i am really

thanks, i am really flattered.

i have done a couple of realtime versions over the years (most notably one in http://draves.org/bomb).  and i have a new one in the works.

they necessarily look quite different from what you saw in the film because they use different algorithms for visualizing and solving the equations.  if you don't change the technique and just turn down the quality by say 100x you can a decent image but you are still 1000x away from realtime.

there are a lot of ways of splitting the difference and i encourage you and other programmers to use our code (it's open source) and experiment with realtime.  please share the results here!

Thanks for the info. I will

Thanks for the info. I will look at Bomb.

 

I believe Milkdrop is open source as well. Perhaps I'll take a look through the code of both to get a better idea.

 

Thanks.

On the way! ;)

 

Hi, this is Flexi from the Milkdrop board.

I'm glad you came to the Milkdrop forum to ask. I had toyed around with Electric Sheep some years ago, but i didn't stick with it - just for the same reason that you pointed out, the missing realtime rendering. At that time i was already a regular Milkdrop preset coder and i came up with some basic (progressive image-based) L-system fractals there too, first with clever shape placements, later with shaders. And of course i was thinking a lot about "Flames". And over the years i have collected quite some experience with shaders only from Milkdrop. ;)

To answer your question shortly, the original Milkdrop2 is not open source (anymore). Milkdrop1 was, but that didn't include the support to write custom shaders. Instead, you should rather have a look at the clone ProjectM, which was also just released for Android. (Do Androids dream of Electric sheep? Huh?) - http://projectm.sourceforge.net/

I'm not involved in ProjectM (yet) but I'm actually experimenting a lot with WebGL lately. Just see http://webglplayground.net/gallery for my other progressive image-based fractal experiments.

Another Milkdrop preset author has just posted this awesome link: http://www.cs.uaf.edu/~olawlor/2011/gpuifs/ There's a paper that I'm reading right now and much more important, there's GL shader code!

In the words of McGyver: "Be prepared"

;) Felix

 

greets, thanks, love your

greets, thanks, love your stuff.  and milkdrop (a long time ago) and project-m -- just got it for android a couple weeks ago.  i especially like this one of yours: http://cake23.de/turing-fluid.html here's a webgl one i did:  http://bit.ly/yhUutK

i don't think the gpu ifs one from olawlor does the flame color or something because it doesn't look like the screensaver.  it is cool and with some tweeking could be even cooler :)

there have been a number of

there have been a number of other attempts some more successful than others, see for example:

http://www.youtube.com/watch?v=KGSm2f29Lbs

http://fractron9000.sourceforge.net/

 


User login