|
![](/i/fill.gif) |
Jaime Vives Piqueres <jai### [at] ignorancia org> wrote:
> Bruno Cabasson wrote:
> > As I got inspired by Terragen, I have named this projet TerraPOV.
>
> I hope you have more success than I with my "Project Tierra".... I have
> it stalled, waiting for large amounts of free time to expend... :)
>
> BTW, if the rest of the elements come with the same quality as the skies,
> it can be a great system!
>
> --
> Jaime
Thank you Jaime!!
Coming from you it is a great encouragement for me!
I am not finished yet with skies. For example, I must integrate single-cloud
macros (with or without DF3 generation step), with optional flat bottoms. I
already have some results. I also would like to define a typology for clouds
and the corresponding settings in order to define "macro-settings". I also have
to deal with the Sun appearance and halo (not very successful until now).
For cumuli, the problem is different than clouscapes and quite tricky. I think
I'll have to do with single clouds. But I am afraid that the turbulence feature
is not completely appropritate for the 'roundness' of cumuli. I tried with the
current system, but it is not suitable for cumuli and I could never get
acceptable results (mainly because the density is based on standard patterns).
Perhaps a particle system will be necessary, but I absolutely do not master
that. Advice/ideas welcome.
For terrain, the embryo is close to be operational for the basic features.
'*' mean implemented
'+' means partielly implemented
'-' means not yet implemented.
The engine can (will) provide several views:
*) Elevation view (see attached file in next p.b.i post), inspired by
Terragen: Grayscale with iso-levels and decorations, including text.
*) Scene view
-) Sky dome generation view
-) Local view of the scene from above with all objects.
It can define the terrain either as
*) pigment-based function (user-defined), allowing overhangs (isosurface)
*) Height field out of pigment function
*) Height field out of image_map
*) Image_map generation from pigment function
It can (will) define the sky as
*) Media, like the skies I already posted. Allows cloudscape to cast shadows
-) Sky-dome image map (probably a sphere)
-) DF3 generation for single clouds.
It provides (or will) for
+) Placement macros and utilities
+) Predefined textures (thanks for contribs)
*) Water
-) Embeded SDL-code (TBC)
+) Adding user-defined objects, one main interest of TerraPOV.
One big piece will also be to incorporate vegetation. It can use POV-Tree, and
stuff from PlantStudio or so. I would like to provide for pattern-based
placement macros (I already have something for that).
I want all be declarative, so that a MMI can be easily plugged. For example, for
the last version of my sky system, and for the sky that is currently rendering:
// ======================== DECLARATIONS ===============================
#declare QUICK = no;
// Sun
#declare SUN_ELEVATIONS = array [5] {10, 20, 5, 0.5, -0.5};
#declare SUN_HEADING = 20;
#declare SUN_POWER = 4;
// Atmosphere
#declare Ta = 110*km;
#declare Ha = -1*m;
#declare BASE_SKY_COLOR = rgb <0.45, 0.65, 1>;
#declare k = 1.2;
#declare DENSITY_BASE_POWER = 4;
#declare DENSITY_POWER_FACTOR = 1;
#declare ATMO_INTERVALS = 3;
#declare ATMO_SAMPLES = 5;
#declare ATMO_QUICK_INTERVALS = 1;
#declare ATMO_QUICK_SAMPLES = 5;
// Layers
#declare USE_LAYER_1 = no;
#declare USE_LAYER_2 = yes;
#declare USE_LAYER_3 = yes;
// Layer 1: high low-density clouds
#declare L1_H = 8000*m;
#declare L1_T = 300*m;
#declare L1_SCATTERING = 2.5;
#declare L1_SCATTERING_COLOR = White;
#declare L1_ABSORPTION = 0.5;
#declare L1_ABSORPTION_COLOR = White;
#declare L1_INTERVALS = 3;
#declare L1_SAMPLES = 5;
#declare L1_QUICK_INTERVALS = 1;
#declare L1_QUICK_SAMPLES = 5;
#declare L1_DENSITY = density
{
wrinkles
scale <100,1,100>
scale L1_T
color_map {[0.63 rgb 0.0][1 rgb 0.2]}
}
// Layer 2: normal height quite opaque cloud cover
#declare L2_H = 1000*m;
#declare L2_T = 200*m;
#declare L2_SCATTERING = 1;
#declare L2_SCATTERING_COLOR = White;
#declare L2_ABSORPTION = 0.25;
#declare L2_ABSORPTION_COLOR = 0.5+0.3*(1-Pink);
#declare L2_INTERVALS = 3;
#declare L2_SAMPLES = 3;
#declare L2_QUICK_INTERVALS = 1;
#declare L2_QUICK_SAMPLES = 3;
#declare L2_DENSITY = density
{
wrinkles
scale <15, 1, 15>
warp {turbulence 0.3 octaves 10 lambda 2.05 omega 0.63}
scale L2_T
translate <300, 0, 5000>*m*z
//color_map {[0.35 rgb 0.][0.36 rgb 0.6][0.8 rgb 0.9]}
color_map {[0 rgb 1][0.6 rgb 0.7][0.75 rgb 0]}
}
// Layer 3: Ground-to-Layer2 haze for scattering beams
#declare L3_H = -1*m;
#declare L3_T = L2_H-L3_H - 1*m;
#declare L3_SCATTERING = 1;
#declare L3_SCATTERING_COLOR = White;
#declare L3_ABSORPTION = 0;
#declare L3_ABSORPTION_COLOR = White;
#declare L3_INTERVALS = 5;
#declare L3_SAMPLES = 10;
#declare L3_QUICK_INTERVALS = 1;
#declare L3_QUICK_SAMPLES = 5;
#declare L3_DENSITY = density
{
function {0.1}
}
// Camera
#declare VIEW_CAM = 0;
#declare FISHEYE_CAM = 1;
#declare CAM = VIEW_CAM;
// Radiosity
#declare USE_RAD = yes;
#declare BUILD_RAD_DATA = no;
#declare RAD_BRIGHT = 1 ;
#declare RAD_FILE_NAME = "sky_22.rad";
// ====================== END OF DECLARATIONS ==========================
Bruno
PS: By essence, skies require intensively the media feature. What about media
with 3.7?
Post a reply to this message
|
![](/i/fill.gif) |