home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Virtual Reality Homebrewer's Handbook
/
vr.iso
/
vroom
/
forest.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1996-03-19
|
2KB
|
63 lines
program forest;
uses vroom,crt,dos,cyberman;
var tree : array[1..500] of file_object3d;
t, tree1 : integer;
x,z, tnow : real;
mouse, cyber, junk : boolean;
begin
mouse:=false;
cyber:=false;
if cyberman_available then cyber:=true else if mouse_available then mouse:=true;
randomize;
repeat
writeln('How many trees do you want? ');
readln(tree1);
until (tree1>0) and (tree1<500);
Init_System;
Set_Ambient_Intensity(0.5);
Set_Light(0.75,0,1,-0.75);
Set_View(200,0,5,-90,0,0);
Set_Window(-20,-15,20,15);
Store_Settings;
for t:=1 to tree1 do
begin
tree[t].Init('fir2.3d');
tree[t].Set_Reference_Point(0,0,0);
tree[t].RotateX(90);
tree[t].Scale(0.05,0.05,0.05);
tree[t].Build_Normals;
tree[t].MoveTo(random*400,random*400,0);
x:=random+0.5;
z:=random+0.5;
tree[t].Scale(x,x,z);
end;
{
for t:=1 to 20 do
begin
other_tree[t].Init('tree1.3d');
other_tree[t].Set_Reference_Point(0,-5,0);
other_tree[t].RotateX(90);
other_tree[t].Scale(1.1,1.1,1.1);
other_tree[t].Build_Normals;
other_tree[t].MoveTo(random*400,random*400,0);
x:=random+0.5;
z:=random+0.5;
other_tree[t].Scale(x,x,z);
end;
}
Redraw_Scene;
repeat
junk:=false;
if cyber then junk:=cyberman_check else if mouse then junk:=mouse_check;
if keyboard_check or junk then redraw_scene;
until false;
stop_graphics;
end.