![]() |
#201 |
Major Dude
Join Date: Mar 2008
Location: Erlangen
Posts: 868
|
Bloody hell, what an effort !
And I always wondered whether there was a limit to the code you can put into individual sections... now that's clarified. |
![]() |
![]() |
![]() |
#202 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
Well not really, the condensed version involved mainly copy and paste. I am still trying to simplify the part where the text is inserted.
Some versions of previous posts. |
![]() |
![]() |
![]() |
#203 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
Version 3 of the font. Features:
- number of characters is user-defined, up to 30 allowed - question and exclamation marks - adjustable number of instances - characters stored in megabuffs - a nice interface. Thank you again Martin for the suggestions. Soon I'll post a template to display several phrases, still trying to optimize it. |
![]() |
![]() |
![]() |
#204 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
I have been doing some experiments for the template to display multiple sentences. They turn to be very large and cause some kind of MD error. To get around this I distributed the font init code between other shapes and waves, but only some letters were drawn. It seems megabuff doesn't like to have input from different places at the same time.
|
![]() |
![]() |
![]() |
#205 |
Major Dude
Join Date: Mar 2008
Location: Erlangen
Posts: 868
|
megabuf() is local only
gmegabuf () is global and can be read and written from anywhere, and I haven't found a problem so far. The most likely mistake is to overwrite parts of gmegabuf from another place. Have you checked your access indices ? |
![]() |
![]() |
![]() |
#206 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
I meant megabuff, thanks for pointing that out. The problem was the buff cleaner and now it's working fine. Just finishing preparing a preset and I'll post it.
|
![]() |
![]() |
![]() |
#207 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
Version 4 of the font, including a template to display up to 12 phrases of up to 30 chars each.
The font now includes numbers. |
![]() |
![]() |
![]() |
#208 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
codex + dark side of the sun
|
![]() |
![]() |
![]() |
#209 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
Helios, and again the template to display phrases, just a bit simplified.
|
![]() |
![]() |
![]() |
#210 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
Helios again, just simplified the bird's code.
|
![]() |
![]() |
![]() |
#211 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
Helios once again with a new movement for the birds. I must admit I like this creatures.
|
![]() |
![]() |
![]() |
#212 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
Helios 4, the birds here wrap around screen borders instead of reflecting.
|
![]() |
![]() |
![]() |
#213 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
A small experience with an interactive preset (well, sort of).
To control the paddle, choose window mode and use the mouse to resize the window horizontally. |
![]() |
![]() |
![]() |
#214 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
walkers
|
![]() |
![]() |
![]() |
#215 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
insert coin (darts)
To throw the dart, resize the window horizontally with the mouse. |
![]() |
![]() |
![]() |
#216 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
Updated. Now a larger resizing gets the dart higher.
|
![]() |
![]() |
![]() |
#217 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
ring system
|
![]() |
![]() |
![]() |
#218 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
The equation for 2 circles intersection points, extended to n x n circles using megabuffs.
Last edited by Amandio C; 20th April 2010 at 10:20. |
![]() |
![]() |
![]() |
#219 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
circles intersection template
|
![]() |
![]() |
![]() |
#220 |
wellspring of milk
Major Dude |
Well that's cool! I didn't know one could easily line up expressions in the loop function (but use the execN expression). That makes things a lot easier.
I really like the helios presets and it's fun to see the airport preset while the european skies are free of planes due to the volcano's ash cloud. ^^ The ring systems preset looks great for warp shader remixes - i will have a go, but I'm kind busy these days. Apropos, can you view shader presets or why don't you share any? cheers! |
![]() |
![]() |
![]() |
#221 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
I have been thinking about a way to optimize the template. I was convinced to be wasting instances for intersection points. Using 10 circles, by example, 10x10 shapes were used for points, and there are only 45 distincts 2 by 2 combinations without repetition (see table).
So I inserted a 3rd loop that would check if each new point was already in the buffer, and if yes, would overwrite that register on the next step. Sadly, when reducing the instances to 45, many points would disappear. It took some time to figure it out. There was a part of code intended to change a sign in the equations (each point has a symmetric). Since the points were correct I assumed it was working, but it was doing nothing. It were the poor unwanted duplicates, in symmetric positions, who were correcting the error. After all I was only wasting a few instances and since the checker is a bit slow it won't be needed. In this example when a point doesn't meet the intersection criteria, that register is overwritten. That cause some points to stay afloat for some time, I wonder how I could clean them. Also a corrected template without the useless code. Flexi - Thank you for the comments. I can view and enjoy shader presets, but I don't enjoy much producing them, it's an abstract sort of thing. ![]() Last edited by Amandio C; 22nd April 2010 at 09:26. |
![]() |
![]() |
![]() |
#222 |
wellspring of milk
Major Dude |
fine fine. I would suggest to you, that have a look at the so called Boid algorithms for flocking behavior. It's a pretty easy model for almost naturally moving flocks. Just think of individual objects like birds or fishes, each have a position, orientation and a forward velocity. When the distance of two objects falls under a certain threshold their motion vectors have to be synced (but just for a while). Then add a disturbance to the motion or food sensing and see yourself!
![]() have fun! |
![]() |
![]() |
![]() |
#223 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
I'll investigate. Sheep should look fun, made with circles.
![]() A simplified version of flexi's 100 bouncing balls, according to the new MD flexible loops syntax. The number of cycles of the 2nd set of balls is reduced, according to the table posted yesterday. |
![]() |
![]() |
![]() |
#224 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
New bouncing balls, with variable radius. The collision detection might still be improved considering the new conditions, as the balls sometimes glue together.
It looks better when the buffer cleaner is run first. Last edited by Amandio C; 24th April 2010 at 08:58. |
![]() |
![]() |
![]() |
#225 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
mosaic
|
![]() |
![]() |
![]() |
#226 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
A simplified mosaic 1, not using megabuffs.
|
![]() |
![]() |
![]() |
#227 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
Some versions more of mosaic.
n.3 - the zoom is continuous. n.4 - using a single color in the loop. n.5 - a photo of the fractal is taken every 200 frames and the image is scrolled using the index. n.6 - a photo of the fractal is taken every 200 frames and the image is rotated the same way. n.7 - rotation of the fractal created in the init code . N.s 5,6,7 provide good framerates. |
![]() |
![]() |
![]() |
#228 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
boids
|
![]() |
![]() |
![]() |
#229 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
Boids again.
This AI algorithm was created back in 1986 by Craig Reynolds. It simulates the movement of flocks. In it's simplest form the boids are controlled by 3 rules: 1 - Movement towards a common point, the center of gravity of the flock. 2 - If near another boid, move apart from it. 3 - Speed limited by the average speed of the flock. In this preset, the center of gravity in rule 1 was replaced by an independent moving point, the boids leader. |
![]() |
![]() |
![]() |
#230 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
Boids again, with some new interactions. The characters are:
Mr. Bad - a freelancer who comes often to the neighborhood for a snack and maybe something more. Mr. Boid - the jefe of the Boid clan, jealous and protective. Mrs. Boid - a dedicated housewife most of the time. Boid Jrs. - taking the first steps in the learning curve. |
![]() |
![]() |
![]() |
#231 |
wellspring of milk
Major Dude |
It's just a sketch for finding neighbors. The algorithm is still buggy - no clue what is wrong, but sometimes there are lines displayed which should not be found as nearest neighbors... The code is all in the custom wave 3 code, but in a future version i want to find the nearest neighbors for each object in the per-frame code and i want to store the neighbor indexes in the object's attributes, and maybe i bring in rotation again. Might become tricky with different sizes. But the impulse transmission for differently massive bouncing balls is properly included now! find the gravity switch
![]() a work in progress, have fun with it. |
![]() |
![]() |
![]() |
#232 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
Interesting interactions. I've been fiddling with gravitational-like relations but I'm still looking for better results.
A simplified version of QBikal's preset and an oldschool fractal. |
![]() |
![]() |
![]() |
#233 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
A large preset with 166k. The methodology used was:
1. Use a world map with continents in black and oceans in white. 2. Use an image editor to draw a white gridline that leaves only equally spaced black pixels. 3. Scan the image with a digitizer program, collecting the x and y of the dots into a table. About 2800 points were sampled. 4. Paste the coordinates in a spreadsheet to build the lines of the init code, distributed by 4 shapes. 5. Export the spreadsheet as text. 6. Paste the code in the preset. |
![]() |
![]() |
![]() |
#234 |
wellspring of milk
Major Dude |
epic. was my second thought. First was 'epicenter'. or sending shock waves. Code generation ftw, amazing.
|
![]() |
![]() |
![]() |
#235 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
Epicenter would be a better choice, no doubt. Glad you liked it
![]() Two simple scan-based presets. Here a small greyscale bitmap was scanned just for grey values. No need for x and y but on the other hand every point was collected. Vader is quite large. |
![]() |
![]() |
![]() |
#236 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
epicenter + a boid's life 1
|
![]() |
![]() |
![]() |
#237 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
Some experiments with animation. One using a scan of 15 frames of an animated gif, stored in megabuff. The other using these frames loaded in the composite shader.
I have also been using this formula that pixelizes a wave or shape: s1=n; s2=s1*s1; i=s1*int(s1*x)+int(s1*y); x=(i%s2)/s2; y=(i%s1)/s1; where n is the matrix size. It can be adapted to use in the composite shader. |
![]() |
![]() |
![]() |
#238 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
muybridge's horse 1
|
![]() |
![]() |
![]() |
#239 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
A simple preset controlled with the mouse.
A free scripting program, AutoIt (v3) was used to write the script. The installation of AutoIt is not required, unless you want to modify the script. The script file is included, as the compiled exe. If AutoIt is installed, the script can be run by double-clicking it. Instructions: 1. Keep the 3 files in the same folder. 2. Don't place any other preset in the folder. 3. Go to Milkdrop settings, and in the transitions tab, make sure the user-solicited preset blend time is set to 0.0. 4. Load the preset. 5. Double-click the exe (or script if AutoIt is installed). 6. It works better in fullscreen. 7. Press Esc while the Milkdrop window is active to stop the script. 8. Note that it is not possible to edit the preset when the script is running. 9. The preset can be edited as long as the number of lines isn't changed, since the script writes in lines 201 and 202. Editing with the menus can be done freely. Last edited by Amandio C; 1st June 2010 at 12:22. |
![]() |
![]() |
![]() |
#240 |
Senior Member
Join Date: Dec 2008
Posts: 400
|
A scripted preset displaying the system time.
Last edited by Amandio C; 2nd June 2010 at 09:34. |
![]() |
![]() |
![]() |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|