POV-Ray : Newsgroups : povray.binaries.images : Shadow on Earth? : Re: Shadow on Earth? Server Time
6 May 2024 12:37:49 EDT (-0400)
  Re: Shadow on Earth?  
From: clipka
Date: 20 Jul 2016 11:56:31
Message: <578f9f2f$1@news.povray.org>
Am 20.07.2016 um 16:50 schrieb Kuangy:
> I'm now working hard on my assignment for my CG class at college, in which I'm
> trying to make a realistic earth animation.
> I used "difference" to create something like atmosphere right outside earth, and
> in which I also used emission for making the atmosphere glow. And this is where
> I'm facing a problem.
> 
> When I set a light_source from a distance, there is no shadow cast on earth.

Since there is no object to cast any shadows in the scene, I presume
you're referring to the darkening of the night side.

> Here I paste the source code:
> 
> light_source {
>  <100, 0, 50>
>  color White
>  spotlight
>  fade_distance 100
>  fade_power 10
>  point_at <0, 0, 0>
> }

- Why a spotlight? Also, if you must use a spotlight, you probably want
to override the default settings for the `radius` and `falloff` parameters.

- `fade_power 10` is hopelessly unrealistic; use 2 instead.

- `fade_distance 100` is unrealistic; use the hypothetical radius of the
sun for this parameter instead, and increase the light source's nominal
brightness to counteract the resulting reduction in effective brightness
(using e.g. `color White * 100`).

> // earth
> sphere {
>     <0, 0, 0>, 3.5
>     texture {
>         pigment {
>             image_map {
>                 jpeg "textures/earth.jpg"
>                 map_type 1
>             }
>             scale 3.5

- No need to scale map_type 1 pigments -- in POV-Ray, image maps work
kind of like a projector, extending the pattern into 3D space to
infinity. With map_type 1 being a projection from the coordinate origin,
it is therefore invariant to scaling.

>         finish {
>             ambient 1
>             diffuse 3
>         }

- Presuming you're using POV-Ray 3.7, don't use `ambient`; use
`emission` instead.

- Actually, don't use `emission` -- you don't want the earth's surface
to glow, you want it to (diffusely) reflect sunlight.

- `diffuse 3` is hopelessly unrealistic. Presuming your image map uses
realistic brightness levels, anything above `diffuse 1` is physical
nonsense. Use `diffuse 1` if your texture only has a diffuse component;
otherwise (e.g. if you also add highlights and specular reflection for
any reason) use a value below 1.

> // atmosphere emission
...

>    interior {
>      media {
>        emission 0.5
>        //scattering { 5 color rgb 0.01 eccentricity 0.56 }

- Don't use `emission` -- you don't actually want the earth to glow, you
want it to scatter sunlight, so use `scattering`.

>        density {
>          spherical density_map {
>        [ 0.0  rgb 0.0 ]
>           [ 0.5294*0.25e-6  rgb <0.02, 0.05, 0.2>*0.07 ]
>           [ 0.5294*0.4e-6   rgb <0.02, 0.07, 0.3>*0.32 ]
>           [ 0.5294*0.5e-6   rgb <0.08, 0.18, 0.4>*0.5 ]
>           [ 0.5412*0.6e-6   rgb <0.08, 0.18, 0.4>*0.9 ]
>           [ 0.5471*0.65e-6  rgb <0.08, 0.18, 0.4>*1.5 ]
>           [ 0.5471*0.675e-6 rgb <0.08, 0.18, 0.4>*4.5 ]
>           [ 0.5471*0.71e-6  rgb <0.08, 0.18, 0.4>*12 ]
>          }
>      scale 100

- I suspect that scaling factor could be wrong. Hard to tell though with
the comparatively complicated values in the density map.

> How can I solve this problem? I'd appreciate it if someone could help.

Your problem is most likely that your earth glows by itself, while your
sun's effective brightness at the given distance is too low to make any
significant difference.


> I'm not a native English speaker, so I'm very sorry for my poor English...

Doesn't sound poor at all.


Post a reply to this message

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