|
|
I wanted to get a nice background for building sci-fi spaceships/airships
against, so I thought I'd play with media to see if I could get something pretty
& fairly fast to draw. This is the result.
There's emitting & absorbing media for the fog, and an absorbing media for the
clouds. It would be nice to do scattering too but that would turn the 1 minute
render time into a couple of hours!
For anyone who wants it, density function for the smoke is as follows:
pigment_pattern { granite scale <5,20,5> warp { turbulence .4 octaves 3 }
colour_map { [.5 rgb 0][.8 rgb 1] } }
rotate -y*8 translate z*7-y*2 // so it looks good viewed from -4*z
cubic_wave
warp { turbulence .3 lambda 2.5 }
--
Tek
http://evilsuperbrain.com
Post a reply to this message
Attachments:
Download 'background_clouds.jpg' (105 KB)
Preview of image 'background_clouds.jpg'
|
|
|
|
On 01/21/2011 02:39 PM, Tek wrote:
> I wanted to get a nice background for building sci-fi spaceships/airships
> against, so I thought I'd play with media to see if I could get something pretty
> & fairly fast to draw. This is the result.
>
> There's emitting & absorbing media for the fog, and an absorbing media for the
> clouds. It would be nice to do scattering too but that would turn the 1 minute
> render time into a couple of hours!
>
> For anyone who wants it, density function for the smoke is as follows:
>
> pigment_pattern { granite scale <5,20,5> warp { turbulence .4 octaves 3 }
> colour_map { [.5 rgb 0][.8 rgb 1] } }
> rotate -y*8 translate z*7-y*2 // so it looks good viewed from -4*z
> cubic_wave
> warp { turbulence .3 lambda 2.5 }
>
> --
> Tek
> http://evilsuperbrain.com
Hey i like that! Is the media containerized or scene media? If it's
scene media you might be able to trim a few cycles off your render time
if you can manage to come up with a suitable sized container ...
Post a reply to this message
|
|
|
|
On Fri, 21 Jan 2011 13:39:13 -0500, Tek <tek### [at] evilsuperbraincom> wrote:
> For anyone who wants it, density function for the smoke is as follows:
>
> pigment_pattern { granite scale <5,20,5> warp { turbulence .4 octaves 3 }
> colour_map { [.5 rgb 0][.8 rgb 1] } }
> rotate -y*8 translate z*7-y*2 // so it looks good viewed from -4*z
> cubic_wave
> warp { turbulence .3 lambda 2.5 }
Very cool density, Tek.
I have not been able to reproduce the exact effect as shown in your post,
and am very interested to do so.
Would you mind posting the scene source?
I did however manage one thing of interest:
density {
pigment_pattern {
bozo
scale <5,20,5> / ScaleAmount
warp {
turbulence 0.4
octaves 3
}
color_map {
#while(Jj <= 10)
#if (Jj = 0)
[Jj * 0.5 rgb <Jj,Jj,Jj> / (ColorFactor)]
#else
[Jj * 0.8 rgb <Jj,Jj,Jj> *0.25 / (ColorFactor)]
#end
#local Jj = Jj + 1;
#end
}
}
rotate -y*8
translate z*7-y*2 // so it looks good viewed from -4*z
cubic_wave
warp {
turbulence 0.3
lambda 2.5
}
}
I found your overlapping spheres interesting, as seen in your space
station image from your site.
I did the same sort of (but much more hastily and with a higher kludge
factor) loop modification to the basic principal and the results were very
nice. It, however, does not play well with interior.
Here is that segment just in case you are interested:
#declare tNum = 0.5;
#declare snum = 0;
#declare oGround =
#local nSlices = 61;
#local aCol = array[nSlices];
#local i = snum;
#while (i < tNum)
#declare aCol[i*10] = rgb <.0,.0,.4>*i*2; //deep sea
#declare aCol[i*10+5] = rgb <.01,.02,.5>*i*2; //
#declare aCol[i*10+10] = rgb <.02,.05,.5>*i*2; //
#declare aCol[i*10+15] = rgb <.05,.1,.6>*i*2; //
#declare aCol[i*10+20] = rgb <.1,.2,.7>*i*2; //
#declare aCol[i*10+25] = rgb <.3,.5,.9>*i*2; //shallow sea
#declare aCol[i*10+30] = rgb <.9,.9,.3>*i*2; //beach
#declare aCol[i*10+35] = rgb <.0,.5,.05>*i*2; //lush grass
#declare aCol[i*10+40] = rgb <.05,.2,.0>*i*2; //foresty
#declare aCol[i*10+45] = rgb <.4,.6,.3>*i*2; //light grass on
rock
#declare aCol[i*10+50] = rgb <.5,.5,.6>*i*2; //rock
#declare aCol[i*10+55] = rgb <.9,.9,1>*i*2; //snow
#local i = i + .1;
#end
#declare aCol[60] = rgb <.9,1,1>;
#local nSlice = 0;
#while ( nSlice < nSlices )
#local fProp = nSlice / (nSlices);
sphere {
<0,0,0>, 1000 + fProp * 240 + 120
#if ( nSlice > 0 )
no_reflection
#end
pigment {
granite
scale 4000
color_map {
[1-fProp rgb aCol[nSlice] transmit 0]
[1-fProp rgb aCol[nSlice] transmit 1]
}
}
}
#local nSlice = nSlice + 1;
#end
object { oGround }
--
Ian McDonald
Lean Agile .NET 4.0/MVC
Senior Application Architect,
Developer and Security Analyst
Post a reply to this message
|
|
|
|
"[GDS|Entropy]" <gdsHYentropyAThotmailDTcom> wrote:
>
> I have not been able to reproduce the exact effect as shown in your post,
> and am very interested to do so.
> Would you mind posting the scene source?
Ok here's the full source for the scene (with a simplified object):
// Background Clouds - by Tek
#version 3.7;
#declare S = <1,0,-1>*.2; // saturation tweaker, balance oranges & blues
#include "rad_def.inc"
global_settings { radiosity { Rad_Settings(Radiosity_Fast,on,on) } }
media { // fog
emission 1
absorption 1
density {
rgb .03*(1-S)
}
samples 100
}
media { // dark clouds
absorption 1
density {
pigment_pattern {
granite scale <5,20,5> warp { turbulence .4 octaves 3 }
colour_map { [.5 rgb 0][.8 rgb 1] }
}
rotate -y*8 translate z*7-y*2 rotate y*20
cubic_wave
warp { turbulence .3 lambda 2.5 }
density_map {
[0 rgb 0]
[1 rgb 10*(1+S)]
}
}
samples 100 // Fix precision errors with brute force
}
camera {
right x*image_width/image_height
up y
direction z*2
location vrotate(-z*4,<10,20>)
look_at 0
}
// object
cylinder {
-z, z, .3
pigment { planar rotate x*90 colour_map { [.9 rgb .1][.9 rgb 1] } }
}
// prevent media accumulating to white
sphere { 0, 10 inverse pigment { rgb 0 } no_shadow }
light_source { vrotate(-z*1000,<60,120>),rgb 1*(1+S) parallel point_at 0 }
Post a reply to this message
|
|