![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Bob Hughes
Subject: Re: Isosurface+pigment...surface imperfections
Date: 31 Jul 1999 17:38:54
Message: <37a36cee@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
If you notice that when using image_map pigments the 'interpolate' makes
a big difference. Seems 2 is best to me, not 4. The isosurface probably
uses a similar convention itself rather than straight procedural
pigment. If it did it would obviously have no noticeable artifacts, or
so I would think. Perhaps there is a resolution limitation then? Based
upon the 1 POV unit square a pigment is usually confined to?
"SamuelT." wrote:
>
> I have been fooling around with the new pigment add-on to the
> isosurface. It is very cool that we have this new ability for making
> more complex shapes. But... I can't get my surfaces perfectly smooth. I
> get darned close however.
>
> Here is what I normally use in the isosurface statement to get maximum
> smoothness from the isosurface (I only put these things in when using
> the pigment feature):
>
> accuracy .015
> method 2
> max_gradient 10
>
> Tweaking the accuracy one way or another from it's current position will
> either make the surface choppy, or make a lot of black pixels appear.
> Changing the method has no perceived effects, except for render time. I
> can safely keep the max_gradient around 5 for most objects, but 10 is
> safe. Max_gradient only seems to fill in large holes that appear in the
> isosurface.
>
> So, I have a couple questions in light of all this: can the program's
> code be altered to make the surface of these objects smoother? What can
> I do to the isosurface statement to get the results I want? I'm not a
> c++ programmer(I can barely program basic).
>
> I would be very gratful if somebody has any answers to my questions.
>
> Thank you,
> Samuel Benge
--
omniVERSE: beyond the universe
http://members.aol.com/inversez/homepage.htm
mailto://inversez@aol.com?Subject=PoV-News
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 already use interpolate 2 for the image_maps I use for the isosurface. I
posted a new shape a few minutes ago that has nearly no artifacts whatsoever.
That is because I used triangle_wave for the pigment. Had I used scallop_wave,
the bad effects would have been very noticeable.
Samuel Benge
Bob Hughes wrote:
> If you notice that when using image_map pigments the 'interpolate' makes
> a big difference. Seems 2 is best to me, not 4. The isosurface probably
> uses a similar convention itself rather than straight procedural
> pigment. If it did it would obviously have no noticeable artifacts, or
> so I would think. Perhaps there is a resolution limitation then? Based
> upon the 1 POV unit square a pigment is usually confined to?
Post a reply to this message
Attachments:
Download 'us-ascii' (1 KB)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Bob Hughes
Subject: Re: Isosurface+pigment...surface imperfections
Date: 31 Jul 1999 18:21:49
Message: <37a376fd@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
The plot thickens...
"SamuelT." wrote:
>
> I already use interpolate 2 for the image_maps I use for the isosurface. I
> posted a new shape a few minutes ago that has nearly no artifacts whatsoever.
> That is because I used triangle_wave for the pigment. Had I used scallop_wave,
> the bad effects would have been very noticeable.
>
> Samuel Benge
>
> Bob Hughes wrote:
>
> > If you notice that when using image_map pigments the 'interpolate' makes
> > a big difference. Seems 2 is best to me, not 4. The isosurface probably
> > uses a similar convention itself rather than straight procedural
> > pigment. If it did it would obviously have no noticeable artifacts, or
> > so I would think. Perhaps there is a resolution limitation then? Based
> > upon the 1 POV unit square a pigment is usually confined to?
--
omniVERSE: beyond the universe
http://members.aol.com/inversez/homepage.htm
mailto://inversez@aol.com?Subject=PoV-News
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) |
"SamuelT." wrote:
>
> I already use interpolate 2 for the image_maps I use for the isosurface. I
> posted a new shape a few minutes ago that has nearly no artifacts whatsoever.
> That is because I used triangle_wave for the pigment. Had I used scallop_wave,
> the bad effects would have been very noticeable.
>
> Samuel Benge
>
> Bob Hughes wrote:
>
> > If you notice that when using image_map pigments the 'interpolate' makes
> > a big difference. Seems 2 is best to me, not 4. The isosurface probably
> > uses a similar convention itself rather than straight procedural
> > pigment. If it did it would obviously have no noticeable artifacts, or
> > so I would think. Perhaps there is a resolution limitation then? Based
> > upon the 1 POV unit square a pigment is usually confined to?
I suggest you use a 16 bit heigtfield for the pigment. Particularly
the TGA type (the one where if you look at it its red green and yellow)
I wrote the code to use the red portion as most signifigant and the
green
portion as least.
But i belive the main problems come from spherical mapping of 2d images.
The orgional isosurface code (which i didn't touch just added a new
function
to turn a 3d pigment to a number between 0 and 1) needs to have real 3d
info. SPherical mapping of 2d images don't give true 3d data so
intersection
and normal tests can run into errors. To fix things of this type the
actual
resolving code would need to be changed and that could break backwards
compatibilty.
(and to be honest that portion of the iso surface code is beyond 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 have heard of something called a density map. What is it and how can I make one?
Perhaps that is what I need.
Thanks.
Samuel Benge
Matthew Corey Brown wrote:
> I suggest you use a 16 bit heigtfield for the pigment. Particularly
> the TGA type (the one where if you look at it its red green and yellow)
> I wrote the code to use the red portion as most signifigant and the
> green
> portion as least.
>
> But i belive the main problems come from spherical mapping of 2d images.
> The orgional isosurface code (which i didn't touch just added a new
> function
> to turn a 3d pigment to a number between 0 and 1) needs to have real 3d
> info. SPherical mapping of 2d images don't give true 3d data so
> intersection
> and normal tests can run into errors. To fix things of this type the
> actual
> resolving code would need to be changed and that could break backwards
> compatibilty.
> (and to be honest that portion of the iso surface code is beyond me)
Post a reply to this message
Attachments:
Download 'us-ascii' (1 KB)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"SamuelT." wrote:
>
> I have heard of something called a density map. What is it and how can I make one?
> Perhaps that is what I need.
>
> Thanks.
As far as I know density maps are currently restricted to the media function
though a .df3 density file can be used with pigments. I haven't experimented
yet with the latter to offer much on it though.
--
Ken Tyler
See my 700+ Povray and 3D Rendering and Raytracing Links at:
http://home.pacbell.net/tylereng/index.html
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Jerome M BERGER
Subject: Re: Isosurface+pigment...surface imperfections
Date: 16 Aug 1999 14:40:46
Message: <37B85B2E.FDB99B97@enst.fr>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"SamuelT." wrote:
>
> I have heard of something called a density map. What is it and how can I make one?
> Perhaps that is what I need.
>
> Thanks.
>
> Samuel Benge
>
You can't make one by hand (unless you want to spend a lot of time with
an hex editor :), you have to write a program that will make it for you,
then simply put density_map "foo.df3" (or something like that). For an
example, you can look at my irtc entry (jbpompei) for the History
round...
Jerome
--
*******************************
* they'll tell you what can't * mailto:ber### [at] iname com
* be done and why... * http://www.enst.fr/~jberger
* Then do it. *
*******************************
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) |
SamuelT. heeft geschreven in bericht <37B77BB2.C91212D0@aol.com>...
>I have heard of something called a density map. What is it and how can I make
one?
>Perhaps that is what I need.
Samuel,
Don't know what exactly you're looking for, but I did one experiment with
density_map and isosurface. The picture of it is in p.b.i "non-linear
transformation..." 1999-07-26. The scenefiles for creating the density_map and
isosurface are in p.t.scene-files "Isosurface with density_map" 1999-07-26.
Maybe it helps.
ingo
--
Met dank aan de muze met het glazen oog.
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 remember seeing that image now. So the density_map is really a number of images
layered upon one another?
ingo wrote:
> SamuelT. heeft geschreven in bericht <37B77BB2.C91212D0@aol.com>...
> >I have heard of something called a density map. What is it and how can I make
> one?
> >Perhaps that is what I need.
>
> Samuel,
>
> Don't know what exactly you're looking for, but I did one experiment with
> density_map and isosurface. The picture of it is in p.b.i "non-linear
> transformation..." 1999-07-26. The scenefiles for creating the density_map and
> isosurface are in p.t.scene-files "Isosurface with density_map" 1999-07-26.
> Maybe it helps.
>
> ingo
> --
> Met dank aan de muze met het glazen oog.
--
Samuel Benge
STB### [at] aol com
"While you were sleeping
he went on keeping the final line in his mind."
-Tortoise and the Hare, The Moody Blues
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Jerome M BERGER
Subject: Re: Isosurface+pigment...surface imperfections
Date: 16 Aug 1999 22:20:32
Message: <37B8C6F1.8FE3D910@enst.fr>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"SamuelT." wrote:
>
> I remember seeing that image now. So the density_map is really a number of images
> layered upon one another?
>
Let's put it this way: when you make an image you actually make a 2D
array of points and you specify a color for each point, when you make a
density_map you create a *3D* array of points and you specify a color
for each point. This allows you to determine very precisely the 3D
appearance of a pattern: let's say you wanted a conic pattern that goes
from 0 on the y axis to 1 when the distance from the y axis is greater
than y, this is impossible in standard pov. You can try making an
approximation with a gradient y and cylindrical patterns of growing
size, but a moe accurate (and probably faster) way to do it is to create
a density map which will represent what value your pattern should take
at each point in space (ok, like a pic you only define it on a ragular
array of points) and use it directly.
You could see it as a pile of image_maps each one being only a fraction
of an unit high, was that what you meant?
Jerome
--
*******************************
* they'll tell you what can't * mailto:ber### [at] iname com
* be done and why... * http://www.enst.fr/~jberger
* Then do it. *
*******************************
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |