YOUR ACCOUNT

Login or Register to post new topics or replies
ThreeDee
Lost in Space

Posts: 1672
Filters: 112
This thread can be used to suggest script-based filters that someone may want to try and create. No matter how wild and crazy...

How about cast shadows from a height map?
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1672
Filters: 112
I am still hoping to do a 3D rotatable cube with image mapping some day...
  Details E-Mail
CorvusCroax
CorvusCroax

Posts: 1227
Filters: 18
Good idea threedee. Here's a few:

I think a Maze component would be cool.

Branching and forking would be useful (rivers, veins, etc)

Erosion of a height map

Pipes - with connecting and branching.
  Details E-Mail
Deskar
The bits for the bit workers

Posts: 109
Filters: 30
smile:)
Hulls for spaceships?
The existent filters are not very reallistic.
Cellular automats?
Chaos?
Real Voronoi patterns?
Uhhhhh.

To bit or not to bit
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1672
Filters: 112
Quote
CorvusCroax wrote:
I think a Maze component would be cool.

Branching and forking would be useful (rivers, veins, etc)

Erosion of a height map

Pipes - with connecting and branching.


Maze with one (and just one) solution would be interesting.
Yes, branching and forking will be in the works shortly.
Erosion seems bit more of a complicated matter. Any ideas on how to achieve it?
Pipes shouldn't be all that difficult.

Quote
Deskar wrote:
Cellular automats? Chaos? Real Voronoi patterns?


Cellular automats are (somewhat) possible even in V1. Oh, I see, you could do one where the slider could control the number of iterations.
Chaos as in "Spiral Defect Chaos"?
Real Voronoi patterns: Doesn't bubbles noise do that? Or do you mean one with better control on point placement?
  Details E-Mail
Kraellin
Kraellin

Posts: 12749
Filters: 99
i have no idea if this is possible with the new scripting, but how about something like sphinx built for making animations or even something that would automate that feature even more? that, being internal, would be really sweet!
If wishes were horses... there'd be a whole lot of horse crap to clean up!

Craig
  Details E-Mail
Sphinx.
Filter Optimizer

Posts: 1750
Filters: 39
Mandelbulb raytracer, more raytraceable object types (it basically comes down to distance estimations and intersection functions), true variblur, solution for procedural rendering of IFS fractals, FFT/iFFT, Lightning "fractal", HDR tonemapping, distance transforms.. more to come smile;)

  Details E-Mail
ThreeDee
Lost in Space

Posts: 1672
Filters: 112
I haven't seen any other raytracing examples but the one Vladimir had somewhere. Raytracing is out of my league. I might manage to get up to raycasting.

Variblur would be good. Could use height (alpha or selection) information for the radius, like Photoshop does.

IFS (iterated function system) fractals, very much YES.

?? What the heck do you use FFT/iFFT for?

Distance transforms: I'd be happy to be able to do just the basic Free Distort / Perspective Distort that is built in in PS.
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1672
Filters: 112
Quote
Sphinx. wrote:
solution for procedural rendering of IFS fractals


I've been thinking about this. What I'm considering is calculating and saving the coordinates, scale and rotation for each of the instances of the fractal particle at prepare(), then creating an additional table for every rendering thread rectangle at get_sample() (when it is run the first time) which holds just those items which appear within the bounds of that rectangle.
Not very memory efficient, but at least it would help rendering speed to limit hit checking to only those items which occur within a given rectangle.
  Details E-Mail
Sphinx.
Filter Optimizer

Posts: 1750
Filters: 39
FFT/iFFT: Once you're in frequency domain, it is very easy to do low/high pass filtering amongst other interesting things. But it is a rather expensive transform, which in the first place requires a doable bitmap based solution

About the IFS stuff.. is definitely high on my list too, but its a damn complicated situation trying to combine a projective design with a procedural smile:cry:

About the distance transform: its not a transformation in the normal sense, it will render the inner and/or outer distances of a selection or binary shape. I did work out a partial solution with the min and max components, but it is size dependant and very memory hungry. I guess it too requires a good bitmap solution

Next thing when I'm done with the 3D mandelbrot raytracer (lua is fighting hard back at me smile:evil: ) is probably cast shadows, i.e. a simple raytracer boiled down to the hard shadows part
  Details E-Mail
Kraellin
Kraellin

Posts: 12749
Filters: 99
fft and ifft are also used in photo restoration. it's a good way to eliminate patterned noise and paper textures picked up by a high resolution scanner.
If wishes were horses... there'd be a whole lot of horse crap to clean up!

Craig
  Details E-Mail
Skybase
2D/3D Generalist

Posts: 4025
Filters: 76
Quote
CorvusCroax wrote:
I think a Maze component would be cool.


You know, if you took ThreeDee's grid script and masked out areas based on a random table of 0s or 1s you can get a rudimentary maze that won't be solvable, but works.

I also write a python script for a game. It was in essence...

1. Create a random value via choice (0 or 1 or 2 or 3) create another random value set with only 0 and 1.

2. Create a MOD grid system (block out every other ups and downs and make each middle section editable)

3. Create the solution: given the condition that they must be continuous lines, if random value is 0 then turn left random value is 1 turn right (up and down so on). Save this on a 2D array. Do this until it hits the edge.

4. if the step already exists: Backtrack.

5. the rest: if the table is not touched fill the rest in. if 0 don't fill. if 1 fill.

Honestly the worst pseudocode I ever written but it works in my head. smile:( I wish I knew LUA better.
  Details E-Mail
Skybase
2D/3D Generalist

Posts: 4025
Filters: 76
Quote
ThreeDee wrote:

Erosion seems bit more of a complicated matter. Any ideas on how to achieve it?


Quick and dirty way I can think of is a set or randomly generated lines (with branching) with a significant amount of noise distortion set on the image.

In other words:
1. Look for a hotspot on the map. Hotspot = the brightest area of the map.
2. Create a bunch of BRANCHING lines all converging at that hotspot.
3. Apply perlin noise distortion to the lines. <--- Probably a grayscale noise map.
4. Use the lines as A) a distiortion map. B) combined with difference???

The point is, once there is branching, it will look like erosion. Otherwise you'll get into things like simulating fluids via navier-strokes.

------
Quote
Kraellin wrote:
fft and ifft are also used in photo restoration. it's a good way to eliminate patterned noise and paper textures picked up by a high resolution scanner.


You mean this?
http://local.wasp.uwa.edu.au/~pbourke...neous/dft/
  Details E-Mail
Vladimir Golovin
Administrator
Posts: 3446
Filters: 55
Quote
Deskar wrote:
Hulls for spaceships? The existent filters are not very reallistic.


You should definitely check this out:
http://www.filterforge.com/forum/read...&MID=85737


Quote
Deskar wrote:
Cellular automats?


Cellular automata are difficult to do with sample-based approach. The best approach would be to use a bitmap, but FF doesn't support bitmap-based scripting yet.
  Details E-Mail
Deskar
The bits for the bit workers

Posts: 109
Filters: 30
Vladimir, the blur component are a automata cellular?
May be a modified version open to user to rescript the core of blur and obtain other CAs?
I don't sure about this. Please tell me if I wrong.

ThreeDee, chaos as Chaos Attractors. smile:)
In Burke´s page are many good shapes

http://local.wasp.uwa.edu.au/~pbourke/fractals/
May be are too raster for FF, but may be a few not...

Sorry my bad english, I eat a korean tv handbook. smile:D
To bit or not to bit
  Details E-Mail
Totte
Übernerd

Posts: 1460
Filters: 107
I'm working on a simple scripting component that I know I've been wanting several times, a switch for up to 16 inputs that is randomly controlled by the Global Variation, which input it will feed out. Will make a similar component for Curves as well. These will come handy when making filters where you want random controlled output or layers and to get rid of all "variation 1", "variation 2" sliders that are just random.

I would really like a script control that can be hooked to grey inputs, to generate true random sliders etc...
- I never expected the Spanish inquisition
  Details E-Mail
CorvusCroax
CorvusCroax

Posts: 1227
Filters: 18
Quote
ThreeDee wrote:
Erosion seems bit more of a complicated matter. Any ideas on how to achieve it?


Well, there are lots of algorithms out there for erosion. They all involve looking at a pixel, calculating it's height compared to its neighbors, and then distibutuing it's excess height equally amongst its neighbors.



"The total volume outlet S of a cell is given by the equation:

where h is the highest difference to the neighbors, 0<r<1 is the resistance coefficient and a is the surface area of the cell."

This strikes me as fairly slow, though. There are probably more clever ways to do it.

Hydraulic erosion is more complicated, because involves influx and outflux, but here's a newer technique which seems quite fast b/c it's optimized for modern GPU. (The Mei paper)
http://citeseerx.ist.psu.edu/viewdoc/...1&type=pdf
Here's the authors' webpage: http://www-evasion.imag.fr/Publications/2007/MDH07/

A couple other links:
http://oddlabs.com/download/terrain_generation.pdf
http://cgg-journal.com/2002-2/03/index.htm

Here's an implementation of the oddlabs ones, including code: http://www.gamedev.net/community/foru..._id=397681
  Details E-Mail
Digital Smith
A Digital Smith

Posts: 37
Filters: 20
ThreeDee you asked for cast shadows so here they are...
Cast Shadows Filter
  Details E-Mail
CFandM
ForgeSmith

Posts: 4761
Filters: 266
Quote
ThreeDee wrote:
I am still hoping to do a 3D rotatable cube with image mapping some day...


Oh yea I completely forgot about rotating image cubes.. smile;)
Guess I will have to learn the basics of scripting first... smile:D smile:)
Just not a lot of time to spare at the moment.. smile:( smile:cry:

Quote
Jim Niehues wrote:
ThreeDee you asked for cast shadows so here they are...
Cast Shadows Filter


cool smile:)
Stupid things happen to computers for stupid reasons at stupid times!
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1672
Filters: 112
Quote
Jim Niehues wrote:
ThreeDee you asked for cast shadows so here they are... Cast Shadows Filter


Oh yes, nice.
  Details E-Mail
CorvusCroax
CorvusCroax

Posts: 1227
Filters: 18
Hey: I have another idea for a script component:

Simple pseudo-random number generator, which returns a new number every time the filter is run. The idea is to plug this into variation, but every time the filter is run.

A lot of times, I want to use a filter on a BUNCH of images (like 100+), using Pshop batching. But I need them to all not look exactly the same. All they need is different variation.

Is that possible using scripting? Seems like is should be simple.
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1672
Filters: 112
Hi Corvus,

Yes, it should. The Script random number generator works that way currently, it produces a different result every time unless tied to the global Variation setting. (I just hope it doesn't get fixed in the next upd ate smile:D )

And you gave me another idea that might be useful: A slider randomizer. That is, you could plug in a Script component that would randomize any slider within a given range (another input se ts the range). It would be similar to the built-in "Randomize" Variation functionality, but with full user control, not just the three preset levels of randomization.
  Details E-Mail
Skybase
2D/3D Generalist

Posts: 4025
Filters: 76
Hmm... how about ....

Watershed image segmentation?

http://en.wikipedia.org/wiki/Watershe...cessing%29

Probably a bit... hard smile:p
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1672
Filters: 112
Uhm, there IS a slight problem, which is that a Map Script can only generate an image output that plugs into a green input and the Curve Script a curve output that plugs into a blue input. Variation is a grey input, so you cannot plug a Script component there...
  Details E-Mail
Totte
Übernerd

Posts: 1460
Filters: 107
Quote
ThreeDee Wrote:
Variation is a grey input, so you cannot plug a Script component there...

Thats why I've wished for a "grey"script output, would make my life much much much simpler, when you have sliders that should affect different inputs and you cannot use the "tone curve trick" to adjust those.
- I never expected the Spanish inquisition
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1672
Filters: 112
Quote
Skybase wrote:
Watershed image segmentation?


Might run into memory issues...

Unless we get a bitmap component that you can run Scripts on, meaning if we could run a script ONCE for the whole image, not for every single render thread, it could be done. Currently you'd have to calculate the image as many times as there render squares. This makes some Scripts (at least) 64 times slower than they need to be.

This is really making some effects hard. It is painfully slow to do, for instance, an Internal Average Color script, for you have to calculate the whole image for every render square. No wonder it isn't in the Components. But blessed be the day a bitmap component appears there.
  Details E-Mail
CorvusCroax
CorvusCroax

Posts: 1227
Filters: 18
Quote
ThreeDee wrote:
Quote Skybase wrote: Watershed image segmentation?


Huh... actually 'Minimum Spanning Forest' makes some decent mazes.

  Details E-Mail
CorvusCroax
CorvusCroax

Posts: 1227
Filters: 18
Hey here's another idea for a script:

Continuousness check / Flood Fill:

Basically just Photoshop's magic wand tool or the fill bucket, but in a FF node form. You give it an X and a Y and a tolerance. It returns black or white. (is continuous with point, or is not continuous)
  Details E-Mail
Skybase
2D/3D Generalist

Posts: 4025
Filters: 76
Hmm...

How about scripts that do simple recursions or a feedback loop? You feed an image, it repeats the image on top of each other based on blending mode, size or whatever attribute.

I'm sure you can do that with the bomber, but I find it slow and tedious to tinker with. Might as well have a component that just does it.
  Details E-Mail
Sphinx.
Filter Optimizer

Posts: 1750
Filters: 39
I did some experiments in that direction, and yes you can easily make something simpler and faster than the bomber. Actually what motivated me is that noise octaves ("layers") in the noise components are blended and I wanted some sort of opaque style combining (its way faster than blending as you can stop sampling when you hit an opaque sample)

its not very complicated making such scripts, basically you need a table holding size, offset etc whatever you need to be unique per sample recursion. Then you loop n times where you fetch a sample and blend/mix/do your thing.

I'd be happy to help out if you need help constructing something like this.
  Details E-Mail
SpaceRay
SpaceRay

Posts: 12298
Filters: 35
Quote
CorvusCroax wrote:

I think a Maze component would be cool.

Erosion of a height map


Yes this would be good and interesting

Also would be good and useful to have a erosion component and script

Quote
ThreeDee wrote:

I am still hoping to do a 3D rotatable cube with image mapping some day...


Yes, I have requested a similar thing like this also in another thread Is it possible to have 3D boxes AND be able to ROTATE THEM in full?
  Details E-Mail
SpaceRay
SpaceRay

Posts: 12298
Filters: 35
interesting ideas shows above that could be done
  Details E-Mail
SpaceRay
SpaceRay

Posts: 12298
Filters: 35
Any others cool, interesting and surprising ideas?

This is only reserves to all of you that know how to make scripts

Good old times when there was much more activity in the forum by many forum users that many of them are missing now
  Details E-Mail
ThreeDee
Lost in Space

Posts: 1672
Filters: 112
Frequency-modulated random tessalation. That is, tessalation patterns which are more dense at darker areas of source image.
  Details E-Mail
SpaceRay
SpaceRay

Posts: 12298
Filters: 35
Quote
ThreeDee

Frequency-modulated random tessalation


YES, this would something good and interesting, uberzev tried something like this with cubes but not for tesselation patterns
  Details E-Mail
Crapadilla
lvl 52 Filter Weaver and Official "Filter Forge Seer"

Posts: 4365
Filters: 65


Beta skeletons
--- Crapadilla says: "Damn you, stupid redundant feature requests!" ;)
  Details E-Mail

Join Our Community!

Filter Forge has a thriving, vibrant, knowledgeable user community. Feel free to join us and have fun!

33,711 Registered Users
+18 new in 30 days!

153,533 Posts
+38 new in 30 days!

15,348 Topics
+73 new in year!

Create an Account

Online Users Last minute:

22 unregistered users.