 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Hmmm, maybe making an .hdr image is too difficult. Basically, what I
need is an image with a color flow from black through the sunrise colors
to white, and from white through the sunset colors to black. Then using
emission 1.0 or more. Maybe I can do this with a regular image, not
sure. Let's see.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 11.02.2016 um 22:28 schrieb Sven Littkowski:
> At the moment, I am using around 2,000 light sources for my ship inside.
> This is, to simulate a long stripe of light (5 km long) and with a white
> inside and sunset colors to the side.
>
> But I am considering to make the central cylinder along the middle axis
> much thicker, and to put an .hdr image around it, emitting light. This
> might MAYBE save me a lot of computing time.
I wouldn't expect that to speed up rendering; this would require the
first "bounce" of light to be computed via radiosity, which is primarily
designed for computing light coming from all around, but performs rather
poorly (read: exhibits artifacts unless you invest a lot of rendering
time) for light coming predominantly from a comparatively small region
of the surroundings.
My personal suggestion would be to use a long 1-dimensional area light
(or a number thereof) with area_illumination active, wrapped in a
filtering cylinder.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 11.02.2016 um 22:44 schrieb Sven Littkowski:
> Hmmm, maybe making an .hdr image is too difficult. Basically, what I
> need is an image with a color flow from black through the sunrise colors
> to white, and from white through the sunset colors to black. Then using
> emission 1.0 or more. Maybe I can do this with a regular image, not
> sure. Let's see.
Why not simply use a patterned pigment? I think there is some pattern
that does the trick out of the box, but if not, a cylindrical warp
should get you there.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Yes, absolutely right. And that is, what I am going to do as a first try
(emission).
But I like your other suggestion (area light, area illuminated,
filtering cylinder), too, and want to have a look into it. Though I
don't understand wrapped things and such. But this is all about seeing
new ways, and learning them. :-)
Is it possible to create various light nuances (from bright white
daylight to sunset colors to night black) this way?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Improved Illumination
Our engineers have installed the new emission-based color_map system
which replaces the previously used 2,000 light sources. This has a vast
reduction in the light bill and a vast increase in render speed.
What's missing now, is the bluish atmosphere.
Post a reply to this message
Attachments:
Download 'sl - colony ship i.png' (96 KB)
Preview of image 'sl - colony ship i.png'

|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
UPDATE
Habitat was filled with air.
Problem:
while it looks acceptably good on the daytime side, the sunset side
misses a lot of those colors, and the nighttime side is also wrong.
Please have a try on your own and help, if you got some ideas. Thanks.
Scene Code ---------------------------------------------------------
#version 3.7;
#include "macros.inc"
#include "shapes.inc"
#declare MyRadiosity = on; // on or off
#declare MediumRadiosity = on;
#declare FastRadiosity = off;
#declare CameraDaytime = on;
#declare CameraSunset = off; // Problem: doesn't look like sunset
#declare CameraNighttime = off; // Problem: doesn't look like sunset
#declare CameraOutside = off;
global_settings
{
#if(MyRadiosity)
radiosity
{
media on
pretrace_start 0.08
#if(FastRadiosity)
pretrace_end 0.015
#elseif(MediumRadiosity)
pretrace_end 0.008
#else
pretrace_end 0.001
#end
count 400
error_bound 0.75
recursion_limit 1
}
#end
adc_bailout 0.0039
ambient_light rgb < 1.000, 1.000, 1.000 >
assumed_gamma 1.000
irid_wavelength rgb < 0.250, 0.180, 0.140 >
max_trace_level 5
number_of_waves 10
noise_generator 3
charset ascii
}
#default { pigment { rgb 1.0 } finish { ambient 0.0 specular 1.0 } }
#if(CameraDaytime)
camera // Daytime Position Inside
{
location < 0.0, -1400.0, 100.0 >
look_at < 0.0, -1400.0, 200.0 >
right 1.77*x
}
#elseif(CameraSunset)
camera // Sunset Position Inside
{
location < 1400.0, 0.0, 100.0 >
look_at < 1400.0, 0.0, 200.0 >
right 1.77*x
}
#elseif(CameraNighttime)
camera // Nighttime Position Inside
{
location < 0.0, 1400.0, 100.0 >
look_at < 0.0, 1400.0, 200.0 >
right 1.77*x
}
#elseif(CameraOutside)
camera // Outside
{
location < -5000.0, 5000.0, -5000.0 >
look_at < 0.0, 0.0, 0.0 >
right 1.77*x
}
#end
#declare Seed=seed(441);
#if(CameraOutside)
light_source
{
< -10000.0, 10000.0, 10000.0 >
color rgb < 1.0, 1.0, 1.0 >
}
#end
/*
#declare LightDistance = -253.1;
#declare LightWidth = 50.0;
#declare MyRadius = 5;
#declare MyTightness = 50;
#declare MyFalloff = 80;
#declare MyLightMultiplicator = 0.007;
#declare LightSectionHalf = union
{
light_source { < 0.0, LightDistance, 0.0 > rgb < 1.00000, 0.98824,
0.88235 > * MyLightMultiplicator*05 spotlight point_at < 000.0, -1500.0,
0.0 > radius 10 tightness 10 falloff 20 rotate < 0.0, 0.0, 2.5 > }
light_source { < 0.0, LightDistance, 0.0 > rgb < 1.00000, 0.98824,
0.88235 > * MyLightMultiplicator*05 spotlight point_at < 050.0, -1350.0,
0.0 > radius 10 tightness 10 falloff 20 rotate < 0.0, 0.0, 2.5 > }
light_source { < 0.0, LightDistance, 0.0 > rgb < 1.00000, 0.98824,
0.88235 > * MyLightMultiplicator*05 spotlight point_at < 100.0, -0950.0,
0.0 > radius 10 tightness 10 falloff 20 rotate < 0.0, 0.0, 2.5 > }
light_source { < 0.0, LightDistance, 0.0 > rgb < 1.00000, 0.98824,
0.88235 > * MyLightMultiplicator*05 spotlight point_at < 150.0, -0700.0,
0.0 > radius 10 tightness 10 falloff 20 rotate < 0.0, 0.0, 2.5 > }
light_source { < 0.0, LightDistance, 0.0 > rgb < 1.00000, 0.98824,
0.88235 > * MyLightMultiplicator*05 spotlight point_at < 175.0, -0600.0,
0.0 > radius MyRadius tightness MyTightness falloff MyFalloff rotate <
0.0, 0.0, 5.0 > }
light_source { < 0.0, LightDistance, 0.0 > rgb < 1.00000, 0.88627,
0.50196 > * MyLightMultiplicator*05 spotlight point_at < 200.0, -0550.0,
0.0 > radius MyRadius tightness MyTightness falloff MyFalloff rotate <
0.0, 0.0, 7.5 > }
light_source { < 0.0, LightDistance, 0.0 > rgb < 1.00000, 0.69412,
0.28235 > * MyLightMultiplicator*04 spotlight point_at < 225.0, -0500.0,
0.0 > radius MyRadius tightness MyTightness falloff MyFalloff rotate <
0.0, 0.0, 10.0 > }
light_source { < 0.0, LightDistance, 0.0 > rgb < 0.99608, 0.35686,
0.08627 > * MyLightMultiplicator*04 spotlight point_at < 250.0, -0450.0,
0.0 > radius MyRadius tightness MyTightness falloff MyFalloff rotate <
0.0, 0.0, 12.5 > }
light_source { < 0.0, LightDistance, 0.0 > rgb < 0.76863, 0.27059,
0.05882 > * MyLightMultiplicator*04 spotlight point_at < 275.0, -0400.0,
0.0 > radius MyRadius tightness MyTightness falloff MyFalloff rotate <
0.0, 0.0, 15.0 > }
light_source { < 0.0, LightDistance, 0.0 > rgb < 0.54902, 0.10980,
0.10980 > * MyLightMultiplicator*03 spotlight point_at < 300.0, -0350.0,
0.0 > radius MyRadius tightness MyTightness falloff MyFalloff rotate <
0.0, 0.0, 17.5 > }
light_source { < 0.0, LightDistance, 0.0 > rgb < 0.43922, 0.09412,
0.16078 > * MyLightMultiplicator*03 spotlight point_at < 325.0, -0300.0,
0.0 > radius MyRadius tightness MyTightness falloff MyFalloff rotate <
0.0, 0.0, 20.0 > }
light_source { < 0.0, LightDistance, 0.0 > rgb < 0.31373, 0.07843,
0.14902 > * MyLightMultiplicator*02 spotlight point_at < 350.0, -0250.0,
0.0 > radius MyRadius tightness MyTightness falloff MyFalloff rotate <
0.0, 0.0, 22.5 > }
light_source { < 0.0, LightDistance, 0.0 > rgb < 0.15294, 0.04706,
0.10588 > * MyLightMultiplicator*02 spotlight point_at < 375.0, -0200.0,
0.0 > radius MyRadius tightness MyTightness falloff MyFalloff rotate <
0.0, 0.0, 25.0 > }
}
#declare LightSection = union
{
object { LightSectionHalf scale < 1.0, 1.0, 1.0 > }
object { LightSectionHalf scale < -1.0, 1.0, 1.0 > }
}
#declare RundeLight = 50.0;
#while(RundeLight<4950.0)
object { LightSection translate < 0.0, 0.0, RundeLight > }
#declare RundeLight = RundeLight+50.0;
#end
*/
// ---------------------------------------------------
#macro
RoundCilinderSegment(StartHeight,EindHeight,Radius,StartHoek,EindHoek,Bevel,BevelHeight,MaxLength)
#local Start=y*(StartHeight+Bevel);
#local Eind=y*(EindHeight-Bevel);
#local Start2=y*StartHeight;
#local Eind2=y*EindHeight;
#local StartHoek2=StartHoek+degrees(Bevel/Radius);
#local EindHoek2=EindHoek-degrees(Bevel/Radius);
#local TotaleLengte=radians(EindHoek-StartHoek)*(Radius+BevelHeight);
#local Aantal=max(int(TotaleLengte/MaxLength),1);
#local Tel=0;
mesh {
triangle {
vrotate(<Radius,StartHeight,0>,y*StartHoek),
vrotate(<Radius,EindHeight,0>,y*StartHoek),
vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*StartHoek2)
}
triangle {
vrotate(<Radius,EindHeight,0>,y*StartHoek),
vrotate(<Radius+BevelHeight,EindHeight-Bevel,0>,y*StartHoek2),
vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*StartHoek2)
}
triangle {
vrotate(<Radius,EindHeight,0>,y*StartHoek),
vrotate(<Radius,EindHeight,0>,y*StartHoek2),
vrotate(<Radius+BevelHeight,EindHeight-Bevel,0>,y*StartHoek2)
}
triangle {
vrotate(<Radius,StartHeight,0>,y*StartHoek),
vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*StartHoek2),
vrotate(<Radius,StartHeight,0>,y*StartHoek2)
}
triangle {
vrotate(<Radius,StartHeight,0>,y*EindHoek),
vrotate(<Radius,EindHeight,0>,y*EindHoek),
vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*EindHoek2)
}
triangle {
vrotate(<Radius,EindHeight,0>,y*EindHoek),
vrotate(<Radius+BevelHeight,EindHeight-Bevel,0>,y*EindHoek2),
vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*EindHoek2)
}
triangle {
vrotate(<Radius,EindHeight,0>,y*EindHoek),
vrotate(<Radius,EindHeight,0>,y*EindHoek2),
vrotate(<Radius+BevelHeight,EindHeight-Bevel,0>,y*EindHoek2)
}
triangle {
vrotate(<Radius,StartHeight,0>,y*EindHoek),
vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*EindHoek2),
vrotate(<Radius,StartHeight,0>,y*EindHoek2)
}
#while (Tel<Aantal)
#local H1=StartHoek2+(EindHoek2-StartHoek2)*(Tel/Aantal);
#local H2=StartHoek2+(EindHoek2-StartHoek2)*((Tel+1)/Aantal);
#local P1=vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*H1);
#local P2=vrotate(<Radius+BevelHeight,EindHeight-Bevel,0>,y*H1);
#local P3=vrotate(<Radius+BevelHeight,EindHeight-Bevel,0>,y*H2);
#local P4=vrotate(<Radius+BevelHeight,StartHeight+Bevel,0>,y*H2);
#local N1=vrotate(x,y*H1);
#local N2=vrotate(x,y*H2);
smooth_triangle {P1,N1,P2,N1,P4,N2}
smooth_triangle {P2,N1,P3,N2,P4,N2}
//triangle {P1,P2,P4}
//triangle {P2,P3,P4}
#local P2B=vrotate(<Radius,EindHeight,0>,y*H1);
#local P3B=vrotate(<Radius,EindHeight,0>,y*H2);
triangle {P2,P2B,P3}
triangle {P2B,P3B,P3}
#local P2B=vrotate(<Radius,StartHeight,0>,y*H2);
#local P3B=vrotate(<Radius,StartHeight,0>,y*H1);
triangle {P2B,P1,P3B}
triangle {P1,P4,P2B}
#local Tel=Tel+1;
#end
}
#end
#macro Verlaag(X)
#local R=X-(1+rand(Seed)*2.5);
R
#end
#macro
CilinderGreeble(StartHeight,EindHeight,Radius,StartHoek,EindHoek,Bevel,BevelHeight,MaxLength,Detail)
#local Start=(StartHeight+Bevel);
#local Eind=(EindHeight-Bevel);
#local StartH=StartHoek+degrees(Bevel/Radius);
#local EindH=EindHoek-degrees(Bevel/Radius);
//cilindertjes:
#local Aantal=rand(Seed)*Detail;
#while (Aantal>0)
#local Size=(Bevel*.01)+rand(Seed)*Bevel*.99*2;
#local Hoek=StartH+(EindH-StartH)*rand(Seed);
#local Hoogte=Start+(Eind-Start)*rand(Seed);
#local Depth=BevelHeight/2+rand(Seed)*BevelHeight/2;
superellipsoid {<1,.1+rand(Seed)*.3> rotate y*90 scale
<Depth,Size,Size> translate x*Radius rotate y*Hoek translate y*Hoogte}
#local Aantal=Aantal-1;
#end
//vakjes:
#local Aantal=rand(Seed)*Detail;
#while (Aantal>0)
#local S=Start+(Eind-Start)*rand(Seed);
#local E=S+(Eind-S)*rand(Seed);
#local SH=StartH+(EindH-StartH)*rand(Seed);
#local EH=SH+(EindH-SH)*rand(Seed);
#local H=BevelHeight/2+rand(Seed)*BevelHeight/2;
RoundCilinderSegment(S,E,Radius,SH,EH,Bevel/2,H,AantalStapjes)
#local Aantal=Aantal-1;
#end
//verticale buisjes
#local Aantal=rand(Seed)*Detail;
#while (Aantal>0)
#local S=Start+(Eind-Start)*rand(Seed);
#local E=S+(Eind-S)*rand(Seed);
#local SH=StartH+(EindH-StartH)*rand(Seed);
//#local EH=SH+(EindH-SH)*rand(Seed);
#local H=(BevelHeight/2+rand(Seed)*BevelHeight/2)/2;
//RoundCilinderSegment(S,E,Radius,SH,EH,Bevel/2,H,AantalStapjes)
cylinder {y*S,y*E,H translate x*Radius rotate y*SH}
sphere {y*S,H translate x*Radius rotate y*SH}
sphere {y*E,H translate x*Radius rotate y*SH}
#local Aantal=Aantal-1;
#end
//horizontale buisjes simuleren, toruskes zouden wsl te traag gaan
#local Aantal=rand(Seed)*Detail;
#while (Aantal>0)
#local S=Start+(Eind-Start)*rand(Seed);
#local H=BevelHeight/2+rand(Seed)*BevelHeight/2;
#local H=min((Eind-S),H*2)/2;
#local E=S+H*2;
#local SH=StartH+(EindH-StartH)*rand(Seed);
#local EH=SH+(EindH-SH)*rand(Seed);
RoundCilinderSegment(S,E,Radius,SH,EH,H,H,AantalStapjes)
#local Aantal=Aantal-1;
#end
#end
#macro
VerdeelCilinder(StartHeight,EindHeight,Radius,StartHoek,EindHoek,Diepte,Bevel,BevelHeight)
#local Start=y*(StartHeight+Bevel);
#local Eind=y*(EindHeight-Bevel);
#local Start2=y*StartHeight;
#local Eind2=y*EindHeight;
#if (Diepte<0)
#ifndef(Detail) #local Detail=5; #end
#local H=rand(Seed)*BevelHeight;
#ifndef(MaxSegmentLength) #local AantalStapjes=Bevel; //(eigenlijk de
maximale lengte van een segment)
#else #local AantalStapjes= MaxSegmentLength; #end
RoundCilinderSegment(StartHeight,EindHeight,Radius,StartHoek,EindHoek,Bevel,H,AantalStapjes)
CilinderGreeble(StartHeight,EindHeight,Radius+H,StartHoek,EindHoek,Bevel,H,AantalStapjes,Detail)
#else
// eerst es checken of 't nie onvoorstelbaar ongelijk verdeeld is:
#local Lengte=radians(EindHoek-StartHoek)*Radius;
#local Hoogte=EindHeight-StartHeight;
#local PercentageU=.5+(rand(Seed)-rand(Seed))*.5*.9;
#local PercentageV=.5+(rand(Seed)-rand(Seed))*.5*.9;
#local MidHeight=StartHeight+(EindHeight-StartHeight)*PercentageU;
#local MidHoek=StartHoek+(EindHoek-StartHoek)*PercentageV;
// als't 2 keer zo hoog als breed is (of nog hoger), dan ff enkel in
de hoogte bijsnijden:
#if ((Hoogte>(Lengte*2))&(rand(Seed)>.125))
VerdeelCilinder(StartHeight,MidHeight,Radius,StartHoek,EindHoek,Verlaag(Diepte),Bevel,BevelHeight)
VerdeelCilinder(MidHeight,EindHeight,Radius,StartHoek,EindHoek,Verlaag(Diepte),Bevel,BevelHeight)
// als't 2 keer lager dan breed is (of nog lager), dan ff enkel in de
breedte bijsnijden:
#else
#if (((Hoogte*2)<Lengte)&(rand(Seed)>.125))
VerdeelCilinder(StartHeight,EindHeight,Radius,StartHoek,MidHoek,Verlaag(Diepte),Bevel,BevelHeight)
VerdeelCilinder(StartHeight,EindHeight,Radius,MidHoek,EindHoek,Verlaag(Diepte),Bevel,BevelHeight)
#else
VerdeelCilinder(StartHeight,MidHeight,Radius,StartHoek,MidHoek,Verlaag(Diepte),Bevel,BevelHeight)
VerdeelCilinder(MidHeight,EindHeight,Radius,StartHoek,MidHoek,Verlaag(Diepte),Bevel,BevelHeight)
VerdeelCilinder(StartHeight,MidHeight,Radius,MidHoek,EindHoek,Verlaag(Diepte),Bevel,BevelHeight)
VerdeelCilinder(MidHeight,EindHeight,Radius,MidHoek,EindHoek,Verlaag(Diepte),Bevel,BevelHeight)
#end
#end
#end
#end
//#include "textures.inc"
#declare HabitatOutside = union
{
#declare Detail=5;
#declare MaxSegmentLength=.1;
VerdeelCilinder(-3,3,1,0,360,10,.002,.0075)
cylinder {-3*y,3*y,1}
//Metaal()
rotate < 90.0, 0.0, 0.0 >
translate < 0.0, 0.0, 3.0 >
scale < 1.0*1600.0, 1.0*1600.0, (1.0/6.0)*5200.0 >
translate < 0.0, 0.0, -100.0 >
}
#declare Backbone = union
{
#declare Detail=5;
#declare MaxSegmentLength=.1;
VerdeelCilinder(-3,3,1,0,360,10,.002,.0075)
cylinder {-3*y,3*y,1}
//Metaal()
rotate < 90.0, 0.0, 0.0 >
translate < 0.0, 0.0, 3.0 >
scale < 750.0, 750.0, (1.0/6.0)*5000.0 >
translate < 0.0, 0.0, 0.0 >
}
#declare MyLight = difference // Backbone Light
{
cylinder { < 0.0, 0.0, 0.0 > < 0.0, 0.0, 5000.0 > 760.0 }
box { < -760.1, 0.0, -0.1 > < 760.1, 760.1, 5000.1 > }
pigment
{
gradient x
color_map
{
[ 0.00 rgb < 0.00000, 0.00000, 0.00000 > * 1 ]
[ 0.05 rgb < 0.15294, 0.04706, 0.10588 > * 1 ]
[ 0.10 rgb < 0.31373, 0.07843, 0.14902 > * 1 ]
[ 0.30 rgb < 1.00000, 0.69412, 0.28235 > * 1 ]
[ 0.425 rgb < 1.00000, 0.98824, 0.88235 >* 2 ]
[ 0.575 rgb < 1.00000, 0.98824, 0.88235 >* 2 ]
[ 0.70 rgb < 1.00000, 0.69412, 0.28235 > * 1 ]
[ 0.90 rgb < 0.31373, 0.07843, 0.14902 > * 1 ]
[ 0.95 rgb < 0.15294, 0.04706, 0.10588 > * 1 ]
[ 1.00 rgb < 0.00000, 0.00000, 0.00000 > * 1 ]
}
translate < -0.5, 0.0, 0.0 >
scale < 1520.0, 1.0, 1.0 >
}
finish { emission 1.0 }
translate < 0.0, -10.0, 0.0 >
}
#declare MyAtmosphere = cylinder // Air
{
< 0.0, 0.0, 0.0 > < 0.0, 0.0, 5000.0 > 1500.0
pigment { rgbt < 1.0, 1.0, 1.0, 1.0 > }
hollow
interior
{
fade_colour < 0.4, 0.66, 0.9 >
fade_distance 5000.0
fade_power 1001
media
{
emission 0.0005
density
{
gradient y
density_map
{
[ 0.0 rgb < 0.5, 0.7, 1.0 > * 0.1 ]
[ 0.4 rgb < 0.5, 0.7, 1.0 > ]
[ 0.5 rgb < 0.5, 0.7, 1.0 > ]
[ 1.0 rgb < 0.0, 0.0, 0.0 > ]
}
translate < 0.0, -0.5, 0.0 >
scale < 3000.0, 3000.0, 1.0 >
}
// absorption 1000.0
/* scattering
{
1
< 0.5, 0.7, 1.0 >
extinction 1.0
} */
}
}
}
#declare Fn_1 = function(x,y,z)
{
1-(-f_snoise3d(x*5,y*3,z*5)*0.8)
}
#declare TheLandscape = object
{
HF_Cylinder( Fn_1, // Function,
0, // UseUVheight: 0 or 1
1, // UseUVtexture: 0 or 1
<50,50>, // Resolution,
1, // Smooth: 0 or 1
"", // FileName, ""=no file,
<0,0,0>, // EndA,
<0,1.5,0>, // EndB
1.60 ,// Radius
0.05 // Depth
) //-------------------------
scale < 0.58, 0.67, 0.58 >
rotate < 90.0, 0.0, 0.0 >
scale < 1500.0, 1500.0, 2500.0 >
}
#declare MyLandscape = union
{
object { TheLandscape scale < 1.0, 1.0, 1.0 > translate < 0.0, 0.0,
0000.0 > }
object { TheLandscape scale < 1.0, 1.0, -1.0 > translate < 0.0, 0.0,
5000.0 > }
pigment { rgb < 0.05, 0.25, 0.0 > }
finish { emission 0.0 }
}
#declare MyWaterLevel = 1440.0;
#declare fn_pattern = function
{
pattern { bozo scale 0.15 }
}
#declare fn_water = function
{
z - fn_pattern(x, y, 0)*0.25
}
#declare MyWater = difference // Water
{
cylinder { < 0.0, 0.0, 0.0 > < 0.0, 0.0, 5000.0 > 1500.0 }
cylinder { < 0.0, 0.0, -0.1 > < 0.0, 0.0, 5000.1 > MyWaterLevel }
material
{
texture
{
pigment { color rgbt < 0.2, 0.7, 0.3, 0.5 > }
finish
{
ambient 0.0
diffuse 0.0
emission 0.0
reflection
{
0.0, 1.0
falloff 5
fresnel on
}
specular 0.4
roughness 0.003
}
normal
{
function { f_ridged_mf(x, y, z, 0.1, 3.0, 7, 0.7, 0.7, 2) } 0.8
scale 0.13
}
}
interior
{
ior 1.3
fade_distance 10
fade_power 1001
fade_color < 0.8, 0.2, 0.2, 0.5 >
media
{
// absorption < 0.8, 0.6, 1.0, 0.5 >
scattering
{
3
< 0.5, 0.65, 0.4 >
extinction 1.0
}
}
}
}
normal
{
function { f_ridged_mf(x, y, z, 0.1, 3.0, 7, 0.7, 0.7, 2) }
0.8
scale < 0.13, 0.4, 0.13 >
}
}
object { HabitatOutside hollow }
object { Backbone hollow }
object { MyLight }
object { MyAtmosphere }
object { MyLandscape }
object { MyWater }
Post a reply to this message
Attachments:
Download 'sl - colony ship i.png' (106 KB)
Preview of image 'sl - colony ship i.png'

|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 12-2-2016 9:35, Sven Littkowski wrote:
> UPDATE
>
> Habitat was filled with air.
>
Your atmosphere and habitat boundaries are exactly overlapping, showing
unwanted artefacts. Make the atmosphere cylinder a tiny bit larger (or
smaller) than the habitat.
--
Thomas
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 2/11/2016 4:28 PM, Sven Littkowski wrote:
> At the moment, I am using around 2,000 light sources for my ship inside.
> This is, to simulate a long stripe of light (5 km long) and with a white
> inside and sunset colors to the side.
>
> But I am considering to make the central cylinder along the middle axis
> much thicker, and to put an .hdr image around it, emitting light. This
> might MAYBE save me a lot of computing time.
>
> Right now, I have to try to find out, how to create such an .hdr file.
> The wise Internet will tell me...
>
IIRC POV-ray has a limit of 128 light sources.
Mike
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 12.02.2016 um 09:59 schrieb Mike Horvath:
> On 2/11/2016 4:28 PM, Sven Littkowski wrote:
>> At the moment, I am using around 2,000 light sources for my ship inside.
>> This is, to simulate a long stripe of light (5 km long) and with a white
>> inside and sunset colors to the side.
>>
>> But I am considering to make the central cylinder along the middle axis
>> much thicker, and to put an .hdr image around it, emitting light. This
>> might MAYBE save me a lot of computing time.
>>
>> Right now, I have to try to find out, how to create such an .hdr file.
>> The wise Internet will tell me...
>>
>
> IIRC POV-ray has a limit of 128 light sources.
IIRC you're wrong ;)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 12.02.2016 um 09:35 schrieb Sven Littkowski:
> UPDATE
>
> Habitat was filled with air.
>
> Problem:
>
> while it looks acceptably good on the daytime side, the sunset side
> misses a lot of those colors, and the nighttime side is also wrong.
> Please have a try on your own and help, if you got some ideas. Thanks.
As soon as you use media, you really need to use regular light sources.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Hi.
Do you mean the dark parts on the water surface? If so, this may been
caused by the waves.
Indeed, my air cylinder has the same side as the inner walls of the
habitat cylinder, but you cannot see those inner walls, as the landscape
cylinder and water cylinder are smaller and thus cover the habitat
cylinder inside walls all over.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Oh gosh. And an emitting long bar would be soooo good to simulate a long
fluorescent light source. Well, I will keep it for now this way. Who
knows, maybe some smart programmer will add such possibility (media
supporting emitting surfaces) to the next version of POV-Ray..? O:)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
UPDATE
Just for now, see here a 10 meter wide four-lane road from just below
the middle axis construction, 100 m above the road, and 1.70m above the
road.
The hills range up to 100 m high.
I am not yet happy with the waves.
After that all has been fixed, I will start to work on the land texture.
Then there will be grass, and trees. Maybe some fields (though most of
the vegetables, fruits, and meat will be grown in vitro). Finally, then
I will work on the buildings.
Post a reply to this message
Attachments:
Download 'sl - colony ship ic.png' (57 KB)
Download 'sl - colony ship id.png' (104 KB)
Download 'sl - colony ship i.png' (63 KB)
Preview of image 'sl - colony ship ic.png'

Preview of image 'sl - colony ship id.png'

Preview of image 'sl - colony ship i.png'

|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 2/12/2016 2:43 PM, Sven Littkowski wrote:
> UPDATE
>
> The hills range up to 100 m high.
>
> I am not yet happy with the waves.
>
I for one cannot see enough detail in your images to comment.
They are too small.
Incidently you really should quote, in your replies, who and what you
are replying to. IMO
--
Regards
Stephen
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 12.02.2016 um 15:37 schrieb Sven Littkowski:
> Oh gosh. And an emitting long bar would be soooo good to simulate a long
> fluorescent light source. Well, I will keep it for now this way. Who
> knows, maybe some smart programmer will add such possibility (media
> supporting emitting surfaces) to the next version of POV-Ray..? O:)
Unlikely.
To UberPOV, maybe, as it would be a lot easier to implement in a
stochastic renderer.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 12.02.2016 um 19:26 schrieb Stephen:
> Incidently you really should quote, in your replies, who and what you
> are replying to. IMO
I agree with Stephen; a good newsreader will present the thread as a
tree, but even then it is sometimes tedious to trace back what post
you're replying to. On the web interface it is virtually impossible, as
it just gives you a linear list of all the posts.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 2/12/2016 8:12 AM, clipka wrote:
> Am 12.02.2016 um 09:59 schrieb Mike Horvath:
>> On 2/11/2016 4:28 PM, Sven Littkowski wrote:
>>> At the moment, I am using around 2,000 light sources for my ship inside.
>>> This is, to simulate a long stripe of light (5 km long) and with a white
>>> inside and sunset colors to the side.
>>>
>>> But I am considering to make the central cylinder along the middle axis
>>> much thicker, and to put an .hdr image around it, emitting light. This
>>> might MAYBE save me a lot of computing time.
>>>
>>> Right now, I have to try to find out, how to create such an .hdr file.
>>> The wise Internet will tell me...
>>>
>>
>> IIRC POV-ray has a limit of 128 light sources.
>
> IIRC you're wrong ;)
>
Is this wiki page wrong?
http://wiki.povray.org/content/Reference:Light_Source
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 12.02.2016 um 20:13 schrieb Mike Horvath:
> On 2/12/2016 8:12 AM, clipka wrote:
>> Am 12.02.2016 um 09:59 schrieb Mike Horvath:
>>> On 2/11/2016 4:28 PM, Sven Littkowski wrote:
>>>> At the moment, I am using around 2,000 light sources for my ship
>>>> inside.
>>>> This is, to simulate a long stripe of light (5 km long) and with a
>>>> white
>>>> inside and sunset colors to the side.
>>>>
>>>> But I am considering to make the central cylinder along the middle axis
>>>> much thicker, and to put an .hdr image around it, emitting light. This
>>>> might MAYBE save me a lot of computing time.
>>>>
>>>> Right now, I have to try to find out, how to create such an .hdr file.
>>>> The wise Internet will tell me...
>>>>
>>>
>>> IIRC POV-ray has a limit of 128 light sources.
>>
>> IIRC you're wrong ;)
>>
>
> Is this wiki page wrong?
>
> http://wiki.povray.org/content/Reference:Light_Source
Yes (though I was, too):
- Yes, there is a hard limit to the number of light sources (which I
wasn't aware of).
- No, the limit is no longer 127(!) light sources as mentioned in the
wiki, but 1024.
Also, it may be interesting to note that the limit is only relevant if
you're using photons or media.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Couldn't it be possible to implement then a stochastic mode to POV-Ray,
so it can do the same things? But I admit, I am not sure what stochastic
means, will try to find out when I have a bit time. I just want to see
our great POV-Ray pushed to its limits (as some of its programmers)... :-D
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Hmmm, will have to rethink my own position about that then. For my part,
I always dislike all that quoting. I thought I did a favor to you all
when I always deleted it. But okay, I can easily keep the quotations, no
problem. :-)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 2/12/2016 6:39 PM, clipka wrote:
> Am 12.02.2016 um 19:26 schrieb Stephen:
>> Incidently you really should quote, in your replies, who and what you
>> are replying to. IMO
>
> I agree with Stephen;
OMG! I will have to write this date in my diary. ;-)
--
Regards
Stephen
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 12.02.2016 um 21:07 schrieb Sven Littkowski:
> Couldn't it be possible to implement then a stochastic mode to POV-Ray,
> so it can do the same things? But I admit, I am not sure what stochastic
> means, will try to find out when I have a bit time. I just want to see
> our great POV-Ray pushed to its limits (as some of its programmers)... :-D
Stochastic means using a lot of randomness, resulting in grainy noise
instead of other (sometimes less obvious) types of artifacts. Goes
pretty much against POV-Ray's philosophy of trying to get reproducible
non-grainy results, but is the weapon of choice in UberPOV (and as a
matter of fact one of the primary reasons I started the UberPOV project
in the first place).
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Knowing about UberPov and some other versions, I really think, it would
be nicer not to split the POV-family into more and more children, but to
enable POV-Ray Original to have such modes and capabilities, too.
Imagine, you create a scene that uses the latest features of POV-Ray
3.7, but for one effect you need to use UberPov or another member of the
POV-Ray family, and can't because they are not fully compatible with
their understanding of the scene code because they don't support the
same features.
I personally don't care, if a scene of mine looks on each computer the
same, as long as it is approximately the same. If possible, I would like
such a stochastic mode on demand.
But this is a thread about my colony ship, so I don't want to torture
you with my personal POV-Ray wishes. :-)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 02/12/2016 12:09 PM, Sven Littkowski wrote:
> Hmmm, will have to rethink my own position about that then. For my part,
> I always dislike all that quoting. I thought I did a favor to you all
> when I always deleted it. But okay, I can easily keep the quotations, no
> problem. :-)
>
It is **NOT** a favor!! Your missing context is EXTREMELY annoying! Especially due
to the
frequency of your posts.
-=- Larry -=-
PS. Short quotes only. Just enough to show the context.
The full copy of the previous post that many (lazy) people use is unnecessary and also
irritating.
(Except, as here, when the full text is short.) :-)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 2/12/2016 11:14 PM, Larry Hudson wrote:
>
> PS. Short quotes only. Just enough to show the context.
Yes, I was going to add this. Don't quote the whole article. You are
usually replying to a specific thought. If it's multiple thoughts,
embed your replies inline with the corresponding thought.
And top-posting is for weenies -- Put your reply at the bottom.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Sven Littkowski <jam### [at] yahoo com> wrote:
> Hmmm, will have to rethink my own position about that then. For my part,
> I always dislike all that quoting. I thought I did a favor to you all
> when I always deleted it. But okay, I can easily keep the quotations, no
> problem. :-)
You weren't doing us any favors.
Deleting parts of quotes that are not relevant to your response is good
netiquette, but eliminating all the quotes in their entirety leaves the reader
with no context. When you post without quoting, frankly, I have no idea what
you're talking about. In a newsreader, we are forced to look up and down the
thread to see what you are referring to. In the Web interface, it is virtually
impossible.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Kenneth,
See here the image. The twisted real heightfield remains gray as the
original image is, and also does not show any heights. It is just like
an ordinary image texture wrapped along a cylinder.
I also include a down-sized version of the heightfield image (the
original is 10,000x10,000, this one is only 1,000x1,000)
Here's the code:
-----------------------------------------------------------
#declare Fn_1 = function
{
pigment
{
image_map { jpeg "Colony Ship I - Heightfield Landscape.jpg" once
interpolate 2 }
// this image needs to be pi-units wide by 1.0 tall, NOT square.
// You can use these two modifiers to 'reverse' the imagery, to see it
// correctly on the INSIDE. HOWEVER, this does not reverse the *depth* of
// the heightfield. The only way to do that (that I know of) is to invert
// the image_map's colors (in Photoshop, for example.)
//scale <-1,1,1>
//translate <1,0,0>
}
}
#declare TheLandscape = object
{
HF_Cylinder(function { Fn_1(x,y*1.7,z).gray }, // *Needs* the function
'wrapper' Fn_1
1, // UseUVheight: 0 or 1
// ON-- IMPORTANT
0, // UseUVtexture: 0 or 1
<int(100*pi),100>, // Resolution.
1, // Smooth: 0 or 1
"", // FileName, ""=no file,
<0,0,0>, // EndA,
<0,1.7,0>, // EndB-- if this
y-value is different from 1.0,
// change the function's
y-value above to compensate.
0.5, // Radius. Keep this at
.5 for 1:1 reproduction of
// the image_map around
the circumference.
0.1 // Depth
) //-------------------------
scale < 0.58, 0.67, 0.58 >
rotate < 90.0, 0.0, 0.0 >
scale < 1500.0, 1500.0, 2500.0 >
}
#declare MyLandscape = union
{
object { TheLandscape scale < 1.0, 1.0, 1.0 > translate < 0.0, 0.0,
0000.0 > }
object { TheLandscape scale < 1.0, 1.0, -1.0 > translate < 0.0, 0.0,
5000.0 > }
pigment { rgb < 0.05, 0.25, 0.0 > }
finish { emission 0.0 }
}
-----------------------------------------------------------
On 14.02.2016 04:15, Kenneth wrote inside the BUGREPORTS section:
> That's odd. I DO see the green color, using just your code example.
Did you
> combine the 'MyLandscape' object with some other CSG and then apply
another
> different 'gray' texture?
>
> Yes, post an image there (at the IMAGES section).
Post a reply to this message
Attachments:
Download 'sl - colony ship i.png' (29 KB)
Download 'colony ship i - heightfield landscape 1000px.jpg' (118 KB)
Preview of image 'sl - colony ship i.png'

Preview of image 'colony ship i - heightfield landscape 1000px.jpg'

|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Sorry, wrong image, here is the correct one for this case.
On 14.02.2016 09:26, Sven Littkowski wrote:
> See here the image. ...
Post a reply to this message
Attachments:
Download 'sl - colony ship i.png' (333 KB)
Preview of image 'sl - colony ship i.png'

|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 16-02-14 09:26, Sven Littkowski a écrit :
> Kenneth,
>
> See here the image. The twisted real heightfield remains gray as the
> original image is, and also does not show any heights. It is just like
> an ordinary image texture wrapped along a cylinder.
>
> I also include a down-sized version of the heightfield image (the
> original is 10,000x10,000, this one is only 1,000x1,000)
>
> Here's the code:
>
> -----------------------------------------------------------
>
> #declare Fn_1 = function
> {
> pigment
> {
> image_map { jpeg "Colony Ship I - Heightfield Landscape.jpg" once
> interpolate 2 }
> // this image needs to be pi-units wide by 1.0 tall, NOT square.
>
> // You can use these two modifiers to 'reverse' the imagery, to see it
> // correctly on the INSIDE. HOWEVER, this does not reverse the *depth* of
> // the heightfield. The only way to do that (that I know of) is to invert
> // the image_map's colors (in Photoshop, for example.)
> //scale <-1,1,1>
> //translate <1,0,0>
> }
> }
>
> #declare TheLandscape = object
> {
> HF_Cylinder(function { Fn_1(x,y*1.7,z).gray }, // *Needs* the function
> 'wrapper' Fn_1
>
Performance tip:
When evaluating a pigment, and that pigment in in shades of gray, it's
beter to use .red, .green or .blue instead of .gray.
This use the fact that all 3 channels always evaluate to the same value.
.gray will evaluate each channels and perform a ponderated average that
is always the same value as the red, green and blue channels.
Using .red, .green or .blue, you only evaluate a single channel and
don't need to do the averaging.
It ONLY work for gray levels pigments and images.
Alain
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Hi Alain, not sure if I understood.
You're saying, that I could use a full-color image as heightfield? Like
the same file for texture and heightfield? But I am thinking, a texture
that shows green meadows and brown (soil) paths through them, would give
me the accurate heights. But maybe I am misunderstanding.
Or do you mean, instead of a gray-scale image, I should use a red-scale
image (or green-scale, or blue-scale)? Can you explain in easier words
for me, or give me a sample image? Thanks.
On 14.02.2016 10:57, Alain wrote:
> Performance tip:
> When evaluating a pigment, and that pigment in in shades of gray, it's
> better to use .red, .green or .blue instead of .gray.
>
> This use the fact that all 3 channels always evaluate to the same value.
> .gray will evaluate each channels and perform a ponderated average that
> is always the same value as the red, green and blue channels.
> Using .red, .green or .blue, you only evaluate a single channel and
> don't need to do the averaging.
>
> It ONLY work for gray levels pigments and images.
>
>
> Alain
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 2/14/2016 7:50 PM, Sven Littkowski wrote:
> Hi Alain, not sure if I understood.
>
> You're saying, that I could use a full-color image as heightfield? Like
> the same file for texture and heightfield? But I am thinking, a texture
> that shows green meadows and brown (soil) paths through them, would give
> me the accurate heights. But maybe I am misunderstanding.
>
> Or do you mean, instead of a gray-scale image, I should use a red-scale
> image (or green-scale, or blue-scale)? Can you explain in easier words
> for me, or give me a sample image? Thanks.
I think that Alain means that you should use one of the red, green or
blue components of your greyscale image instead of all of them. This
will make the parsing a bit quicker. You will get the same result.
--
Regards
Stephen
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 14.02.2016 um 20:50 schrieb Sven Littkowski:
> Hi Alain, not sure if I understood.
>
> You're saying, that I could use a full-color image as heightfield? Like
> the same file for texture and heightfield? But I am thinking, a texture
> that shows green meadows and brown (soil) paths through them, would give
> me the accurate heights. But maybe I am misunderstanding.
>
> Or do you mean, instead of a gray-scale image, I should use a red-scale
> image (or green-scale, or blue-scale)? Can you explain in easier words
> for me, or give me a sample image? Thanks.
Alain is saying the following:
- You are currently using a grayscale image.
- When evaluating a grayscale image, for the sake of functionality it is
irrelevant whether you evaluate the .red, .blue or .green component, or
the .gray pseudo-component, because in a grayscale image they are
guaranteed to all have the same value.
- Using the .gray pseudo-component comes at a performance disadvantage,
because it evaluates the .red, .blue AND .green components, then
computes a weighted average of them.
=> You should use .gred (or .blue or .green) instead of .gray in your code.
(The above is true even if the input image is a true grayscale image
having a single brightness channel instead of three colour channels,
because image format details like number of channels are abstracted away
at a very low level, and POV-Ray always uses a 4-channel RGBA interface
when evaluating an image_map.)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Sven Littkowski <jam### [at] yahoo com> wrote:
> Kenneth,
>
> See here the image. The twisted real heightfield remains gray as the
> original image is, and also does not show any heights. It is just like
> an ordinary image texture wrapped along a cylinder.
>
> I also include a down-sized version of the heightfield image (the
> original is 10,000x10,000, this one is only 1,000x1,000)
>
(actually it's only 240 X 240)
Well...I DO see the height_field, and the embossed heightfield image. Of course,
I added lights, a camera, and re-scaled the HF so I could work with it easily. I
also upped your green color brightness. Note that specifying just
pigment{rgb < 0.05, 0.25, 0.0 > will use POV-Ray's default finish etc. (And your
green color is kind of dark.) I would urge you to use a full texture statement.
Did you include the final declared object in your scene?? Like...
object{MyLandscape}
That wasn't in your code; I'm assuming you did include it.
Maybe your media is 'hiding' the height_field??
By the way-- I noticed that your uploaded grayscale .jpeg image_map has a
slightly different name than what's in the code you posted; I renamed it, of
course, but it would be *much* easier for us to help you if you made sure to
check things like that before posting. Otherwise, it means extra work for us.
;-)
I suspect that you're taking your code example(s) directly out of your scene;
while that makes sense to you, it's difficult for us, because we have to change
things (like scale, etc.) in order to work with it. (And we have no idea what
its context is in your scene.) A good rule of thumb is to
try and simplify any code examples-- not too much of course-- to make them
easier to test. (In fact, it would be easier for you too, to find problems -- I
would suggest that you test just your own code example above-- with an
appropriate camera and lights. You *should* be able to see it like I do. If you
don't see it, it will still be so-much-simpler to track down any minor
problems.)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Alain <kua### [at] videotron ca> wrote:
>
> This use the fact that all 3 channels always evaluate to the same value.
> .gray will evaluate each channels and perform a ponderated average that
> is always the same value as the red, green and blue channels.
> Using .red, .green or .blue, you only evaluate a single channel and
> don't need to do the averaging.
>
> It ONLY work for gray levels pigments and images.
>
Yes, true. (Although, I didn't know about Clipka's remark, that even grayscale
images benefit from using only a single channel.)
The HF image I was using to test Sven's code happened to be a color image (which
I was also using to apply as a pigment.) Otherwise, grayscale is the way to go
(along *with* .red or etc.)
When using a *color* image to generate a height_field, it's not easy to know
beforehand which color channel will be the best to use (as the image is a mix of
different reds, greens and blues, of different 'gray' intensities.) In which
case, .gray is better.. or more practical, that is.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Uhmmm, then how do I take off the red and blue channel in Photoshop
(keeping only the green channel)? Never done before, either. :-)
----------------------------------
On 14.02.2016 15:15, clipka and others wrote:
> => You should use .gred (or .blue or .green) instead of .gray in your code.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
When I try in Photoshop, I cannot save anymore as JPG.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Hi Kenneth, can you show me the image how it looks? Would be
interesting. Thanks. :-)
See here the automatically generated heightfield (green) and the
image-based heightfield (gray). The green one has easily recognizable hills.
On 14.02.2016 15:51, Kenneth wrote:
> Well...I DO see the height_field, and the embossed heightfield image. Of course,
> I added lights, a camera, and re-scaled the HF so I could work with it easily. I
> also upped your green color brightness. Note that specifying just
> pigment{rgb < 0.05, 0.25, 0.0 > will use POV-Ray's default finish etc. (And your
> green color is kind of dark.) I would urge you to use a full texture statement.
Post a reply to this message
Attachments:
Download 'sl - colony ship ie.png' (333 KB)
Download 'sl - colony ship i.png' (227 KB)
Preview of image 'sl - colony ship ie.png'

Preview of image 'sl - colony ship i.png'

|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Sven Littkowski <jam### [at] yahoo com> wrote:
> Uhmmm, then how do I take off the red and blue channel in Photoshop
> (keeping only the green channel)? Never done before, either. :-)
>
No, no, you don't need to do it in Photoshop. It's done easily and directly in
your POV-Ray scene, using what is called 'dot notation.' This is explained in
the documentation, although I can't remember exactly where. (In the v3.62
documentation, it was at 3.2.1.4.3 Operators)
Here's the line of code I used in your scene...
#declare TheLandscape = object
{
HF_Cylinder(function { Fn_1(x,y*1.7,z).gray } (etc.)
Just substitute .red or .green or .blue, instead of .gray
Simple, eh? ;-)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
He he he! So simple that I couldn't imagine. Thanks! :-D
------------------------------------------
On 15.02.2016 07:09, Kenneth wrote:
> No, no, ...
> HF_Cylinder(function { Fn_1(x,y*1.7,z).gray }
> Just substitute .red or .green or .blue, instead of .gray
> Simple, eh? ;-)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On 15-2-2016 12:40, Sven Littkowski wrote:
> When I try in Photoshop, I cannot save anymore as JPG.
>
Try The Gimp
http://www.gimp.org/
--
Thomas
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Sven Littkowski <jam### [at] yahoo com> wrote:
> Uhmmm, then how do I take off the red and blue channel in Photoshop
> (keeping only the green channel)? Never done before, either. :-)
>
If you really want to do something like that, here's how in Photoshop (I'm
using *old* PS v5.0) --
1) Look in the 'Channels' palette (in the main 'Layers/Channels/Paths' palette),
and decide which red, green or blue channel you like. (If your image is
grayscale, all the channels will be identical.)
2) Select 'all' for that particular channel and 'copy' it.
3) 'Paste' it into a new 'Layer.'
4) 'Flatten' the entire image. (This operation is found in the sub-menu of
'Layers/Channels/Paths', hidden by the little black arrow.)
5) Save as .jpeg
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Sven Littkowski <jam### [at] yahoo com> wrote:
> Hi Kenneth, can you show me the image how it looks? Would be
> interesting. Thanks. :-)
>
Here's just a single cylinder. Note the straight-line 'seam' that shows up--
that's because the extreme left and right edges of your original image_map are
not the same, visually. When the edges meet around the cylinder, they produce a
visual glitch. Nothing much can be done about that, unless you modify your
original image_map so that it's less noticeable. You could try 'blurring' the
left and right edges.
Post a reply to this message
Attachments:
Download 'green_cylinder.jpg' (91 KB)
Preview of image 'green_cylinder.jpg'

|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Thanks!
And I use PS v7... :-)
On 15.02.2016 08:10, Kenneth wrote:
> If you really want to do something like that, here's how in Photoshop (I'm
> using *old* PS v5.0) --
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Yes, I have heard about it, and maybe even had it once installed. Will
try out. Thanks!
On 15.02.2016 07:41, Thomas de Groot wrote:
> Try The Gimp
> http://www.gimp.org
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Yes, I will do exactly that (mirrored copied opposite edge and blurred).
Thanks.
Can you show me the scene source code? My own version really looks way
different. Thanks once more.
-----------------------------------------------
On 15.02.2016 08:54, Kenneth wrote:
> Here's just a single cylinder. Note the straight-line 'seam' that shows up--
> that's because the extreme left and right edges of your original image_map are
> not the same, visually. When the edges meet around the cylinder, they produce a
> visual glitch. Nothing much can be done about that, unless you modify your
> original image_map so that it's less noticeable. You could try 'blurring' the
> left and right edges.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Sven Littkowski <jam### [at] yahoo com> wrote:
>
> Can you show me the scene source code? My own version really looks way
> different. Thanks once more.
>
(I actually used assumed_gamma 2.0 for my tests, in v3.62, but you should use
1.0 for yours, in v3.7. The color will look somewhat different.)
-----------
#include "shapes.inc"
camera {
perspective
location <-.7, .4, -2.8>
look_at <190, -100, 1000>
right x*image_width/image_height
angle 36
}
light_source {
0*x
color rgb 1.3
translate <-120, 100, 600>
}
light_source {
0*x
color rgb 1
translate <25, 40, -200>
}
background{rgb .3}
#declare Fn_1 = function
{
pigment
{
image_map {
jpeg "colony ship i - heightfield landscape 1000px.jpg" once interpolate 2 }
}
}
#declare TheLandscape = object
{
HF_Cylinder(function { Fn_1(x,y*1.7,z).red },
1,
0,
<int(100*pi),100>,
1,
"",
<0,0,0>,
<0,1.7,0>,
0.5,
0.1
)
}
object {TheLandscape
texture{pigment {rgb 3*< 0.05, 0.25, 0.0 > }finish{ambient .3 diffuse .7}}
rotate 80*x
}
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Am 15.02.2016 um 16:05 schrieb Kenneth:
> (I actually used assumed_gamma 2.0 for my tests, in v3.62, but you should use
> 1.0 for yours, in v3.7. The color will look somewhat different.)
Speaking of gamma...
> #declare Fn_1 = function
> {
> pigment
> {
> image_map {
> jpeg "colony ship i - heightfield landscape 1000px.jpg" once interpolate 2 }
... you should add "gamma 1.0" after the filename (or whatever your
assumed_gamma setting is).
When used in an image_map, POV-Ray by default assumes that the image
uses gamma encoding (which most people think is linear but actually
isn't), and needs to be converted to POV-Ray's truly linear colour space
upon loading (presuming assumed_gamma is 1.0).
However, when an image is used to represent terrain height rather than
colours, the usual approach is to encode terrain height in a truly
linear fashion. If you use an image in a height_field, POV-Ray takes
this into account, and performs no gamma adjustment on the image data
whatsoever (unless you explicitly tell it otherwise).
With a HF_Cylinder, POV-Ray cannot do this automatically, because it has
no way of knowing that the colours in the image_map will ultimately be
converted into height values. Therefore, by default it /will/ perform
gamma adjustment.
Specifying "gamma 1.0" after the filename tells POV-Ray that the image
data is encoded linearly, so if "assumed_gamma" is also set to 1.0
POV-Ray's gamma adjustment for that particular image is a 1:1 mapping,
effectively leaving the data unchanged.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Le 16-02-15 06:40, Sven Littkowski a écrit :
> When I try in Photoshop, I cannot save anymore as JPG.
>
You need to export to JPG/JPEG, PNG,...
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Thanks. Got it. :-)
On 16.02.2016 14:33, Alain wrote:
> You need to export to JPG/JPEG, PNG,...
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
I just found this:
http://news.povray.org/povray.binaries.images/thread/%3Cweb.4d5913dd16b39e34ec13f70a0@news.povray.org%3E/
http://news.povray.org/povray.binaries.images/thread/%3Cweb.4d54751172cba645ec13f70a0@news.povray.org%3E/
I'm not sure how everything stays lit. But it looks cool nonetheless.
Mike
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|
 |