User:Le Forgeron/HowTo/Perfect glass

From POV-Wiki
Jump to navigation Jump to search

Perfect glass

Welcome, if you are tired of coincident surface in your non opaque fluid containers, it might be the right place.

An easy test, as multiple-choice questions, to check the lesson of today:

  • How do you make an empty plate ?
    1. You select a material, a shape and combine both.
  • How do you make an empty glass ?
    1. You select a material, a shape and combine both.
  • How do you put a cake on a plate ?
    1. Take the plate and and move the cake to the plate.
  • How do you fill a glass with a liquid ?
    1. Take the empty glass and pour the liquid, well put the liquid in a suitable shape and move it to the glass.
    2. Mu. This is a non-sense.

The right answer is 2: to achieve a glass with some liquid, you should not start with an empty glass.

If you start with a filled glass, you might end with an empty glass. But the reversal is bogus: you would get coincident surface and its noise.


LeForgeronTutoGlass.png

From right to left:

  • an empty glass
  • an half-filled flass
  • a full glass
  • something that need to be explained

Start

LeForgeronTutoGlass1.png You should start with the shape of the glass, but only its outer shape. For the time being, consider a massively filled piece of glass.

Here we just take a basic cylinder, but so far any shape can do.

The straw is just a bonus to check the actual effect of the variation of the index of refraction (ior) between normal space (1.0) and the transparent material of the glass (find many in glass.inc).

cylinder { ...
    hollow
    material { glas }
}

Time for CSG

To make an empty glass, we now remove from the block of glass the internal volume to be filled by the air.

difference
{
	cylinder { ...
			hollow
	material { glas } 
	}
	cylinder { ...
			hollow
	material { air } 
        }
cutaway_textures
}

We hear you: "Yes, great. Nothing new under the sun so far!"