POV-Ray : Newsgroups : povray.unofficial.patches : FFT internal function? Server Time
28 Mar 2024 15:38:32 EDT (-0400)
  FFT internal function? (Message 1 to 5 of 5)  
From: Bald Eagle
Subject: FFT internal function?
Date: 3 Feb 2017 12:15:00
Message: <web.5894b9fb7b45df6ac437ac910@news.povray.org>
With regard to some past experiments:

How difficult would it be to implement a fast Fourier transform as an internal
POV-Ray / UberPOV / MegaPov function?

I'm assuming not doing this in SDL would be a whole lot faster.

It looks like everything's all set up to 'just' plug it in - the code is
available and free:

"Starting with version 1.3, FFTW is Free Software in the technical sense defined
by the Free Software Foundation (see Categories of Free and Non-Free Software),
and is distributed under the terms of the GNU General Public License."

http://www.fftw.org/


Post a reply to this message

From: clipka
Subject: Re: FFT internal function?
Date: 3 Feb 2017 19:01:04
Message: <589519c0$1@news.povray.org>
Am 03.02.2017 um 18:12 schrieb Bald Eagle:
> With regard to some past experiments:
> 
> How difficult would it be to implement a fast Fourier transform as an internal
> POV-Ray / UberPOV / MegaPov function?
> 
> I'm assuming not doing this in SDL would be a whole lot faster.

It would certainly be possible, and sure as hell faster.

You'd need to provide a use case though, and one or more proposals for
the scene description syntax, as I've never used FFT in the context of
raytracing, so I have no bloody idea what it could be used for in POV-Ray ;)


> It looks like everything's all set up to 'just' plug it in - the code is
> available and free:
> 
> "Starting with version 1.3, FFTW is Free Software in the technical sense defined
> by the Free Software Foundation (see Categories of Free and Non-Free Software),
> and is distributed under the terms of the GNU General Public License."
> 
> http://www.fftw.org/

GPL for a library for which alternatives are plenty? Meh.

I'd gravitate towards an alternative with a "more free" license, maybe
Kiss FFT (BSD) or FFTReal (allegedly WTFPL).

(POV-Ray's license has been changed to AGPL solely for publicity
reasons, so that it can rightly claim to be "free software" not just in
spirit, but also in the strict sense the FSF likes to attach to the
term. To my knowledge the majority (if not all) of the dev team don't
really buy into the FSF's political agenda, and if I'm asked, the
deliberately highly contagious "copyleft" bullshit isn't free either; it
just has the sign bit flipped. But I digress...)


The GNU Scientific Library would also be something to look at, as
besides FFT it also provides other stuff we might want to use, either to
add more features or to replace some of our homegrown code with stuff
that has probably seen more trying, testing and optimizing than we could
ever hope to invest into our own implementations of the respective
functionality. (OTOH at least some of that other functionality relevant
for POV-Ray might also be available in the boost libraries by now.)


Post a reply to this message

From: Bald Eagle
Subject: Re: FFT internal function?
Date: 6 Feb 2017 10:15:01
Message: <web.589892dfda19d532c437ac910@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:

> You'd need to provide a use case though, and one or more proposals for
> the scene description syntax, as I've never used FFT in the context of
> raytracing, so I have no bloody idea what it could be used for in POV-Ray ;)

I'll see what I can do.

As with many things, it's a tool that looks very useful, and something I'd like
to explore.

I had wanted to use it for "simple" signal processing - to extract the
fundamental frequencies of the data in the vibrating plate animation I did.
I'm sure that given the various transcendent, repeating, and other functions
that are used to generate various scene elements, that some clever person could
apply the Fourier transform and its inverse to do some wicked cool stuff that I
can't currently imagine or articulate.  ;)

From some of my reading, it looks like it can be used for some formas of
antialiasing, image deconvolution (sharpening), simulating types of noise, water
surfaces, etc.

http://www.bugman123.com/Fractals/index.html
(CTRL-F to search for 'fourier')
     Frequency Filtered Random Noise - Mathematica 4.2, 9/5/04

http://www.bugman123.com/Physics/index.html#Caustics
"Water Caustics - Mathematica 4.2, POV-Ray 3.1, 4/22/06
  This water-like surface was generated in Mathematica using frequency filtered
random noise, and then it was raytraced in POV-Ray and water caustics were added



http://www.bialith.com/Research/BARclockblur.htm
http://www.deconvolve.net/index.html


Post a reply to this message

From: Bald Eagle
Subject: Re: FFT internal function?
Date: 8 Feb 2017 12:20:01
Message: <web.589b5312da19d532c437ac910@news.povray.org>
How's this for old?

http://www-evasion.inrialpes.fr/people/Fabrice.Neyret/images/fluids-nuages/waves/Jonathan/articlesCG/fourier-synthesis-
of-ocean-scenes-87.pdf

:O


Post a reply to this message

From: Bald Eagle
Subject: Re: FFT internal function?
Date: 27 Feb 2017 10:20:00
Message: <web.58b442d7da19d532c437ac910@news.povray.org>
http://news.povray.org/povray.binaries.images/thread/%3C42ff61ca%241%40news.povray.org%3E/

https://www.youtube.com/watch?v=oACegp4iGi0

https://github.com/ssingal05/ImageTransformer

Looks like in addition to processing images, it could be useful for generating
pigment patterns. (see @ 2:05)


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.