![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 1 May 2000 15:15:13 -0400, ron### [at] povray org (Ron Parker)
wrote:
>I actually wrote a patch to do this with POV 2.2, but the code is long
>lost now. I also don't remember what reaction it got; I seem to
>recall that it was rather lukewarm, if that.
Can you remember if having multiple cameras would speed rendering
multiple views of the same scene geometry, at least as it was
implemented in the patch you made? I wish your patch had gotten more
attention and remained with us, in source form if nothing else.
Later,
Glen Berry
( Remove the "7" from 7no### [at] ezwv com to email me. )
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I recall talk of multiple camera views for one scene render around here
someplace or at c.g.r.r.
I thought it was deemed implausible or impossible and I certainly don't
remember it had actually been tried.
Where'd that "portal patch", or whatever it was being called, go to?
Seems that was Chris Huff trying it. That seemed a similar thing.
Bob
"Glen Berry" <7no### [at] ezwv com> wrote in message
news:KQcOOXNS046mLSvWPFwpFtBWB0PQ@4ax.com...
| On 1 May 2000 15:15:13 -0400, ron### [at] povray org (Ron Parker)
| wrote:
|
| >I actually wrote a patch to do this with POV 2.2, but the code is long
| >lost now. I also don't remember what reaction it got; I seem to
| >recall that it was rather lukewarm, if that.
|
| Can you remember if having multiple cameras would speed rendering
| multiple views of the same scene geometry, at least as it was
| implemented in the patch you made? I wish your patch had gotten more
| attention and remained with us, in source form if nothing else.
|
| Later,
| Glen Berry
|
| ( Remove the "7" from 7no### [at] ezwv com to email me. )
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <390e1a7f@news.povray.org>, "Bob Hughes"
<per### [at] aol com?subject=PoV-News:> wrote:
> I recall talk of multiple camera views for one scene render around here
> someplace or at c.g.r.r.
> I thought it was deemed implausible or impossible and I certainly don't
> remember it had actually been tried.
> Where'd that "portal patch", or whatever it was being called, go to?
> Seems that was Chris Huff trying it. That seemed a similar thing.
I was *thinking* about something very similar to it, but I think it was
XenoArch(Matthew Corey Brown, the author of the light groups patch, the
ridged multifractal, and some of the added warps) who refined the idea
and actually wrote it. I don't know how far he has gotten...it certainly
looked very promising.
--
Christopher James Huff - Personal e-mail: chr### [at] yahoo com
TAG(Technical Assistance Group) e-mail: chr### [at] tag povray org
Personal Web page: http://chrishuff.dhs.org/
TAG Web page: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Chris Huff" <chr### [at] yahoo com> wrote in message
news:chrishuff_99-7BE046.21342301052000@news.povray.org...
| In article <390e1a7f@news.povray.org>, "Bob Hughes"
| <per### [at] aol com?subject=PoV-News:> wrote:
|
| > I recall talk of multiple camera views for one scene render around here
| > someplace or at c.g.r.r.
| > I thought it was deemed implausible or impossible and I certainly don't
| > remember it had actually been tried.
| > Where'd that "portal patch", or whatever it was being called, go to?
| > Seems that was Chris Huff trying it. That seemed a similar thing.
|
| I was *thinking* about something very similar to it, but I think it was
| XenoArch(Matthew Corey Brown, the author of the light groups patch, the
| ridged multifractal, and some of the added warps) who refined the idea
| and actually wrote it. I don't know how far he has gotten...it certainly
| looked very promising.
Ah... okay, thanks for that info Chris.
Bob
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <chrishuff_99-80DFAD.19253627042000@news.povray.org>, Chris
Huff <chr### [at] yahoo com> wrote:
> Does anyone have any suggestions for additional filters?
The list is now:
Stuff I can do or am confident I can figure out:
levels, including an automatic adjustment feature, but probably not
what has been discussed on these groups
curves, which would be like levels but would be controlled by cubic
or cosine splines.
subtract, divide, average; which could be done with the current add
and multiply but would make life easier, especially when using
image_maps.
min, max; very much like add, subtract, multiply, etc, but using
min/max to compare color values.
mosaiac
tv or interlace
Possibly a "directional blur". It would be less useful than
blur_matrix, but easier to use. Maybe I will just write a macro to
output the appropriate matrix data.
sparkles, which would make little "flares" at locations above a
certain brightness. A form of this can be done with blur_matrix, and I
have a sort-of-working version, but I have some more approaches I would
like to try out.
And maybe some kind of filter which would reduce the resolution of
the image, and fill in the gaps by interpolating between the lower
resolution data...
Stuff I don't know how to implement, and don't think I can figure out,
but which I think is useful, information on these would be welcome:
emboss
dither/halftone
sharpen_edges, and other "sharpen" filters. Blurring is pretty easy
to figure out, but doing the opposite has me lost.
color_function, which would allow isosurface functions to act as
filters. The problem is mostly that I don't know how to add
variables/functions to isosurface functions, let alone functions which
are only useable in certain areas.
Stuff I don't even know the use for, let alone how to implement. Could
anyone tell me what these are for?
posterize
laplace
solarize
despeckle
I am also thinking of adding a "noise" pigment. Not a pattern, but a
non-patterned pigment like image_map, with options for "monochrome" and
"gaussian". This would be more useful than a filter, since it could be
used with any of the filters which take a pigment as a color value. It
might also be useful in "static" textures.
Did I miss anything?
--
Christopher James Huff - Personal e-mail: chr### [at] yahoo com
TAG(Technical Assistance Group) e-mail: chr### [at] tag povray org
Personal Web page: http://chrishuff.dhs.org/
TAG Web page: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Tue, 02 May 2000 20:48:21 -0500, Chris Huff wrote:
>Stuff I don't know how to implement, and don't think I can figure out,
>but which I think is useful, information on these would be welcome:
> emboss
This is a matrix function, as long as you do it along one of the eight
multiples of 45 degrees. For the usual "light in the upper left corner"
effect, I believe the operation is
-1 0 0
0 1 0 * .5 + .5
0 0 0
That is, if the pixel up and to the left is darker than the current
pixel, the result is brighter than .5, and if it's lighter the result
is less than .5.
> dither/halftone
Floyd/Steinberg is fairly easy to implement, if I remember correctly.
> sharpen_edges, and other "sharpen" filters. Blurring is pretty easy
>to figure out, but doing the opposite has me lost.
The basic "sharpen" filter is also a matrix convolution, but what it
is escapes me for the moment.
>Stuff I don't even know the use for, let alone how to implement. Could
>anyone tell me what these are for?
>posterize
This essentially quantizes the colors and makes a banding effect. If I
remember correctly, it requires two passes: one to accumulate the colors
used in the image, and one to do the actual posterization. In between,
you need to do some kind of color reduction step.
>laplace
I believe this is an edge-detection algorithm. It might even be a
matrix convolution.
--
Ron Parker http://www2.fwi.com/~parkerr/traces.html
These are my opinions. I do NOT speak for the POV-Team.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Chris Huff wrote in message ...
>Stuff I don't know how to implement, and don't think I can figure out,
>but which I think is useful, information on these would be welcome:
> emboss
> dither/halftone
> sharpen_edges, and other "sharpen" filters. Blurring is pretty easy
>to figure out, but doing the opposite has me lost.
> color_function, which would allow isosurface functions to act as
>filters. The problem is mostly that I don't know how to add
>variables/functions to isosurface functions, let alone functions which
>are only useable in certain areas.
>
>Stuff I don't even know the use for, let alone how to implement. Could
>anyone tell me what these are for?
>posterize
>laplace
>solarize
>despeckle
You might want to take a look at the source code for the GIMP. It has
filters for all of these, except (I think) solarize.
Mark
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 2 May 2000 23:16:20 -0400, ron### [at] povray org (Ron Parker)
wrote:
>On Tue, 02 May 2000 20:48:21 -0500, Chris Huff wrote:
>>Stuff I don't know how to implement, and don't think I can figure out,
>>but which I think is useful, information on these would be welcome:
>> emboss
>
>This is a matrix function, as long as you do it along one of the eight
>multiples of 45 degrees. For the usual "light in the upper left corner"
>effect, I believe the operation is
>
> -1 0 0
> 0 1 0 * .5 + .5
> 0 0 0
The numbers in the matrix above are correct. I'm not sure about the
multiplier and offset modifiers. For me, a vaue of one for the
multiplier works, and the offset value should be set to one-half of
the maximum possible value. I just tested these, and they work.
>> sharpen_edges, and other "sharpen" filters. Blurring is pretty easy
>>to figure out, but doing the opposite has me lost.
One type of sharpen filter:
-2 -2 -2
-2 32 -2
-2 -2 -2
Division Factor = 16
Bias, or Offset = 0
( Remove the "7" from 7no### [at] ezwv com to email me. )
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Tue, 02 May 2000 20:48:21 -0500, Chris Huff
<chr### [at] yahoo com> wrote:
>Stuff I don't even know the use for, let alone how to implement. Could
>anyone tell me what these are for?
>posterize
As Ron Parker described, classic posterization is simply reducing the
color depth to a relatively small number, without using any dithering
to hide the banding. I don't believe that one has to perform this in
two passes, however. Simply divide the range between minimum allowable
value (0), and maximum allowable value for a color into a few discrete
ranges. Posterization is basically a color depth adjustment, where you
get to specify any number of possible shades between 0 and 255. For
example, a setting of "5" would allow 5 different shades of red, 5
shades of green, and 5 shades of blue. If you wanted to get a little
fancier, you could specify different depths for the different color
channels. This might be especially handy to use for use with a cartoon
filter.
Note: A posterization filter would offer much more control than simply
setting the color depth in the povray.ini file.
>solarize
Solarize can be achieved with an "iso-function" type patch. Basically,
if a pixel exceeds a certain value, it is converted to a "negative"
image. The origination of this effect was in a characteristic of older
types of camera film. Early camera film would actually reverse it's
tonal range if subjected to an extremely bright light. That is, what
should appear in the photo as white, would actually start turn dark,
if the exposure to light was severe enough. I have seen examples in
books where the sun appeared black, and the rest of the image looked
normal. Modern films don't exhibit this effect.
It is *very* similar to the Sabattier Effect, which is generated by
flashing light onto film or photo paper while it is still being
processed in the darkroom. Specifically, flashed while in the initial
developer stage of processing.
If you want a sample formula to play with, here is one of many that
will give this sort of effect:
RedOut = 1-(0.5+(cos(RedIn*pi*2)/2))
GreenOut = 1-(0.5+(cos(GreenIn*pi*2)/2))
BlueOut = 1-(0.5+(cos(BlueIn*pi*2)/2))
This generates a fixed response curve that makes a negative image of
anything above the mid-point of the scale. It's a deep and dramatic
solarization effect. A more refined approach would be to offer a user
specified value for the reversal threshold.
>despeckle
Of course, this is a type of blurring/smoothing filter, but
unfortunately I don't have the details for you.
>laplace
This should be some sort of "edges" type filter. I don't know the
details.
*****************
I would *highly* reccomend you visiting this site:
http://www.tisl.ukans.edu/~jgauch/kuim/
Here you will find info about the Laplacian Edges filter, different
types of blurring filters, different sharpening filters, and much
more. All filters described even come with sample source code. It
should still provide you with a lot of insight.
Later,
Glen Berry
( Remove the "7" from 7no### [at] ezwv com to email me. )
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <GvsPOYQ0gONAxo4TzcbW6gmRbpjF@4ax.com>, Glen Berry
<7no### [at] ezwv com> wrote:
> >posterize
>
> As Ron Parker described, classic posterization is simply reducing the
> color depth to a relatively small number, without using any dithering
> to hide the banding. I don't believe that one has to perform this in
> two passes, however. Simply divide the range between minimum allowable
> value (0), and maximum allowable value for a color into a few discrete
> ranges. Posterization is basically a color depth adjustment, where you
> get to specify any number of possible shades between 0 and 255. For
> example, a setting of "5" would allow 5 different shades of red, 5
> shades of green, and 5 shades of blue. If you wanted to get a little
> fancier, you could specify different depths for the different color
> channels.
This is exactly what is done with my "steps" filter. I multiply the
float colors by a certain amount, convert to integer, and then scale
back to the original color range. And it is already per-channel, you can
have different numbers of steps for each channel.
> >solarize
>
> Solarize can be achieved with an "iso-function" type patch. Basically,
> if a pixel exceeds a certain value, it is converted to a "negative"
> image.
...
> This generates a fixed response curve that makes a negative image of
> anything above the mid-point of the scale. It's a deep and dramatic
> solarization effect. A more refined approach would be to offer a user
> specified value for the reversal threshold.
Hmm, this will probably stay in the "to do" pile for a while.
> I would *highly* reccomend you visiting this site:
>
> http://www.tisl.ukans.edu/~jgauch/kuim/
...
Thanks for the link!
--
Christopher James Huff - Personal e-mail: chr### [at] yahoo com
TAG(Technical Assistance Group) e-mail: chr### [at] tag povray org
Personal Web page: http://chrishuff.dhs.org/
TAG Web page: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |