POV-Ray : Newsgroups : povray.advanced-users : milky glass problem : Re: milky glass problem Server Time
29 Jul 2024 22:20:36 EDT (-0400)
  Re: milky glass problem  
From: Ron Parker
Date: 26 Feb 2002 08:47:03
Message: <slrna7n4ep.2jo.ron.parker@fwi.com>

> I see. So the interior statement is misleading incase of triangles since it
> is no interior. It is like a switch to turn on interior calculation if it
> hits the triangle until it hit an other object, rather than an interior of
> the triangle (which one would think if entering the POV statement).

The triangle has no thickness.  It has no interior.  To have done it "right"
we would have disabled interior for triangles, but the way it is gives more
flexibility in cases like yours.

> Just one further question:
> If I store millions of triangles in a mesh it is not a big problem since
> meshes store triangles efficiently and build a hierarchical octree of the
> structure. This speeds up tracing.
> Will I lose this if I switch to a union of triangles? (since interior
> doesn't work on triangles in meshes). Will tracing speed decrease and memory
> usage increase??

Yes, you will lose this.  You can compensate, a little, by breaking the big
union up into smaller unions and bounding them separately.

In addition, if you specify different interiors for different triangles, you 
will have other problems.  One of the other problems you will have is that 
this:

  union {
   triangle {x,y,x+y interior {...whatever...}}
   triangle {x+z,y+z,1 interior {...whatever...}}
  }

won't get rendered the way you expect it to, because the two interiors 
there are utterly independent of each other.  This:

  union {
   triangle {x,y,x+y}
   triangle {x+z,y+z,1}
   interior {...whatever...}
  }

will be closer to what you want.

In addition, it's still possible for a ray to sneak between the two triangles
and give you funny borders around your triangle.  That might be the cause of 
the black lines you mentioned before.

-- 
#local R=<7084844682857967,0787982,826975826580>;#macro L(P)concat(#while(P)chr(
mod(P,100)),#local P=P/100;#end"")#end background{rgb 1}text{ttf L(R.x)L(R.y)0,0
translate<-.8,0,-1>}text{ttf L(R.x)L(R.z)0,0translate<-1.6,-.75,-1>}sphere{z/9e3
4/26/2001finish{reflection 1}}//ron.parker@povray.org My opinions, nobody else's


Post a reply to this message

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