|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I recently made a top for my lighthouse out of some CGS stuff, a few torus'
cutting out a couple of cones merged with a sphere and a cone. I originally
thought about makeing this in sPatch, but it would have generated a bunch of
patches and I didn't think I needed to be wasting memory and time on such a
thing.
I found I could just as easily take a few basic solid shapes and do some math
on them and make a little CGS object the same way, then I applied a "radial"
normal to the surface to make it look a little fancier.
The problem came after my first render of the object. I merged all my objects
together and applied the single normal to the whole object. The problem is the
cones that I carved out the torus' with had flipped the normal, what POV
thought I had was the inside of an object (because of cutting it out with a
torus).
My question that I'm pondering is, is there a way to make sure the whole
object's outsides really are outside, so to speak. My final solution was to
make two #declare statements defining normals, one with a positive number on
the radial and the other with a negative. I applied the one with the neg.
number to the two objects that had been carved out by the torus and the normal
with the positive value to the rest of the object. My render was fixed, it
came out correctly, but this is a goofy way to do it.
I tried all kinds of things to fix this before comming up with this solution,
doing an intersection with and inverse on the torus.... inverting the final
difference (which put the camera inside an object)... finally I resorted to
two normals....
PHIL
---------------------------------------------------
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Normals can point into the object when "difference" is used. Instead of
difference, use intersection, and use "inverse" with the cutting object (torus
in this case).
Margus
Philip Bartol wrote:
>
> I recently made a top for my lighthouse out of some CGS stuff, a few torus'
> cutting out a couple of cones merged with a sphere and a cone. I originally
> thought about makeing this in sPatch, but it would have generated a bunch of
> patches and I didn't think I needed to be wasting memory and time on such a
> thing.
>
> I found I could just as easily take a few basic solid shapes and do some math
> on them and make a little CGS object the same way, then I applied a "radial"
> normal to the surface to make it look a little fancier.
>
> The problem came after my first render of the object. I merged all my objects
> together and applied the single normal to the whole object. The problem is the
> cones that I carved out the torus' with had flipped the normal, what POV
> thought I had was the inside of an object (because of cutting it out with a
> torus).
>
> My question that I'm pondering is, is there a way to make sure the whole
> object's outsides really are outside, so to speak. My final solution was to
> make two #declare statements defining normals, one with a positive number on
> the radial and the other with a negative. I applied the one with the neg.
> number to the two objects that had been carved out by the torus and the normal
> with the positive value to the rest of the object. My render was fixed, it
> came out correctly, but this is a goofy way to do it.
>
> I tried all kinds of things to fix this before comming up with this solution,
> doing an intersection with and inverse on the torus.... inverting the final
> difference (which put the camera inside an object)... finally I resorted to
> two normals....
>
> PHIL
>
> ---------------------------------------------------
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <37BED0A5.9D1D3EF7@peak.edu.ee>, Margus Ramst <mar### [at] peakeduee> wrote:
>Normals can point into the object when "difference" is used. Instead of
>difference, use intersection, and use "inverse" with the cutting object (torus
>in this case).
I thought I had tried that and it didn't seem to work, I'll check again....
PHIL
---------------------------------------------------
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Sat, 21 Aug 1999 19:15:33 +0300, Margus Ramst wrote:
>Normals can point into the object when "difference" is used. Instead of
>difference, use intersection, and use "inverse" with the cutting object (torus
>in this case).
But there is no difference between those two methods within POV: it
internally converts a difference to an intersection at parse time.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Stupid mistake. So I'm not that hardcore ;)
I should've realised this by the fact that "inverse" does not flip the surface
normals! It really should, IMO.
Would this be easy to fix? And if so, would someone be willing to do it? I'd say
it is quite important.
Margus
Ron Parker wrote:
>
> But there is no difference between those two methods within POV: it
> internally converts a difference to an intersection at parse time.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Margus Ramst <mar### [at] peakeduee> wrote:
: I should've realised this by the fact that "inverse" does not flip the surface
: normals! It really should, IMO.
: Would this be easy to fix? And if so, would someone be willing to do it? I'd say
: it is quite important.
I think this is true. The outer surface of an object is the outer surface
of the object, no matter if it's a csg object or what. The normal should
always point away from the outer surface.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|