Old 29th November 2010, 15:32   #81
Phat
Major Dude
 
Phat's Avatar
 
Join Date: Nov 2003
Posts: 940
Btw, how exactly did you generate the Goose? If you don't mind? We haven't had a chance to really take a good look yet.
Phat is offline   Reply With Quote
Old 29th November 2010, 18:04   #82
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 867
Yes, I have read about self shadowing but have no idea yet how to do it really... I mean in MD, where I cannot buffer textures etc.

The goose - I watched geese flights on youtube and tried to model them in shape equations... endless hours I can tell you, and not very elegant, given the lack of function calls. An additional problem is that MD does not support rotation of shapes (well yes, in z-direction, but that's useless). I ended up painting hundreds of shapes on top of each other. Logically, the goose can only have one solid color, otherwise you would see the individual stupid shapes. The idea of modelling by shapes came from Amandio C.
Nitorami is offline   Reply With Quote
Old 29th November 2010, 18:27   #83
Phat
Major Dude
 
Phat's Avatar
 
Join Date: Nov 2003
Posts: 940
Sick. It would be so much easier to just be able to import geometry. (one of the many reasons we still put up with VVVV despite how buggy it always has been) but I respect the diligence and ingenuity that went into it's creation.
Phat is offline   Reply With Quote
Old 29th November 2010, 18:38   #84
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 867
For all who might be interested, attached a template for a 3D function "plotter". It is nothing else than the mandelbox preset, but instead of the mandelbox you can enter a formula f(x,y,z).
The code needs to go into the body of the function mbox within the warp shader. What you currently see is a picture of MD's sampler_noisevol_lq. The steps in the image are not caused by the algorithm, this is the discretisation of the sampler.

The second one, commented out, is a simple trigonometric function.

What is actually drawn is the space where length(mbox) < limit. If you change the function and see only brown clouds, you are inside your strcture. It helps sometimes to multiply the function by a factor so it outputs larger values.
If you see only stars, you are in empty space, and your function delivers no output below limit.

The camera location is at (0,0,0). I disabled movement and rotation. To move forward, set a speed in the per frame eqs.

In order not to collide with the structure during movements, the equation needs to be replicated in the per frame section. This is not possible for sampler_noisevol, which is unknown outside the shader. All other functions can be repeated in the shader. Should you find something interesting, send it, and I will complete the frame section and set it in motion.

I set mbox iteration depth to zero. You can of course increase it, but as soon as you start iterating, it becomes extremely difficult to find a good function which outputs something more interesting than empty space or speckled clouds. This is hardly intuitive, better don't waste your time with it.
Attached Files
File Type: milk 3D function draw template.milk (19.9 KB, 410 views)
Nitorami is offline   Reply With Quote
Old 29th November 2010, 19:52   #85
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 867
@Amandio C

Why don't you add a bit of shader support ? Also, this movement asks for symmetry in my view. Attached two quick mashups with horizontal symmetry added.
Nitorami is offline   Reply With Quote
Old 29th November 2010, 20:33   #86
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
Collada might be fun to use too. While searching for Java OpenGL resources I came along it. But I have a full-time job now too and I'm learning a little bit of Actionscript3 there and general binding for applications using webservices and so. Flash is only for the direct user interface, the logic is all written in Java. I didn't get to know yet for which device this will finally be, and I wouldn't be allowed to tell you anyway ;-). But it all sounds a lot like the Meego project, which is worth a glance alone. By the beginning of the year Shadow Harlequin pointed me at the Pixelbender framework for Actionscript and it is also available as a plugin for Photoshop for GPU-accelerated image filters. I recommend the current flasher magazin video (Issue 3). I also smiled when I read that Martin should apply in game or cgi-movie industry. By happy accident I met Kevin Bjorke. I have only noticed a sketch at OpenProcessing which gave me a nice basis for my own GL-Shader loop tool. As I am, the first thing that I did was that I've directly jumped at it and used it for an accelerated version of the Julia fractal sketch and I earned a "groovy" . Then I've added him on Facebook and I have finally checked that he must be THE Shader Guru. What's that saying with the global village again? Heh. I also plan to go to The Gathering in Norway next year. It would be fun to meet you there I guess.

addendum: I like http://wonderfl.net/ !
Flexi is offline   Reply With Quote
Old 18th January 2011, 11:45   #87
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
voila, inspiration
Flexi is offline   Reply With Quote
Old 22nd January 2011, 21:37   #88
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
Hey Martin, any idea for rendering these Rheotomic Surfaces?
Flexi is offline   Reply With Quote
Old 23rd January 2011, 11:18   #89
Phat
Major Dude
 
Phat's Avatar
 
Join Date: Nov 2003
Posts: 940
That's dope Flexi!
http://vimeo.com/18842873
^Subblue made a new video. I love some of the patters, they remind me of some of the beta (Redi Jedi's) presets I made a while ago.

http://forums.winamp.com/showthread.php?t=251532
^like this one. (you have to use Redi Jedi's beta to run it though... gah, looking through these makes me sad now )

Here's that old aesthetic guide I made a long time ago. It's short but I remember someone saying they wanted to see it.

Quote:
1. Definition of negative space. It's often hard to leave black area's in a preset, but it's a sound design concept. Often this is achieved in my presets by a black border, set to the largest size, and at a very small diminished opacity.

2. Slow moving oscillations. [[I know at first making shapes move at sin(time*3000) seems like a good idea, but often (sin(time*0.01)*0.5+0.5) looks MUCH better.]] Ever seen old Godzilla films? What makes the scenes with Godzilla attacking cities so cheezy, and instantly recognizable as model work... Basically if you're model is 1/6th the size of normal, you have to film 6x the frame rate, (Sometimes that math is changed for aesthetic) and then slow it down... In order for the gravitational constant to look correct. This principle in combination with negative space can make presets that look ominous and large.

3. Patterned light. Instantly gives depth, realism, and personality to presets and visual art in general. Because of course, if there's patterned light, it's coming from somewhere, [[defining space or volume]] often times skewed patterned light is a good model. Example...
http://www.eos4life.com/new/graphic.html
Btw ^Eo.S. made that webpage graphic on a 333 mHz processor in 2002. It went online and 6 hours later she had a call for a full time position paying fairly well thousands of miles away. We hadn't even had enough money for food... that image pulled us out of poverty literally, heh. It's crazy how much she can do with so little.
Phat is offline   Reply With Quote
Old 24th January 2011, 20:51   #90
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 867
@Flexi: I fear not. It would be easy if we could define a geometry but other than that... it could be done with the mandelbox algorithm but that would require a function f(x,y,z) = 0 which, I think, does not exist even for simple geometric structures like the helicoil. Integration seems to be a necessary step, and I don't know how to do it... well, Milkdrop is certainly not the ideal software for it.

@Phat: I recognise the shapes of my lonely goose landscape in subblue's video. It would be easy to modulate the landscape parameters to warp it in a similar way, except of course when bits separate from the ground and elevate into the air. That cannot be done without geometry.
I tried to raise the simple landscape algorithm to 3D by importing it into the mandelbox preset. That works in principle but requires a fairly high number of iterations. The shader model limited to 512 instructions allows for only three iterations, while with the 1024 instructions limit I can go up to more than 100, at the cost of low frame rate, of course. There's some potential to speed this up, but I don't know how to calculate the power of float3s without trigonometric functions.
The sample shows a snapshot made at 18 iterations / 10fps. That could be quite interesting but unfortunately lacks depth because I cannot define a geometry and generate shadows in MD.
I had asked for the aesthetic guide - thanks.
Attached Thumbnails
Click image for larger version

Name:	3D landscape sample.jpg
Views:	394
Size:	191.2 KB
ID:	48393  
Nitorami is offline   Reply With Quote
Old 25th January 2011, 22:40   #91
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
I was pondering about the rheotomic surfaces a little bit and I came to something of a raytracer approach. I mean, I've done a true sphere mapping before and it *shouldn't* be so different. Anyway, I give my subconscious mind a chance to do the work and I'll try to forget about it for a while.
The past two days I've been busy cranking out a layout algorithm for a calendar application *mad at Actionscript*

As for fractals: http://www.youtube.com/user/Softology has put up some new snippets lately.
Flexi is offline   Reply With Quote
Old 29th January 2011, 00:35   #92
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
Hm, I'm stuck. Recreating the equipotential lines of a 2D Laplacian flow were relatively easy with a complex polynomial, but that's just not the kind of vector field for the needed f(x,y,z) expression for a rheotomic surface/volume. I'd have an idea how to achieve the functionality with the help of a atan2 and a length function per root, but I hoped I could stay in the realm of polynomials. Any ideas?

Anyway, I'm at it and the experiments already led to a really nice fractal prototype!
And there's also bundled my old "box of tricks" shader function repository.
Attached Thumbnails
Click image for larger version

Name:	accidental fractal.jpg
Views:	433
Size:	64.9 KB
ID:	48422  
Attached Files
File Type: zip derive derive.zip (186.5 KB, 346 views)
Flexi is offline   Reply With Quote
Old 29th January 2011, 10:06   #93
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
I've got it now with only one sin and a atan2 function. Here ya go: Rheotomic surface with a certain volumetric thickness

PHP Code:
float2 complex_mul(float2 factorAfloat2 factorB){
   return 
float2factorA.x*factorB.factorA.y*factorB.yfactorA.x*factorB.factorA.y*factorB.x);
}

float2 complex_div(float2 numeratorfloat2 denominator){
   return 
float2numerator.x*denominator.numerator.y*denominator.y,
                  
numerator.y*denominator.numerator.x*denominator.y)/
          (
denominator.x*denominator.denominator.y*denominator.y);
}

float rheotomic(float xfloat yfloat zfloat thickness)
{
   
float2 pos1 float2(0.30.4);
   
float2 pos2 float2(0.70.3);
   
float2 pos3 float2(0.70.6);
   
float2 pos4 float2(0.20.6);

   
float2 domain float2(x,y);

   
domain complex_div(  0.003
                          
complex_mul(  complex_mul(domain-pos1domain pos2),
                                        
complex_mul(domain-pos3domain pos4)
                          )
                       );
   
domain -= 0.5;
   return 
abs(sin(atan2(domain.x,domain.y) + z)) < thickness ;
}

shader_body
{
   
ret rheotomic(uv.xuv.ytime*0.50.05);

Now how to insert this into the mandelbulb preset?
Attached Files
File Type: milk Flexi - complex polynomial 08 rheotomic.milk (12.5 KB, 362 views)
Flexi is offline   Reply With Quote
Old 29th January 2011, 19:44   #94
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 867
Ah, well done. I don't understand the code but nevermind, I can work with it.

To get it into the mandelbulb code, simply put your code into the mbox function as in the attached sample.

function mbox() is a float 4; the x-component of the return value is your abs(sin(atan2...))) but without the comparison to thickness. In my code the comparison is done further below "if (len < 1)".

The other components y,z,w, are not required in principle, I added them (float2 domain, float light) just in case I want to texture the surface later.

The white dots are not part of your polynomial. To get rid of them, set light to a constant value in mbox.

Camera position and angle are set in the preset ini code.

The preset is static for now; to make it sort of move, you may modulate your pos1...pos4 parameters but I don't recommend it because (a) we cannot motion compensate this so it will be blurred, and (b) the camera will quickly be inside the structure.

Better we move as in the mandelbox preset, but that requires a pathfinder code in the frame section to avoid the walls, i.e. I need to duplicate your code there. Which is tedious because we have no function calls there.... will do this later.
Nitorami is offline   Reply With Quote
Old 29th January 2011, 20:14   #95
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
Yay! I've been plaing with the code myself and here's my personal integration and first steps with your 3D drawer.

edit after watching your version:
To stay within the "empty" structure must be easy, since you know there's a constant height between the "levels" and there are multiple "walkable" helicoils through them. The separate dots look weird, but somehow cool too, where my version produces smooth surface. Camera pathes with a shifted view at the "stem" must be way cool.
Flexi is offline   Reply With Quote
Old 29th January 2011, 21:14   #96
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 867
I see, we're getting somewhere. But you've been cheating, simply modulating the coordinates by sincos (time)

Edit - I can't easily find a way through it really - where exactly is it ?
Nitorami is offline   Reply With Quote
Old 30th January 2011, 17:33   #97
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 867
Hm. I think there is no way from one side to the other without crossing a wall. I made this diagnostic version which shows a pattern on the wall for better visibility, and colours the wall green where it comes closer to the screen than 0.1. It just moves slowly along the z-axis but regardless where you start it, it always goes through a wall before it comes out on the other side.
Nitorami is offline   Reply With Quote
Old 30th January 2011, 17:49   #98
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
I've been working on a visualization of possible camera corridors, see the comments in the comp shader.
Flexi is offline   Reply With Quote
Old 30th January 2011, 20:05   #99
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 867
I see... but still, I cannot quite recognize these corridors in the 3D model. See below how it looks for me, seen from an angle above.
Nitorami is offline   Reply With Quote
Old 30th January 2011, 23:47   #100
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
http://vimeo.com/3029664 ^^

I think I was troubling with the polynomials too, forgetting to differentiate between complex roots (clockwise) and asymptotes (counterclockwise) and there are only the asymptotes parameterized so far. My idea was, that you can spin the camera around one such point in the complex number plane, possibly circular as a first approximation, while moving up or down between levels. With setting a different distance you see the corridors overlapping and there the camera could switch between helix paths.

I'd need to parameterize all turning points properly first, but I'm confident to find a path descriptor function from there

The added preset picture shows the output of the 3D rheotomic function for a fix z coordinate.
The red corridor indicates the vertical middle between two floors and the blue corridor the distance from the complex roots. The area where they overlap (white) indicates the horizontal camera position for a given z coordinate.

the preset is only cycling through incrementing z
Attached Thumbnails
Click image for larger version

Name:	camera path corridor helper.jpg
Views:	368
Size:	33.0 KB
ID:	48437  
Attached Files
File Type: milk camera path experiments 00.milk (8.9 KB, 346 views)
Flexi is offline   Reply With Quote
Old 5th February 2011, 13:13   #101
DanielP
Junior Member
 
Join Date: Jan 2011
Posts: 1
Awesome work guys. Just found this forum via the link to my blog earlier, and very excited to see all the cool stuff you are doing.
DanielP is offline   Reply With Quote
Old 5th February 2011, 16:54   #102
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
Welcome Daniel!
I've found your blog over a link from a facebook friend on your 4D rotations post. I repeat myself when I say that I have started experimenting with complex numbers and the Möbius transformation after finding the second video from your old blog post too. Funnily only two days ago one of my old Möbius presets was picked up and featured in the video of Ewan Dobson's Level 30 .

Your vimeo portfolio is totally impressive! Nice to meet you,
Felix
Flexi is offline   Reply With Quote
Old 6th February 2011, 17:18   #103
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
Martin, the more correct expression for the polynomial is
PHP Code:
float rheotomic(float xfloat yfloat z)
{
   
float2 pos1 float2(0.30.4);
   
float2 pos2 float2(0.70.3);
   
float2 pos3 float2(0.70.6);
   
float2 pos4 float2(0.20.6);

   
float2 domain float2(x,y);

   
domain complex_div(  complex_mul(domain-pos3domain pos1),
                                   
complex_mul(domain-pos2domain pos4)
                                );

   
domain -= 0.5;
   return 
sin(atan2(domain.x,domain.y) + z)*0.5 0.5 ;

As you can see, pos1 and pos3 are the polynomial's roots and pos2 and pos4 make the asymptotes.
I tried to insert this easier formula into your preset with the angular view from above but i wasn't succesful. In fact I'm now even more confused how the f(x,y,z) function is used for the rendering. I didn't manage to use your camera implementation, so the attached preset is using the "cheat" with the camera offset directly in the mbox function again. One thing that confuses me, is, that the diagnostic composite shader shows that pretty much of the area which looks like a part of the surface, is actually already within the structure (or behind the projective pane).
In both versions the "camera" cycles around the polynomial root pos2, with a distance of 0.2 (the upper right circle - you should be able to find out which of the two white areas indicates the actual camera position)
Flexi is offline   Reply With Quote
Old 6th February 2011, 18:52   #104
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 867
Hi Flexi

I have inserted this code into the preset, and simplified it as far as possible. Yes, we do now see a ground and a ceiling - I have not checked yet whether the poles are actually walkable to get on the next level.

Manoeuver around using the 6 parameters in the frame section. PosX,PosY and PosZ are the camera position; make PosZ more negative to step backwards. Rotation is around zero of the coordinate system, NOT the camera. Yes, it is difficult to avoid the walls- move carefully, in small steps.
What you actually see is the surface where rheostatic(x,y,z) = limit, except when the surface cannot be shown because the camera is inside the structure.

EDIT: Ah shit, the position PosX, PosY and PosZ is NOT relative to the absolute coordinate system but the camera. I.e. in the preset here, changing PosZ always moves the view forwards and backwards, independant of the viewing angle. Keep that in mind, it can be quite confusing. This was also the reason why the original mandelbox preset became a bit more complicated.
Nitorami is offline   Reply With Quote
Old 7th February 2011, 20:57   #105
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 867
Orbit trap in mandelbrot calcs

Hi all
Just sliding in a different issue I found here http://iquilezles.org/www/index.htm

It's a quite interesting technique called "orbit traps". This is not really new but I don't think anybody ever used it in MD.
Normally the colour coding for a mandelbrot image is simply based on the number of iterations or the length of the output vector, while an orbit trap determines how close the trajectory ("orbit") of the vector z = z^2+c ever comes to a point, a line, a texture map, or similar. This distance is then used for color coding. There are infinite possibilities how to do this in detail, and I just made a very simple template for anybody to play around. I also used it to make the sample images below.

Note the code is in the comp shader. For some reason I don't know there is a much more severe limitation to the number of iterations in the warp shader.
Attached Thumbnails
Click image for larger version

Name:	Zwischenablage01.jpg
Views:	349
Size:	83.2 KB
ID:	48477   Click image for larger version

Name:	Zwischenablage02.jpg
Views:	355
Size:	94.8 KB
ID:	48478   Click image for larger version

Name:	Zwischenablage03.jpg
Views:	358
Size:	173.7 KB
ID:	48479  
Attached Files
File Type: milk martin - orbit trap playground.milk (9.1 KB, 394 views)
Nitorami is offline   Reply With Quote
Old 7th February 2011, 21:40   #106
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 867
A metallic impression using the trap
trap1 = min (1-trap1, length(zz.x-p0+.2/uv.y));

Plus an overlay made of two trap conditions

This is brillant for still images but I don't know how to make a decent preset out of it
Attached Thumbnails
Click image for larger version

Name:	Zwischenablage04.jpg
Views:	390
Size:	172.2 KB
ID:	48485   Click image for larger version

Name:	Zwischenablage05.jpg
Views:	357
Size:	82.2 KB
ID:	48486  
Nitorami is offline   Reply With Quote
Old 8th February 2011, 20:19   #107
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
^^ not with my graphics card (21 iterations maximal here)
Flexi is offline   Reply With Quote
Old 8th February 2011, 21:27   #108
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 867
I guess this depends whether the compiler unrolls the loop or not. Unfortunately, as Eo.S. already explained, MD does not allow to set the compiler options relevant to loop coding.

I can set the number of iterations to more than 100 on my old GeForce 7600. In the meantime I replaced the for loop by a while loop with an additional constraint, and can go up to any value, even 10000. It does not make a difference to the picture, though, because the standard float used by MD is not good enough for very high zoom levels anyway. Maximum useful zoom is approximately 5000, and 100 iterations are sufficient.

Try this version, maybe it works better ?
Attached Files
File Type: milk martin - orbit trap playground - while loop.milk (9.1 KB, 346 views)
Nitorami is offline   Reply With Quote
Old 8th February 2011, 21:32   #109
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 867
I guess this depends whether the compiler unrolls the loop or not. Unfortunately, as Eo.S. already explained, MD does not allow to set the compiler options relevant to loop coding.

I can set the number of iterations to more than 100 on my old GeForce 7600. In the meantime I replaced the for loop by a while loop with an additional constraint, and can go up to any value, even 10000. It does not make a difference to the picture, though, because the standard float used by MD is not good enough for very high zoom levels anyway. Maximum useful zoom is approximately 5000, and 100 iterations are sufficient.

Try this version, maybe it works better ?
Attached Files
File Type: milk martin - orbit trap playground - while loop.milk (9.1 KB, 307 views)

Last edited by Nitorami; 8th February 2011 at 21:33. Reason: forgot attachment
Nitorami is offline   Reply With Quote
Old 9th February 2011, 00:18   #110
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi


I have not checked your latest preset yet. I only drop by to leave the mash-up that carried me away the last 2 hours.
Flexi is offline   Reply With Quote
Old 19th May 2011, 20:47   #111
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
I didn't come to write new presets lately but I have hacked a javascript fluid simulation: http://gwt-canvas-fluid-sim.appspot.com/
The visualization is done with the new HTML5 canvas object, that means a browser of the latest generation is needed. Personal experiments showed that the Internet Explorer 9 gives the best performance. With the tablet PC that I'm planning to buy (as soon as it is available in europe) i want to add WebGL support then.

Another stunning hack is jsLinux by Fabrice Bellard. He has actually written a Linux (2.6.20) PC emulator in Javascript that takes advantage of the new typed Arrays to store, process and execute native binary data. So far the emulator has an interrupt-controller, a timer, and a serial interface. After the emulator booted up you have a terminal console, a RAM disk, a C compiler and an emacs editor. I'm not quite sure what the benefit of all this is, but at least it's a serious hacking demonstration and a possibility to learn Javascript the ultra geek way. If this sounds somehow esoteric to you then you're possibly totally right with it.

And you should also visit http://blog.nihilogic.dk/
Flexi is offline   Reply With Quote
Old 21st May 2011, 08:01   #112
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
For some reason I have been fired yesterday evening after six months at my job with the Java backend and Flash user interfaces. I'm really disappointed but it's only true to state that we didn't fit together. I have coded multiple customer apps for the device and the web (contacts, calendar, pin board, and a text chat inclusive Android port) and the integration with the platform system and the synchronization between multiple clients. I lacked in productivity and "bringing in the innovation"... Having in mind that i have never worked with Flash and Actionscript before I have only profited from my time there.

The good point is, watching another screencast today I have just realized how far i was off with the current Javascript developments:


Also, i watched this video a week ago while i was working on the fluid sim:

The part about accessing native Android functionality from embedded web pages via extending the Javascript object model is most interesting.
Flexi is offline   Reply With Quote
Old 22nd May 2011, 08:25   #113
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
yeah, that's where i want to go: GLSL shaders running in a html page! - check out the html(js/glsl) source of this julia fractal animation (second)

http://www.ibiblio.org/e-notes/webgl/webgl.htm

If you need a new browser, I'm using Chrome Canary (11.0.696.68) which also gives me over hundred fps in my own fluid sim sketch. (during development i had problems with Chrome and didn't see anything)
Flexi is offline   Reply With Quote
Old 22nd May 2011, 12:20   #114
Nitorami
Major Dude
 
Join Date: Mar 2008
Location: Erlangen
Posts: 867
Note: To activate WebGL in firefox 4.0

Enter about:config, accept the warning, press right mouse button, select "new string"
Enter webgl.force-enabled, it will automatically be set to "true"

Done
Nitorami is offline   Reply With Quote
Old 24th May 2011, 04:20   #115
Amandio C
Senior Member
 
Join Date: Dec 2008
Posts: 400
Well good luck for your career. I also left my job last month. By coincidence, I was working in the town where Gaston Julia was born - Sidi Bel Abbès, in Algeria. Quite a strange, curious place.
Amandio C is offline   Reply With Quote
Old 13th June 2011, 02:01   #116
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
I have coded a tiny starter page for more Milkdrop-like WebGL shaders:
http://cake23.de/diffusion-mix.html

also interesting:
http://aerotwist.com/lab/ and
http://sylvester.jcoglan.com/
Flexi is offline   Reply With Quote
Old 13th June 2011, 10:58   #117
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
Quote:
Originally Posted by Flexi View Post
I have coded a tiny starter page for more Milkdrop-like WebGL shaders:
http://cake23.de/diffusion-mix.html

also interesting:
http://aerotwist.com/lab/ and
http://sylvester.jcoglan.com/
Julia fractal:
http://cake23.de/progressive-fractal.html
Flexi is offline   Reply With Quote
Old 21st June 2011, 08:52   #118
Flexi
wellspring of milk
Major Dude
 
Flexi's Avatar
 
Join Date: Apr 2007
Location: 54.089866,12.11168,18.75
Posts: 2,058
Send a message via ICQ to Flexi
Hey Martin, watching this video i was thinking of your phenomenal Mandelbox presets again: http://vimeo.com/25284552

I have worked on some more WebGL ports of old Milkdrop effects:
http://www.cake23.de/rotozoom.html
http://www.cake23.de/reaction-diffusion-lit-up.html
http://www.cake23.de/traveling-wavefronts-lit-up.html
If you want to stay up to date, just follow me on Twitter: http://twitter.com/#!/Flexi23

And Martin, how could i possibly give you credit for your effects, for example the reflecting water or the Mandelbox, when i port them to any sort of a GL visualizer? A mere reference to your name seems a little bit weak. I could host a web page for you, what do you think? I'm considering an integration in an authoring system too, but that is postponed until I'm sure about some last details for the render engine ("how to draw into the loop most comfortably").


btw, something emerges... look at this soundcloud-mashup:
http://mrdoob.com/lab/javascript/com...ser/index.html
and the brandnew mp3 decoder library written in Javascript:
https://github.com/nddrylliog/jsmad (article in German: http://winfuture.de/news,63793.html)

Fnord:
Flexi is offline   Reply With Quote
Old 21st June 2011, 15:25   #119
Amandio C
Senior Member
 
Join Date: Dec 2008
Posts: 400
Very good WebGl samples. I hadn't yet seen such good-looking ones.
Amandio C is offline   Reply With Quote
Old 22nd June 2011, 13:34   #120
Amandio C
Senior Member
 
Join Date: Dec 2008
Posts: 400
I am wondering if it is possible to have in the shaders a loop where the upper limit is a variable, such as
for ( n=0; n <length(10*uv) ; n++ )
Amandio C is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Visualizations > MilkDrop > MilkDrop Presets

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump