POV-Ray : Newsgroups : povray.unofficial.patches : Mega-POV Post-Processing Request : Re: Mega-POV Post-Processing Request Server Time
2 Sep 2024 12:15:40 EDT (-0400)
  Re: Mega-POV Post-Processing Request  
From: Nathan Kopp
Date: 24 Apr 2000 00:19:07
Message: <3903cb3b@news.povray.org>
Chris Huff <chr### [at] yahoocom> wrote...
>   DBL Depth;
>     The distance the ray went before it hit anything, I guess.

yes.  Currently if the ray hits a clear object, it will give the distance to
the clear object.  This could be changed so that it returns the distance to
the first opaque object that is hit (the code exists to allow that, which
could be useful for media container objects).

Also, this value is currently NOT anti-aliased.  It would be great if it
could be, but I'm not sure of a good way to do that.

>   COLOUR Colour;
>     Clipped or unclipped? I don't know...

raw (unclipped) floating-point values

>   VECTOR IPoint;
>     The intersection point.(What is this for background pixels?)

I don't remember what it is for background (probably garbage or <0,0,0>).  A
programmer writing a post_process filter should check Depth first.

>   VECTOR INormal;
>     The unperturbed surface normal at the intersection point.(Again,
> what is this for background pixels?)

again, I don't know what it would be for background pixels - most likely
garbage.

>   VECTOR PNormal;
>     The surface normal at the intersection point, perturbed by the
> texture normal.
>   UV_VECT Iuv;
>     UV coordinates for the intersection point, I guess.

yes.  AFAIK, this currently will be garbage if uv_mapping is not used for
the object.

>   int Object;
>     An index for the first object hit?

Currently not fully implemented.  The goal is to eventually allow the user
to specify an index for an object, like this:

object{
  myObject
  index 12
}

And then in the post_process section, they can apply an object-specific
effect, like this:

global_settings{
  post_process{
    object_glow { colour rgb<0,1,0> effect_size 3 index 12 }
  }
}

This object_glow effect would then produce a green glow around the object
with index 12.  (Of course, you wouldn't be able to 'see' the object through
any other object (such as a clear media container), since the
post-processing buffer would contain the index to the media-container object
instead of the object that was beyond it.

All of these values currently suffer from the fact that they are not
anti-aliased.  Please note that while it would be relatively easy to simply
anti-alias the raw values that are stored, it may not produce the desired
results.  (I do hope to test that eventually, to see if it would work.)

-Nathan


Post a reply to this message

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