POV-Ray : Newsgroups : povray.binaries.images : Re: Cloud Surface Server Time
29 Apr 2024 05:40:17 EDT (-0400)
  Re: Cloud Surface (Message 100 to 109 of 109)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: Stephen
Subject: Re: Cloud Surface
Date: 28 Nov 2017 17:04:08
Message: <5a1ddd58@news.povray.org>
On 28/11/2017 19:37, Sven Littkowski wrote:
> On 28.11.2017 13:47, Stephen wrote:
>> Why don't you try yourself. You will never get the expertise if you get
>> others to build your scenes.
>> Help is a good thing but ask for it when you fail to get the results you
>> want.
> 
> I actually do, trust me. :-)

The phrase brings back memories, man. ;)

I do if you say so.

> I am sitting hours and days on this scene. I did not want to give the
> impression I am not involving myself heavily into this. Oh gosh - really
> not at all.

Maybe one of the failed experiments would help us to see what your 
problem is.
You may have to use extreme emission settings. On a df3 scene I was 
working on at the beginning of the month. I could not understand why the 
df3s were not showing up properly until I set emission > 1000. I wasted 
a couple of weeks creating and recreating df3s until I realised the 
solution.

> 
> I am good with regular shapes and differences, doing those things for
> decades. I just never ventured out into media and such. See the attached
> image, I did this, without even any WYSIWYG editor. But as strange as it
> sounds, trying to understand media is for me the same difficult as to
> try to learn using WYSIWYG editors which are sooo easy to use for
> others. Much easier for me to keep all coordinates in my mind and get a
> visual understanding of the objects (that's how I built that spaceship).
> 

Very nice!
I can't do what you can do. Which is why I use a modeller to see the 
scene in OpenGl.

> The human mind is truly ununderstandable and not logical. :-)
> 

For varying values of understandable, yes.


-- 

Regards
     Stephen


Post a reply to this message

From: Sven Littkowski
Subject: Re: Cloud Surface
Date: 28 Nov 2017 17:05:28
Message: <5a1ddda8$1@news.povray.org>
On 28.11.2017 16:54, clipka wrote:
> To solve this, download the v3.8.0 help file from GitHub and save it in
> your POV-Ray v3.7.0 installation directory tree alongside
> `povray37.chm`; you can find the file in question here:
> https://github.com/POV-Ray/povray/blob/release/v3.8.0/distribution/platfo
rm-specific/windows/Help/povray.chm

Thanks, I did, now it works! :-D

---

http://www.avg.com


Post a reply to this message

From: Alain
Subject: Re: Cloud Surface
Date: 28 Nov 2017 17:21:35
Message: <5a1de16f$1@news.povray.org>

> I have started to work on your scene, to adapt it even more.
> 
> Yes, you are right - changing the atmospheric colors does not lead to
> straight, expected results, but to unexpectable new colors. I believe
> (but I have no clue about media and density), that the reason for this
> color problem lays with the fact, that you specify the colors within the
> density map. I wonder, if there is a way to use neutral shades for the
> density map, and move the color map into the pigment statement right
> below the coordinates of the cloud layer.

Yes.
Some of the medias in your sample code have neutral colour_map.
If the media have a global colour, and a non-neutral colour_map, then 
the rgb values are multiplied together : media rgb<1, 0.5, 0.2> and 
colour_map entry rgb<0.3, 1, 0.1> give rgb<0.3, 0.5, 0.02>

It should be noted that with scattering and absorbing media, you get 
shadows. That imply some amount of self shadowing. If the media is not 
of a neutral tint, that mean that the remaining get illuminated by a 
tinted light of the complimentary colour.
A blue scattering or absorbing media's shadow will be yellow.
It can get really complicated when you have multiple scattering and 
absorbing medias as each one will cause some shadowing on all the others.
You don't want the container to have any colour as it will make it visible.


> I wonder, if I can use these two suns as light sources instead of a
> traditional light_source, when filling them with media?

Yes. Use looks_like as follow :
// Big red Sun
light_source{
  < 80.0, -0.0, 35.0 >*33.0 rgb<3,0,0.1>
  area_light 12*33*x 12*33*y 33 33 circular orient adaptive 0
  looks_like{
   sphere
   {
    < 0.0, 0.0, 0.0 > 1.0
    pigment
    {
     gradient y
     color_map
     {
      [ 0.00 rgb < 0.0, 0.0, 0.0 > ]
      [ 0.50 rgb < 0.0, 0.0, 0.0 > ]
      [ 1.00 rgb < 3.0, 0.0, 0.1 >*5.0 ]
     }
     translate < 0.0, -0.5, 0.0 >
     scale 2.0
    }
    finish { emission 1.0 }
    //scale 12.0
    //scale 33.0
// translate < 80.0, -0.0, 35.0 >*33.0
   }
}
// Small blue Sun
light_source{
  < 80.0, 12.0, 46.0 >*33.0 rgb< 0.1, 0.3, 20.0>/10
  area_light 33*x 33*y 33 33 circular orient adaptive 0
  looks_like{
   sphere
   {
    < 0.0, 0.0, 0.0 > 1.0
    pigment { color rgb < 0.1, 0.3, 20.0 >*10.0 }
    finish { emission 2.0 }
    //scale 33.0
    //translate < 80.0, 12.0, 46.0 >*33.0
   }
}

Remove the other light.
You now have two coloured shadows with fuzzy edged.
Adjust the brightness ot the lights as needed. The may be way to bright 
as they are now.

> 
> ------------------
> 
> 
> 
> ---

> http://www.avg.com
> 
Those anti-virus tags mean nothing as some virus imitate them.

When you have multiple medias:
Work on one untill it's correct.
Comment it out.
Work on the next one.
Repeat untill you have set all medias.
Activate two medias.
Tweak them a little if needed.
Add the others one by one making some small adjustments as needed.


Post a reply to this message

From: Alain
Subject: Re: Cloud Surface
Date: 28 Nov 2017 17:37:28
Message: <5a1de528$1@news.povray.org>

> Stephen <mca### [at] aolcom> wrote:
>> On 28/11/2017 18:11, Sven Littkowski wrote:
>>> I want to change the two suns into light-emitting media, can you assist?
>>> I simply lack expertise, never worked with media. Those will later
>>> replace the traditional light_source.
>>
>> Why don't you try yourself. You will never get the expertise if you get
>> others to build your scenes.
>> Help is a good thing but ask for it when you fail to get the results you
>> want.
> 
> I'm thinking media won't be able to do what's wanted anyway. Sure, emitting
> media will illuminate surrounding objects, but cast shadows like a light on
> distant things? No, don't believe it can.
> 

Emissive media CAN cast shadows.
For that to happen, you need to use radiosity with "media on" in the 
radiosity block.
That way, the media can act like a fuzzy area_light whose brightness can 
vary across it's visible surface.

radiosity{count 20000 media on}
default{radiosity{importance 75/20000}}
sphere{100*x 2 hollow pigment{rgbt 1}
  interior{media{emission rgb<100, 50, 20>*25 samples 20}
  radiosity{importance 1}}

Will use an average of 75 radiosity samples for most of the scene's 
objects, but a very high count density for that relatively small and 
bright object.


Post a reply to this message

From: omniverse
Subject: Re: Cloud Surface
Date: 28 Nov 2017 21:35:00
Message: <web.5a1e1bf29a2a53c19c5d6c810@news.povray.org>
Alain <kua### [at] videotronca> wrote:

> > I'm thinking media won't be able to do what's wanted anyway. Sure, emitting
> > media will illuminate surrounding objects, but cast shadows like a light on
> > distant things? No, don't believe it can.
>
> Emissive media CAN cast shadows.
> For that to happen, you need to use radiosity with "media on" in the
> radiosity block.
> That way, the media can act like a fuzzy area_light whose brightness can
> vary across it's visible surface.
>
> radiosity{count 20000 media on}
> default{radiosity{importance 75/20000}}
> sphere{100*x 2 hollow pigment{rgbt 1}
>   interior{media{emission rgb<100, 50, 20>*25 samples 20}
>   radiosity{importance 1}}
>
> Will use an average of 75 radiosity samples for most of the scene's
> objects, but a very high count density for that relatively small and
> bright object.

Well, seeing is believing... and unfortunately I wasn't able to do that. Test
scene below, comparing actual light with emitting media. I don't want to doubt
your idea but here's what I tried.

Curiously, after getting nowhere at first, I found radiosity 'brightness' needed
to be increased. Rather drastically, from what I've done with it before.

Still very different thing for these two illumination methods, like I expected,
no well-defined shadows. Probably because of how radiosity acts on both light
and shadow regions... or do I recall someone saying unlit portions are
ignored...?

Anyway... for your perusal, a test scene:

//--------------------------------------------------------------------------
#version 3.7;
//--------------------------------------------------------------------------
#default{ finish{ ambient 0 diffuse 1 }}
//------------------------------------------

#local NoLight=yes;  // yes = emitting media sphere, else light


global_settings{
 assumed_gamma 1
  ambient_light 0
    radiosity{
    pretrace_start 0.04
    pretrace_end 0.01

    count 20000 //1601

    recursion_limit 3

    nearest_count 10 //12

    always_sample off
    max_sample 0.9

    error_bound 1.33 //1.2 //0.4
    low_error_factor 0.4 //0.8

    maximum_reuse 0.16*2 //0.2
    minimum_reuse 0.028*2 //0.015

    adc_bailout 1/127 //0.01

    gray_threshold 0.0 //0
    brightness #if (NoLight) 20 #else 1 #end

    normal on
    media on
  }
 }// end global_settings
// ----------------------------------------

#default{radiosity{importance 75/20000}}

//sky_sphere{ pigment { color rgb <1,1,1>} }

camera{ location <0, 22, -33>
        right x*image_width/image_height
        rotate 12*y
        look_at <-1.25,2.8,0>
        angle 50
      }

plane{ <0,1,0>,0 // floor
  texture{
    pigment { color rgb 1 }
    finish {
      ambient 0.0
      diffuse 1
      specular 0.4
      roughness 0.01
    }
  }
//  radiosity {importance 1}
}
// -----------------------------------------

union {
#for (Cnt,1,3)
  difference {
     box { <-1,-1,-1>,<1,1,1> }
     sphere {0,1.40 inverse  texture{ pigment{ color rgb <1,1,1>*0.5}}  }
     sphere {0,1.25}
     texture{ pigment{ color rgb <1,1,1>}
              finish{ phong 1 diffuse 1-Cnt/10 }
            }
     translate <0,0,0>
     scale 1+Cnt*0.65
     translate <0,1+Cnt*0.30,0>
     rotate Cnt*<0,-22,0>
   }//----------
#end
scale <1,1,1>
translate <0,1,0>
hollow on
//radiosity {importance 1}
}
// -----------------------------------------

#if (NoLight)

sphere {
 0, 1
 hollow on
 pigment {color rgbt 1}
 interior {
  media {
   emission <100, 50, 20>*25
   //scattering {1, 1}
   samples 20
   density {
    spherical
    density_map {
     [0 rgb 0]
     [1 rgb 1]
    }
   }
  }
 }
 scale 2
 translate <-5,5,-5>*2 // near comment out *2, or far
 radiosity {importance 1}
}

#else

light_source {
 <-5,5,-5>*2,
 color <100, 50, 20>/100
 looks_like {sphere {0,2
  pigment {color rgb <100, 50, 20>/20}
 finish {emission 1}}}
 area_light x*2,y*2,10,10 jitter circular orient adaptive 2
}

#end


Post a reply to this message

From: Sven Littkowski
Subject: Re: Cloud Surface
Date: 28 Nov 2017 22:02:49
Message: <5a1e2359@news.povray.org>
On 28.11.2017 17:22, Alain wrote:

>> I have started to work on your scene, to adapt it even more.
>>
>> Yes, you are right - changing the atmospheric colors does not lead to
>> straight, expected results, but to unexpectable new colors. I believe
>> (but I have no clue about media and density), that the reason for this
>> color problem lays with the fact, that you specify the colors within the
>> density map. I wonder, if there is a way to use neutral shades for the
>> density map, and move the color map into the pigment statement right
>> below the coordinates of the cloud layer.
> 
> Yes.
> Some of the medias in your sample code have neutral colour_map.
> If the media have a global colour, and a non-neutral colour_map, then
> the rgb values are multiplied together : media rgb<1, 0.5, 0.2> and
> colour_map entry rgb<0.3, 1, 0.1> give rgb<0.3, 0.5, 0.02>
> 
> It should be noted that with scattering and absorbing media, you get
> shadows. That imply some amount of self shadowing. If the media is not
> of a neutral tint, that mean that the remaining get illuminated by a
> tinted light of the complimentary colour.
> A blue scattering or absorbing media's shadow will be yellow.
> It can get really complicated when you have multiple scattering and
> absorbing medias as each one will cause some shadowing on all the others.
> You don't want the container to have any colour as it will make it visible.
> 
> 
>> I wonder, if I can use these two suns as light sources instead of a
>> traditional light_source, when filling them with media?
> 
> Yes. Use looks_like as follow :
> // Big red Sun
> light_source{





















> // translate < 80.0, -0.0, 35.0 >*33.0

> }
> // Small blue Sun
> light_source{











> }
> 
> Remove the other light.
> You now have two coloured shadows with fuzzy edged.
> Adjust the brightness ot the lights as needed. The may be way to bright
> as they are now.
> 
>>
>> ------------------
>>
>>
>>
>> ---

>> http://www.avg.com
>>
> Those anti-virus tags mean nothing as some virus imitate them.
> 
> When you have multiple medias:
> Work on one untill it's correct.
> Comment it out.
> Work on the next one.
> Repeat untill you have set all medias.
> Activate two medias.
> Tweak them a little if needed.
> Add the others one by one making some small adjustments as needed.

I actually tried this morning on my own some versions, but with these
look-alike suns I did not get a satisfying result (though I got nice
colors): the suns were almost not visible anymore.

I therefore decided to continue to use the traditional light_source. I
however try to make the suns getting a glow (seems to be the same like
"looks-alike"), but still failing with that.

I want, that the small sun is light blue or white inside but emitts a
purple-blue glow around it. The large sun is dim red and supposed to
have a red glow around it, too. I just fail currently.

Glow Example:
http://www.joshuarenglish.com/cyclopedia/lookslike.html


Here is my current scene code, please see also the 2nd attached image.
---------------------

#version 3.8;

#declare MyRadiosity = off;

global_settings
{
 assumed_gamma 1.4
 #if(MyRadiosity=on)
  radiosity { media on }
 #end
}

#default
{
 finish { ambient 0.0 diffuse 1.0 }
}

//------------------------------------------------------------------------
#include "colors.inc"
#include "textures.inc"
#include "glass.inc"
#include "metals.inc"
#include "golds.inc"
//------------------------------------------------------------------------

camera
{
 /*ultra_wide_angle*/ //angle 20
 location  < -35.0 , 11.0 , 0.0 >
 //right     x*image_width/image_height // not needed for v3.8
 look_at   < 0.0 , 5.0 , 0.0 >
}

// sky -------------------------------------------------------------------
background { color rgb 0.0 }

disc
{
 0.0, y, 1.0, 0.0
 hollow on
 no_shadow
 pigment { rgb < 0.5, 0.75, 1.0 > }
 scale 100.0
 translate y*100.0
}

// ground -----------------------------------------------------------------

box
{
 < -1.0, -1.0, -1.0 > < 1.0, 1.0, 1.0 >
 pigment { color rgb 1.0 }
 scale < 555.0, 497.0, 555.0 >
 translate -y*494.0
}

//--------------------------------------------------------------------------
// Clouds
#local Scale = 5.0;

#declare Clouds = density
{
 ripples   // controls the cloud formation
 color_map
 {
  [ 0.33 rgb  10.0 ]
  [ 0.67 rgb 100.0 ]
 }
 scale < 3.0, 1.0, 10.0 >*0.5
 warp { turbulence < 2.5, 1.0, 1.6 > }
 rotate 45.0*y
}

//cloud layer:
box
{
 < -1.0, -1.0, -1.0 > < 1.0, 1.0, 1.0 >
 pigment { rgbt 1.0 }
 hollow
 interior
 {
  media
  {
   samples 20
   absorption < 3.0, 4.0, 0.5 >*1.0/(Scale*100.0)
   emission   < 1.0, 1.0, 1.0 >*0.5/(Scale*100.0)
   scattering
   {
    1
    < 0.5, 0.75, 1.5 >*3.0/(Scale*100.0)
    extinction 0.5
   }
   density
   {
    boxed
    density_map
    {
     [ 0.000 rgb 0.0 ]
     [ 0.001 Clouds scale 1.0/100.0 ]
    }
   }
  }
 }
 scale Scale*100.0
 translate -y*494.0
}

//-------------------------------------------------------------
//atmosphere:
sphere
{
 < 0.0, 0.0, 0.0 >, 1.0
 pigment { rgbt 1.0 }
 hollow
 interior
 {
  media
  {
   samples 20
   absorption 0.5
   scattering
   {
    5
    < 1.25, 1.0, 1.5 >*2.0/Scale
    extinction 0.67
    eccentricity 0.2
   }
   density
   {
    gradient y
    color_map
    {
/*
     [ 0.00 rgb 1.0 ]  //base ground fog
     [ 0.10 rgb < 9.0, 0.3, 0.10 > ]  //top ground fog
     [ 0.30 rgb < 0.9, 0.3, 0.10 > ]  //top ground fog
     [ 0.50 rgb < 0.5, 0.1, 0.09 >*0.100 ] //base atmospheric haze
     [ 0.67 rgb < 0.1, 0.2, 0.90 >*0.100 ] //top atmospheric haze
     [ 1.00 rgb < 0.1, 0.3, 0.90 >*0.001 ] //top atmospheric haze
*/
     [ 0.00 rgb < 1.0, 1.0, 1.00 >*1.000 ] //base ground fog
     [ 0.10 rgb < 3.0, 0.3, 0.10 >*1.000 ] //top ground fog
     [ 0.30 rgb < 0.3, 0.3, 0.10 >*1.000 ] //top ground fog
     [ 0.50 rgb < 0.5, 0.1, 0.09 >*0.100 ] //base atmospheric haze
     [ 0.67 rgb < 0.3, 0.7, 1.00 >*0.100 ] //top atmospheric haze
     [ 1.00 rgb < 0.3, 0.7, 1.00 >*0.001 ] //top atmospheric haze
    }
    rotate -x*15.0
    warp { spherical }
    scale Scale*2.0*y
   }
  }
 }
 scale Scale*111.0
 translate -y*535.0
}


//-------------------------------------------------------------
// Planet:

union
{
 sphere
 {
  < 0.0, 0.0, 0.0 > 7.0
  pigment
  {
   gradient y
   color_map
   {
    [ 0.00 rgb < 1.0, 1.0, 1.0 >*0.05 ]
    [ 0.10 rgb < 1.0, 1.0, 1.0 >*0.05 ]
    [ 0.12 rgb < 1.0, 1.0, 1.0 >*0.05 ]
    [ 0.15 rgb < 0.80392, 0.66275, 0.47059 >*0.05 ]
    [ 0.20 rgb < 0.80392, 0.66275, 0.47059 >*0.05 ]
    [ 0.22 rgb < 0.63922, 0.55686, 0.31373 >*0.05 ]
    [ 0.27 rgb < 0.63922, 0.55686, 0.31373 >*0.05 ]
    [ 0.40 rgb < 0.47451, 0.30980, 0.14118 >*0.05 ]
    [ 0.43 rgb < 0.47451, 0.30980, 0.14118 >*0.05 ]
    [ 0.45 rgb < 0.20392, 0.24314, 0.41176 >*0.05 ]
    [ 0.55 rgb < 0.20392, 0.24314, 0.41176 >*0.05 ]
    [ 0.57 rgb < 0.47451, 0.30980, 0.14118 >*0.05 ]
    [ 0.60 rgb < 0.47451, 0.30980, 0.14118 >*0.05 ]
    [ 0.73 rgb < 0.63922, 0.55686, 0.31373 >*0.05 ]
    [ 0.78 rgb < 0.63922, 0.55686, 0.31373 >*0.05 ]
    [ 0.80 rgb < 0.80392, 0.66275, 0.47059 >*0.05 ]
    [ 0.85 rgb < 0.80392, 0.66275, 0.47059 >*0.05 ]
    [ 0.88 rgb < 1.0, 1.0, 1.0 >*0.05 ]
    [ 0.90 rgb < 1.0, 1.0, 1.0 >*0.05 ]
    [ 1.00 rgb < 1.0, 1.0, 1.0 >*0.05 ]
   }
   turbulence 0.3
   translate < 0.0, -7.0, 0.0 >
   scale 14.0
  }
 }
 difference
 {
  cylinder { < 0.0, -0.00001, 0.0 > < 0.0, 0.00001, 0.0 > 16.0 }
  cylinder { < 0.0, -0.00002, 0.0 > < 0.0, 0.00002, 0.0 > 10.0 }
  pigment
  {
   onion
   color_map
   {
    [ 0.00 rgbt < 0.47451, 0.30980, 0.14118, 0.7 > ]
    [ 0.60 rgbt < 0.47451, 0.30980, 0.14118, 0.7 > ]
    [ 0.62 rgbt < 0.47451, 0.30980, 0.14118, 0.7 > ]
    [ 0.63 rgbt < 0.80392, 0.66275, 0.47059, 0.7 > ]
    [ 0.66 rgbt < 0.80392, 0.66275, 0.47059, 0.7 > ]
    [ 0.67 rgbt < 0.63922, 0.55686, 0.31373, 0.7 > ]
    [ 0.71 rgbt < 0.63922, 0.55686, 0.31373, 0.7 > ]
    [ 0.73 rgbt < 0.47451, 0.30980, 0.14118, 0.7 > ]
    [ 0.76 rgbt < 0.47451, 0.30980, 0.14118, 0.7 > ]
    [ 0.80 rgbt < 0.63922, 0.55686, 0.31373, 0.7 > ]
    [ 0.81 rgbt < 0.63922, 0.55686, 0.31373, 0.7 > ]
    [ 0.82 rgbt < 0.47451, 0.30980, 0.14118, 0.7 > ]
    [ 0.83 rgbt < 0.47451, 0.30980, 0.14118, 0.7 > ]
    [ 0.86 rgbt < 0.63922, 0.55686, 0.31373, 0.7 > ]
    [ 0.88 rgbt < 0.63922, 0.55686, 0.31373, 0.7 > ]
    [ 0.89 rgbt < 0.80392, 0.66275, 0.47059, 0.7 > ]
    [ 0.91 rgbt < 0.80392, 0.66275, 0.47059, 0.7 > ]
    [ 0.97 rgbt < 0.63922, 0.55686, 0.31373, 0.7 > ]
    [ 0.99 rgbt < 0.63922, 0.55686, 0.31373, 0.7 > ]
    [ 1.00 rgbt < 0.63922, 0.55686, 0.31373, 0.7 > ]
   }
   scale 16.0
  }
  finish { crand 0.01 emission 0.1 }
 }
 scale 250.0
 rotate < -10.0, -20.0, 50.0 >
 translate < 160.0, 50.0, -100.0 >*33.0
}

// Big Sun
#declare SunLarge = union
{
/*sphere
{
 < 0.0, 0.0, 0.0 > 1.0
 pigment
 {
  gradient y
  color_map
  {
   [ 0.00 rgb < 0.0, 0.0, 0.0 > ]
   [ 0.50 rgb < 1.5, 0.0, 0.1 > ]
   [ 1.00 rgb < 3.0, 0.0, 0.1 >*5.0 ]
  }
  translate < 0.0, -0.5, 0.0 >
  scale 2.0
 }
 finish { emission 1.0 }
 scale 12.0
 } */
 sphere
 {
  < 0.0, 0.0, 0.0 > 1.0
  hollow
  no_shadow
  pigment { rgbt 1 }
  interior
  {
   media
   {
    emission 1/12.0
    density
    {
     spherical
     density_map
     {
      [ 0.0 rgb < 0.0, 0.0, 0.0 >*1.0 ]
      [ 0.5 rgb < 3.0, 0.0, 0.1 >*0.5 ]
      [ 1.0 rgb < 1.0, 1.0, 1.0 >*1.0 ]
     }
    }
    samples 1,1
    intervals 1
    confidence .1 // quite fast settings
    method 3
   }
  }
  scale 12.0
 }
 scale 66.0
 translate < 160.0, 0.0, 78.0 >*33.0
}

// Small Sun
#declare SunSmall = union
{ /*
 sphere
 {
  < 0.0, 0.0, 0.0 > 1.0
  pigment { color rgb < 0.23529,  0.11373,  0.46275 >*1.0 }
  finish { emission 0.0 }
 } */
 sphere
 {
  < 0.0, 0.0, 0.0 > 1.0
  hollow
  no_shadow
  pigment { rgbt 1 }
  interior
  {
   media
   {
    emission 1/1.0
    density
    {
     spherical
     density_map
     {
      [ 0.0 rgb 0.0 ]
      [ 0.5 rgb < 0.23529,  0.11373,  0.46275 >*0.5 ]
      [ 1.0 rgb < 0.23529,  0.11373,  0.46275 >*0.5 ]
     }
    }
    samples 1,1
    intervals 1
    confidence .1 // quite fast settings
    method 3
   }
  }
  scale 1.0
 }
 scale 66.0
 translate < 160.0, 25.0, 112.0 >*33.0
}

object { SunLarge }
//object { SunSmall }

light_source
{
 -z*9999.0//< 50, 100, -250 >*10e4
 color 1.0 * 1.4//< 1.0,  0.62353,  0.46667 >*2
 rotate < 20.0, 240.0, 0.0 > // altitude, azimuth, tilt
}

#declare light_object = sphere
{
 < 160.0, 25.0, 112.0 >*33.0 100.0
 pigment {  rgbf < 0,0,1,1 >*2 }
 finish { specular 5 metallic}
}

light_source
{
 < 160.0, 25.0, 112.0 >*33.0
 color rgb < 0,0,1> *2
 looks_like { light_object }
}

/*
light_source
{
 0,
 color 0.5 *< 2.0, 7.0, 9.0 > // comment color out?
// area_light <12*33,0,0>,<0,12*33,0>,4,4 circular orient adaptive 0
 looks_like { SunLarge }
 translate < 160.0, 30.0, 98.0 >*33.0
}

light_source
{
 0,
 color 0.5 *< 0.9, 0.6, 1.0 > // comment color out?
// area_light <33,0,0>,<0,33,0>,3,3 circular orient adaptive 0
 looks_like { SunSmall }
 translate < 160.0, 45.0, 132.0 >*33.0
}
*/


//-------------------------------------------------------------
//artefact:
#local S=seed(4132);
union
{
 #for (It,1.0,8.0,1.0)

  #local xR=rand(S);
  #local yR=rand(S);
  #local zR=rand(S);

  #local xR2=rand(S);
  #local yR2=rand(S);
  #local zR2=rand(S);

  box
  {
   0.0, 1.0
   scale < 1.0+xR, 8.0+yR*4, 1.0+zR >/2.0
   pigment
   {
    checker
    color rgb 0.1 color rgb 0.9 scale 0.5
   }
   translate (-< xR*20.0,0.0,zR*20.0 > + <xR2*40.0, 0.0, zR2*40.0 >)/2.0
  }
 #end
 rotate y*90.0
 translate < -20.0, 2.0, 5.0 >
}


Post a reply to this message


Attachments:
Download 'sl - cloud cities - omniverse - 2 look_alike suns.jpg' (138 KB) Download 'sl - cloud cities - omniverse - glow.jpg' (92 KB)

Preview of image 'sl - cloud cities - omniverse - 2 look_alike suns.jpg'
sl - cloud cities - omniverse - 2 look_alike suns.jpg

Preview of image 'sl - cloud cities - omniverse - glow.jpg'
sl - cloud cities - omniverse - glow.jpg


 

From: Sven Littkowski
Subject: Re: Cloud Surface
Date: 29 Nov 2017 03:52:31
Message: <5a1e754f$1@news.povray.org>
This thread has become so large that is becomes increasingly harder to
overview it.

Thus I created a PART 2 of this remarkable thread, its name is "Cloud
City II" and is here:

news://news.povray.org:119/5a1e741d@news.povray.org

---

http://www.avg.com


Post a reply to this message

From: Alain
Subject: Re: Cloud Surface
Date: 29 Nov 2017 19:07:46
Message: <5a1f4bd2$1@news.povray.org>

> Alain <kua### [at] videotronca> wrote:

>>> I'm thinking media won't be able to do what's wanted anyway. Sure, emitting
>>> media will illuminate surrounding objects, but cast shadows like a light on
>>> distant things? No, don't believe it can.
>>
>> Emissive media CAN cast shadows.
>> For that to happen, you need to use radiosity with "media on" in the
>> radiosity block.
>> That way, the media can act like a fuzzy area_light whose brightness can
>> vary across it's visible surface.
>>
>> radiosity{count 20000 media on}
>> default{radiosity{importance 75/20000}}
>> sphere{100*x 2 hollow pigment{rgbt 1}
>>    interior{media{emission rgb<100, 50, 20>*25 samples 20}
>>    radiosity{importance 1}}
>>
>> Will use an average of 75 radiosity samples for most of the scene's
>> objects, but a very high count density for that relatively small and
>> bright object.
> 
> Well, seeing is believing... and unfortunately I wasn't able to do that. Test
> scene below, comparing actual light with emitting media. I don't want to doubt
> your idea but here's what I tried.
> 
> Curiously, after getting nowhere at first, I found radiosity 'brightness' needed
> to be increased. Rather drastically, from what I've done with it before.
> 
> Still very different thing for these two illumination methods, like I expected,
> no well-defined shadows. Probably because of how radiosity acts on both light
> and shadow regions... or do I recall someone saying unlit portions are
> ignored...?
> 
> Anyway... for your perusal, a test scene:
> 
> //--------------------------------------------------------------------------
> #version 3.7;
> //--------------------------------------------------------------------------
> #default{ finish{ ambient 0 diffuse 1 }}
> //------------------------------------------
> 
> #local NoLight=yes;  // yes = emitting media sphere, else light
> 
> 
> global_settings{
>   assumed_gamma 1
>    ambient_light 0
>      radiosity{
>      pretrace_start 0.04
>      pretrace_end 0.01
> 
>      count 20000 //1601
> 
>      recursion_limit 3
> 
>      nearest_count 10 //12
> 
>      always_sample off
>      max_sample 0.9
> 
>      error_bound 1.33 //1.2 //0.4
/*You may need a smaller value here.
   Smaller values tend to allow sharper shadows.
*/
>      low_error_factor 0.4 //0.8
//Should be OK
// Default is 0.5
// Was 0.8 back in version 3.5
> 
>      maximum_reuse 0.16*2 //0.2
>      minimum_reuse 0.028*2 //0.015
> 
>      adc_bailout 1/127 //0.01
> 
>      gray_threshold 0.0 //0
>      brightness #if (NoLight) 20 #else 1 #end
/* Don't increase this.
If you increase brightness like that, it will play havoc elsewhere.
It's usually better to leave this parameter out.
*/
> 
>      normal on
>      media on
>    }
>   }// end global_settings
> // ----------------------------------------
> 
> #default{radiosity{importance 75/20000}}
> 
> //sky_sphere{ pigment { color rgb <1,1,1>} }
> 
> camera{ location <0, 22, -33>
>          right x*image_width/image_height
>          rotate 12*y
>          look_at <-1.25,2.8,0>
>          angle 50
>        }
> 
> plane{ <0,1,0>,0 // floor
>    texture{
>      pigment { color rgb 1 }
>      finish {
>        ambient 0.0
>        diffuse 1
>        specular 0.4
>        roughness 0.01
>      }
>    }
> }
> // -----------------------------------------
> 
> union {
> #for (Cnt,1,3)
>    difference {
>       box { <-1,-1,-1>,<1,1,1> }
>       sphere {0,1.40 inverse  texture{ pigment{ color rgb <1,1,1>*0.5}}  }
>       sphere {0,1.25}
>       texture{ pigment{ color rgb <1,1,1>}
>                finish{ phong 1 diffuse 1-Cnt/10 }
>              }
>       translate <0,0,0>
>       scale 1+Cnt*0.65
>       translate <0,1+Cnt*0.30,0>
>       rotate Cnt*<0,-22,0>
>     }//----------
> #end
> scale <1,1,1>
> translate <0,1,0>
> hollow on
> }
> // -----------------------------------------
> 
> #if (NoLight)
> 
> sphere {
>   0, 1
>   hollow on
>   pigment {color rgbt 1}
>   interior {
>    media {
>     emission <100, 50, 20>*25
//You probably need to crank this up, maybe a LOT!
// try emission <100, 50, 20>*250

>     //scattering {1, 1}
>     samples 20
>     density {
>      spherical
>      density_map {
>       [0 rgb 0]
>       [1 rgb 1]
>      }
>     }
>    }
>   }
>   scale 2
>   translate <-5,5,-5>*2 // near comment out *2, or far
>   radiosity {importance 1}
> }
> 
> #else
> 
> light_source {
>   <-5,5,-5>*2,
>   color <100, 50, 20>/100
>   looks_like {sphere {0,2
>    pigment {color rgb <100, 50, 20>/20}
>   finish {emission 1}}}
>   area_light x*2,y*2,10,10 jitter circular orient adaptive 2
Here, 10,10 becomes 17,17 due to the way that adaptive work.

> }
> 
> #end
> 
> 

The emissive illumination fade out according to the square of the 
distance. It can come from an emissive surface or media.
The net effect is proportional to the intensity of the emission, time, 
the emissive surface area, divided by the square of the distance to the 
illuminated surface.
For a normal light to behave like this, you need to add (in this case):
fade_power 2
fade_distance 2

and increase the light's intensity :
color <100, 50, 20>

When using adaptive, the number of sub lights can only take some values. 
The first are : 2 (2^0+1), 3 (2^1+1), 5 (2^2+1), 9 (2^3+1), 17 (2^4+1), 
33 (2^5+1), 65 (2^6+1), ...
In between values are bumped up to the next value in the list.
Formula : (2 ^MaxSubdivisionSteps)+1


Post a reply to this message

From: Kenneth
Subject: Re: Cloud Surface
Date: 1 Dec 2017 02:00:05
Message: <web.5a20fd389a2a53c189df8d30@news.povray.org>
"And" <49341109@ntnu.edu.tw> wrote:
> subsurface material cloud:

(I meant to post earlier)

That is a BEAUTIFUL block of 'crunchy icy snow.' And thanks for making the code
available; I've been playing with it, my first real experiments with SSLT and
its parameters.

Well done!


Post a reply to this message

From: And
Subject: Re: Cloud Surface
Date: 1 Dec 2017 04:05:00
Message: <web.5a211b339a2a53c17e12b7e70@news.povray.org>
"Kenneth" <kdw### [at] gmailcom> wrote:
> "And" <49341109@ntnu.edu.tw> wrote:
> > subsurface material cloud:
>
> (I meant to post earlier)
>
> That is a BEAUTIFUL block of 'crunchy icy snow.' And thanks for making the code
> available; I've been playing with it, my first real experiments with SSLT and
> its parameters.
>
> Well done!

Good luck


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

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