|
|
Okay, here is the latest problem and also the scene code.
The value "AmountLines" allows me to set the amount of oar lines above
each other, but strangely, I always get just one line. I am very sure,
the fault is with me: "I am not seeing the forest because of all the
trees in my eyesight". Means, I am looking at the scene code, and just
can't discover the error in thinking/writing. Can you help?
---SCENE-------------------------------------------------------
#local Temp_version = version;
#version 3.7;
#declare MyRadiosity = off; // on
global_settings
{
#if(MyRadiosity)
radiosity
{
media on
pretrace_start 0.08
pretrace_end 0.001
count 400
error_bound 0.75
recursion_limit 1
normal on
}
#end
subsurface {}
adc_bailout 0.0039
ambient_light rgb < 0.000, 0.000, 0.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
}
camera
{
location < 7.0, 0.0, -50.0 >
look_at < 7.0, 0.0, 0.0 >
right x*image_width/image_height
}
light_source
{
< -50000.0, 50000.0, -50000.0 > //light position
color rgb < 1.0, 1.0, 1.0 > * 1.0
parallel
point_at < 0.0, 0.0, 0.0 >
}
//
---------------------------------------------------------------------------
-----------------------
#include "textures.inc"
#declare UpperOar = texture
{
DMFDarkOak
pigment { color rgb < 1.0, 1.0, 1.0 > }
normal { wood 0.5 scale 0.3 turbulence 0.1 }
finish { phong 1 }
rotate< 90.0, 0.0, 0.0 >
scale 0.25
}
#declare LowerOar = texture
{
DMFDarkOak
pigment { color rgb < 0.3, 0.01, 0.0 > }
normal { wood 0.5 scale 0.3 turbulence 0.1 }
finish { phong 1 }
rotate< 90.0, 0.0, 0.0 >
scale 0.25
}
#declare TotalLength = 10.0; // length of oars of the lowest line
#declare AmountOarsInLine = 30;
#declare AmountLines = 3;
#declare LineLeftShift = 0.5; // shift towards the left side for
additional lines
#declare LineHeightShift = 0.5; // distance to line below
#declare MyVariance = 4.0; // human irregularity
#declare MyHeightMore = 0.50; // upper lines need longer oars
#declare GeneralAngle = 40; // the angle of each oar from hull
towards water
#declare BladeAngle = 85.0; // the angle of the blade when
touching water
#declare ForwardAngle = 05.0; // to equalize the ends of each line
to the eye
#declare R1 = seed(1);
#declare R2 = seed(2);
#declare R3 = seed(3);
//
---------------------------------------------------------------------------
-----------------------
#macro MyOar(MyHeightMoreThis)
union
{
union
{
cone
{
< 0.0, -10.0, 0.0 > 0.000 < 0.0, -9.9, 0.0 > 0.250
}
cone
{
< 0.0, -9.9, 0.0 > 0.250 < 0.0, -5.5, 0.0 > 0.000
}
texture { LowerOar }
scale < 1.0, 1.0, 0.1 >
}
union
{
cone
{
< 0.0, -9.5, 0.0 > 0.020 < 0.0, -5.5, 0.0 > 0.075
}
cylinder
{
< 0.0, -5.5, 0.0 > < 0.0, 0.0, 0.0 > 0.075
}
#if(MyHeightMoreThis>0)
cylinder
{
< 0.0, MyHeightMoreThis, 0.0 > < 0.0, 0.0, 0.0 > 0.075
}
translate < 0.0, -MyHeightMoreThis, 0.0 >
#end
texture { UpperOar }
} no_shadow
}
#end
#declare MyNumber = 0;
#macro MyOarLine(AmountOarsInLine,MyHeightMoreThis)
union
{
#while(MyNumber<AmountOarsInLine)
#declare MyAngleWater = (rand(R1)*MyVariance)+GeneralAngle;
#declare MyAngleHands = (rand(R2)*MyVariance)+BladeAngle;
#declare MyAngleDirection = (rand(R3)*MyVariance)+ForwardAngle;
object
{
MyOar(MyHeightMoreThis)
rotate < 0.0, MyAngleHands, 0.0 >
rotate < MyAngleWater, 0.0, 0.0 >
rotate < 0.0, 0.0, MyAngleDirection >
translate < (MyNumber*0.925), 0.0, 0.0 >
}
#declare MyNumber = MyNumber+1;
#end
}
#end
union
{
#declare ThisLine = 0;
#while(ThisLine<AmountLines)
object { MyOarLine(AmountOarsInLine,MyHeightMore*ThisLine) translate <
-((AmountOarsInLine*0.925)/2)+0.925-(LineLeftShift*ThisLine),
LineHeightShift*ThisLine, 0.0 > }
#declare ThisLine=ThisLine+1;
#end
box
{
< -20.0, -15.0, 0.0 > < 20.0, 15.0, 0.1 >
pigment { color rgb < 1.0, 1.0, 1.0 > }
}
box
{
< -1.0, -25.0, 2.0 > < 1.0, 25.0, 2.1 >
pigment { color rgb < 0.5, 0.5, 0.5 > }
}
translate < 0.0, 0.0, 0.0 >
}
---
Diese E-Mail wurde von AVG auf Viren geprüft.
http://www.avg.com
Post a reply to this message
|
|