POV-Ray : Newsgroups : povray.binaries.images : Inversion Server Time
19 May 2024 06:39:10 EDT (-0400)
  Inversion (Message 5 to 14 of 24)  
<<< Previous 4 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Bald Eagle
Subject: Re: Inversion
Date: 8 Apr 2016 19:05:00
Message: <web.570838d5c6ebc48080403a200@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:

> Anyone want to take a guess?

Um, it looks like some sort of film exposure feature, with solarization
occurring at the bright spot on the sphere.

It's been WAY too long since I've dabbled with real photography and played with
film gamma, artistic effects, and alternative photographic processes...

Hot or cold?  :)


Post a reply to this message

From: clipka
Subject: Re: Inversion
Date: 8 Apr 2016 20:08:31
Message: <570847ff$1@news.povray.org>
Am 09.04.2016 um 01:03 schrieb Bald Eagle:
> clipka <ano### [at] anonymousorg> wrote:
> 
>> Anyone want to take a guess?
> 
> Um, it looks like some sort of film exposure feature, with solarization
> occurring at the bright spot on the sphere.
> 
> It's been WAY too long since I've dabbled with real photography and played with
> film gamma, artistic effects, and alternative photographic processes...
> 
> Hot or cold?  :)

Burnt your skin on a tip of the feature, but caught frostbite on the
specifics of the sample image. And you didn't get hold of everything yet.

Fact is, the image is an exact negative of one of the insert menu samples.

But I think you got close enough: It is indeed a generic tonemapping
feature.

The predecessor is, of course, Christoph Hormann's tonemapping
implementation in MegaPOV.

What this new incarnation will lack is the post-aliasing part of the
feature. All tonemapping will be done before aliasing, for various reasons.

What this new incarnation will add is the ability to apply different
tonemapping functions to each colour channel, perform cross-channel
colour maths, and as an extra bonus even use functions that depend on
the screen location.

(As for the post-aliasing part, that will be covered by a generic
post-processing feature /some/ day in the future.)


Post a reply to this message

From: Bald Eagle
Subject: Re: Inversion
Date: 9 Apr 2016 16:35:01
Message: <web.570966f9c6ebc48080403a200@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:

> Fact is, the image is an exact negative of one of the insert menu samples.

Tone reversed and color reversed, just like a typical color negative (without
the orange color mask).  I guess "it's [just] a negative" seemed too simple an
answer.


> What this new incarnation will add is the ability to apply different
> tonemapping functions to each colour channel, perform cross-channel
> colour maths, and as an extra bonus even use functions that depend on
> the screen location.

So, this would be analogous to various image processing features and "filters"
that a lot of graphics programs have?
I find the screen location feature interesting, and am wondering how that will
function, and what inspired its development.

I would imagine that various functions could be used to adjust brightness and
colour using gradients, concentric-type adjustment such as the cos^4 brightness
dropoff typically seen in camera lenses, etc.
I guess you could also use one image to map/adjust tones onto/in another kind of
like a pigment/texture/image map.

Sounds like a very cool project indeed, with lots of potential!


Post a reply to this message

From: clipka
Subject: Re: Inversion
Date: 9 Apr 2016 23:38:18
Message: <5709caaa$1@news.povray.org>
Am 09.04.2016 um 22:32 schrieb Bald Eagle:
> clipka <ano### [at] anonymousorg> wrote:

>> What this new incarnation will add is the ability to apply different
>> tonemapping functions to each colour channel, perform cross-channel
>> colour maths, and as an extra bonus even use functions that depend on
>> the screen location.
> 
> So, this would be analogous to various image processing features and "filters"
> that a lot of graphics programs have?
> I find the screen location feature interesting, and am wondering how that will
> function, and what inspired its development.

"Because we can".

Actually the chain of thought was something like this:

(1) "To really wrap up the topic I want to provide the user with a means
to effect gamma adjustment for purely artistic purposes, so that they'll
never again have to misuse any of the gamma handling stuff intended for
purely technical purposes. Some global 'artistic_gamma' setting might do
the job."

(2) "Then again, artistic gamma adjustment is just a special case of
tonemapping, and possibly not even the best choice for what the users
actually want to achieve with it, so a dedicated 'artistic_gamma'
feature would be pretty short-sighted, wouldn't it? Better implement a
generic tonemapping feature."

(3) "Thinking about it, we do have this plan to add a generic full-image
postprocessing feature somwehere further down the road, which would make
this dedicated tonemapping feature obsolete. It would be wise to plan
ahead now, lay out the syntax we'll want for that future feature, and
already implement whatever subset we can, most notably tonemapping; of
course we can also throw in some other goodies like doing fancy stuff
based on the screen coordinates."

(4) "The full-image postprocessing feature will need to run after the
entire image has been raytraced, but the current architecture provides
no clean place to hook it up there. Let's see where I can hook it up for
now... ah, there's a nice place for it."

(5) "Damn, I forgot about anti-aliasing: It'll make a difference whether
we apply tonemapping before or after that step. The final full-image
postprocessing feature will inevitably need to operate
post-anti-aliasing, but the preliminary place I've chosen is
pre-anti-aliasing, so we're guaranteed to break the behaviour as soon as
we move it to its final place. I need to put it someplace else already."

(6) "Wait, hold it -- I think doing the tonemapping _before_ the
anti-aliasing actually looked better. So we probably need a switdh to
choose whether to apply it before or after anti-aliasing... then again,
in pre-anti-aliasing mode we'd have only limited functionality; and some
poeple might want to use both pre- _and_ post-anti-aliasing
postprocessing... Dang, this gets more complicated than I expected."

(7) "You know what? Sod it! I'll just name the pre-anti-aliasing
tampering with image data 'tonemapping', and the post-anti-aliasing
tampering will be called 'postprocessing'."

(8) "Hm, what about the non-tonemapping stuff like the screen location?
Ah, I'll just keep it in there. It doesn't hurt, and someone might find
it useful for something some day."

And that's how the screen coordinates have ended up in the tonemapping
feature.


> I would imagine that various functions could be used to adjust brightness and
> colour using gradients, concentric-type adjustment such as the cos^4 brightness
> dropoff typically seen in camera lenses, etc.
> I guess you could also use one image to map/adjust tones onto/in another kind of
> like a pigment/texture/image map.

With the x and y screen coordinates available, it should be possible to
write tonemapping functions that overlay a pattern onto the image (via a
pattern function); such a pattern could in turn be arbitrarily complex,
from a simple spherical pattern creating a vignette effect to a complex
object pattern based on one or more text objects overlaying textual
information like a singature or frame number.


Post a reply to this message

From: clipka
Subject: Re: Inversion
Date: 10 Apr 2016 11:11:00
Message: <570a6d04@news.povray.org>
Am 08.04.2016 um 19:43 schrieb clipka:
> CSOP, inverted through a magic trick...

Just in case nobody noticed my post in povray.beta-test -- an
experimental version supporting tonemapping can be found at:

https://github.com/POV-Ray/povray/releases/tag/v3.7.1-alpha.8558038%2Bav124

See my post in povray.beta-test for a detailed description with
examples. Alternatively, you can find a short description in the commit
description at:

https://github.com/POV-Ray/povray/commit/6cb824e1bcbd752eb44e31745f7258af8de9c13c

But yeah, go out and enjoy the beautiful spring weekend. Desert me. Go
ahead and see if I care. ;)


Post a reply to this message

From: Jaime Vives Piqueres
Subject: Re: Inversion
Date: 10 Apr 2016 14:30:34
Message: <570a9bca$1@news.povray.org>
El 10/04/16 a las 17:10, clipka escribió:
> But yeah, go out and enjoy the beautiful spring weekend. Desert me.
> Go ahead and see if I care. ;)

   I'm really curious about that new feature and wanted to test it today,
but your derivatives example and my broken washing machine kept me busy
all day... luckily, I could repair the washing machine, and somehow I
worked out the derivatives example into a functional foam pattern (tough
I'm still fine-tuning it).

--
jaime


Post a reply to this message

From: Anthony D  Baye
Subject: Re: Inversion
Date: 10 Apr 2016 21:15:01
Message: <web.570af99bc6ebc480fd6b6fe10@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> Am 09.04.2016 um 22:32 schrieb Bald Eagle:
> > clipka <ano### [at] anonymousorg> wrote:
>
> >> What this new incarnation will add is the ability to apply different
> >> tonemapping functions to each colour channel, perform cross-channel
> >> colour maths, and as an extra bonus even use functions that depend on
> >> the screen location.
> >
> > So, this would be analogous to various image processing features and "filters"
> > that a lot of graphics programs have?
> > I find the screen location feature interesting, and am wondering how that will
> > function, and what inspired its development.
>
> "Because we can".
>
> Actually the chain of thought was something like this:
>
<snip>
>
> And that's how the screen coordinates have ended up in the tonemapping
> feature.
>
>
> > I would imagine that various functions could be used to adjust brightness and
> > colour using gradients, concentric-type adjustment such as the cos^4 brightness
> > dropoff typically seen in camera lenses, etc.
> > I guess you could also use one image to map/adjust tones onto/in another kind of
> > like a pigment/texture/image map.
>
> With the x and y screen coordinates available, it should be possible to
> write tonemapping functions that overlay a pattern onto the image (via a
> pattern function); such a pattern could in turn be arbitrarily complex,
> from a simple spherical pattern creating a vignette effect to a complex
> object pattern based on one or more text objects overlaying textual
> information like a singature or frame number.

In the spirit of foresightedness... I'm going to shill for my idea of a plugin
api again.  Because:

1) New functionality should be added by new code, not modification of old,
working code.

2) Adding a plugin to a directory and using dependency injection would be vastly
preferable to recompiling multiple un-official versions.

In fact, I would imagine that large parts of the current codebase could be
abstracted out as plugins (necessary core plugins, perhaps, but plugins)

I would also imagine that this would be a task of more than somewhat Herculean
porportions, so I completely understand resistance.

Unfortunately, I wouldn't know where to begin with such a thing, as I have a
hard time following the patterns in the codebase. (to put it lightly)

*kicks the hornet nest and hides*

Regards,
A.D.B.


Post a reply to this message

From: clipka
Subject: Re: Inversion
Date: 10 Apr 2016 23:36:36
Message: <570b1bc4@news.povray.org>
Am 11.04.2016 um 03:13 schrieb Anthony D. Baye:

> In the spirit of foresightedness... I'm going to shill for my idea of a plugin
> api again.  Because:

Your motion is moot, because:

> 1) New functionality should be added by new code, not modification of old,
> working code.

While that may be true in an ideal world, in reality sometimes (actually
more often than not) new code needs to be hooked up someplace nobody had
ever imagined that code might have to be hooked up there, so plugins are
always more limited than patches.

> 2) Adding a plugin to a directory and using dependency injection would be vastly
> preferable to recompiling multiple un-official versions.

Providing hooks to inject user-defined code wherever suitable is already
on the agenda. Except that there most likely won't be a plugin
directory; instead, such user-defined code would be written in a
next-generation scene description language, compiled to some virtual
machine bytecode, and uiltimately just-in-time-compiled to native code.

> In fact, I would imagine that large parts of the current codebase could be
> abstracted out as plugins (necessary core plugins, perhaps, but plugins)

Not yet.

> I would also imagine that this would be a task of more than somewhat Herculean
> porportions, so I completely understand resistance.

You're perfectly right as far as the proportions are concerned, but
you're off the mark concerning resistance. Herculean work is already
going on in the background.

> Unfortunately, I wouldn't know where to begin with such a thing, as I have a
> hard time following the patterns in the codebase. (to put it lightly)

Don't even try. The current codebase is still far too monolithic to bolt
on any way to inject user code. But we're working on it, slowly but
thoroughly.


Post a reply to this message

From: Thomas de Groot
Subject: Re: Inversion
Date: 11 Apr 2016 02:50:20
Message: <570b492c$1@news.povray.org>
On 10-4-2016 20:30, Jaime Vives Piqueres wrote:
> El 10/04/16 a las 17:10, clipka escribió:
>> But yeah, go out and enjoy the beautiful spring weekend. Desert me.
>> Go ahead and see if I care. ;)
>
>    I'm really curious about that new feature and wanted to test it today,
> but your derivatives example and my broken washing machine kept me busy
> all day... luckily, I could repair the washing machine, and somehow I
> worked out the derivatives example into a functional foam pattern (tough
> I'm still fine-tuning it).
>

What lame excuses! :-)

I am curious about the foam pattern. I have tried some ideas of my own 
yesterday but to no conclusive results.

-- 
Thomas


Post a reply to this message

From: Stephen
Subject: Re: Inversion
Date: 11 Apr 2016 05:32:48
Message: <570b6f40$1@news.povray.org>
On 4/11/2016 7:50 AM, Thomas de Groot wrote:

> I am curious about the foam pattern. I have tried some ideas of my own
> yesterday but to no conclusive results.
>

This is PovRay's - Fermat's Last Theorem

I shall cheer on from the sidelines. And watch with interest.


-- 

Regards
     Stephen


Post a reply to this message

<<< Previous 4 Messages Goto Latest 10 Messages Next 10 Messages >>>

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