POV-Ray : Newsgroups : povray.general : transparent sphere with image_map on surface : Re: transparent sphere with image_map on surface Server Time
30 Jul 2024 10:20:39 EDT (-0400)
  Re: transparent sphere with image_map on surface  
From: Cousin Ricky
Date: 11 Mar 2009 18:15:00
Message: <web.49b8366169fc1a9c85de7b680@news.povray.org>
"Massimo" <ban### [at] gmailcom> wrote:
> Hello all POV experts
> I'm a new user and wold like to create a "glass" sphere with an image on the
> surface.
> Wandering here and there and reading the documentation, I succeeded in creating
> the below added code. It would be nice, apart from the reflection of the bitmap
> to the back of the inner surface giving unwanted reflections.
> You see I added two image_maps on the front and on the back, shifted 180 deg. to
> see in transparency the back of the bitmap on the other side.
> Reflection are a catastrophe!!!! What couuld I do? any suggestion?

Three things I noticed immediately, which aren't part of the problem, but which
you may want to take care of down the line:

- I was not aware that refraction and ior were allowed in a finish
  block.  These are probably holdovers for backwards compatibility,
  and should be moved or eliminated.

- ior belongs in an interior block, but even so, ior 1 has no effect.
  Specifically, 1 is the IOR of a vacuum, and is POV-Ray's default.

- I don't know what refraction 1.0 does in this context.  In a photon
  { target } block, it activates refraction caustics, but since you
  have no global_settings { photons{} } block, it would have no effect.

Also recommend global_settings { assumed_gamma 1 }, which will brighten up your
scene considerably.

________________________


Very little of what you are seeing is reflection.  An image map extends forever
along the  z-axis in both directions, so even with reflection 0.0 and no 2nd
image map, you'd see the image map on both the near and far surfaces of the
sphere.  With the 2nd image map, you get the quad effect that you're seeing.

Two solutions you may want to consider are:

- Use an object pigment to clip the image map to one side of the x-y
  plane.

     #declare Base_pigment = pigment
     {  object
        {  plane { z, 0 }
           pigment { rgbt 1 }
           pigment
           {  image_map
              {  gif "POV-Ray_215.gif"
                 map_type 0 once filter all 1
              }
           }
        }
     }

  Then use Base_pigment in place of your current image_map block.

- Use u-v mapping.  If you choose this method, you should not rotate
  the image map, but scale and translate in the x directions.


Post a reply to this message

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