This commit is contained in:
Frater 2017-09-24 01:45:36 +02:00
commit 43352ff262
1291 changed files with 220976 additions and 0 deletions

109
WATER/AA.POV Normal file
View file

@ -0,0 +1,109 @@
#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
camera {
location <10 50 -50>
look_at <0 0 0>
}
fog {
colour red 0.0 green 0.0 blue 0.0
250.0
}
object { light_source { <-10 60 30> color White } }
object {
box { UnitBox scale <256 32 4>}
texture { color Green }
texture {
image_map { <1 -1 0> tga "rgb.tga" /* x-y oriented bitmap image */
once
interpolate 2 /* Faster interpolation than 4 */
}
translate <-0.5 -0.5 0> /* Center image */
scale <512 64 2> /* Scale to fit */
ambient 1
diffuse 0.75
}
translate < -54 0 0 >
translate < -2 0 0 > /* Scroll translate */
scale < 0.30 0.25 0.0001 >
rotate < -20 0 0 >
rotate < 0 -90 0 >
rotate < 50 0 0 >
translate < 0 0 0 >
}
/*
object {
plane { <0.0 1.0 0.0> 140.0 }
texture {
color red 0 green 0.0 blue 1
ambient 0.2
diffuse 0.8
scale < 20.0 20.0 20000.0 >
translate <0 0 -10000>
}
}
*/
object {
sphere { <33 10 -33> 20 }
texture {
color red 0.0 green 0.0 blue 0.0
ambient 0.0
diffuse 0.0
specular 0
roughness 0.001
reflection 1.0
phong 0.0 phong_size 80
ior 1.5
}
}
object {
sphere { <22 10 22> 20 }
texture {
color red 0.0 green 0.0 blue 0.0
ambient 0.0
diffuse 0.0
specular 0
roughness 0.001
reflection 1.0
phong 0.0 phong_size 80
ior 1.5
}
}
/*-------------- SWAMP WATER ----------------------------*/
object {
intersection { Cube scale <10000 1 500> translate <0 0 0> }
texture {
color MidnightBlue
reflection 1
ambient 0.0
ripples 0.4 frequency 0.04
translate <0 0 0>
diffuse 0.0
phong 0.0 phong_size 80
}
rotate < 0 0 0 >
}

BIN
WATER/BKG.CLX Normal file

Binary file not shown.

BIN
WATER/BKG.OBJ Normal file

Binary file not shown.

BIN
WATER/BKR.INT Normal file

Binary file not shown.

BIN
WATER/BKR.LIB Normal file

Binary file not shown.

7
WATER/BKR.PAS Normal file
View file

@ -0,0 +1,7 @@
unit bkr;
{$L bkg.obj}
interface
procedure tausta;far;
implementation
procedure tausta;external;
end.

BIN
WATER/BKR.TPU Normal file

Binary file not shown.

BIN
WATER/BP.DSK Normal file

Binary file not shown.

BIN
WATER/BP.PSM Normal file

Binary file not shown.

BIN
WATER/BP.TP Normal file

Binary file not shown.

158
WATER/COLORS.INC Normal file
View file

@ -0,0 +1,158 @@
// Persistence of Vision Raytracer
// Colors.inc
//
// Many pre-defined colors for use in scene files.
// Also includes constants for Map Types and Interpolation Types
// for use with image_map, bump_map, and material_map
//
// These grays are useful for fine-tuning lighting color values
// and for other areas where subtle variations of grays are needed.
#declare Gray05 = color red 0.05 green 0.05 blue 0.05
#declare Gray10 = color red 0.10 green 0.10 blue 0.10
#declare Gray15 = color red 0.15 green 0.15 blue 0.15
#declare Gray20 = color red 0.20 green 0.20 blue 0.20
#declare Gray25 = color red 0.25 green 0.25 blue 0.25
#declare Gray30 = color red 0.30 green 0.30 blue 0.30
#declare Gray35 = color red 0.35 green 0.35 blue 0.35
#declare Gray40 = color red 0.40 green 0.40 blue 0.40
#declare Gray45 = color red 0.45 green 0.45 blue 0.45
#declare Gray50 = color red 0.50 green 0.50 blue 0.50
#declare Gray55 = color red 0.55 green 0.55 blue 0.55
#declare Gray60 = color red 0.60 green 0.60 blue 0.60
#declare Gray65 = color red 0.65 green 0.65 blue 0.65
#declare Gray70 = color red 0.70 green 0.70 blue 0.70
#declare Gray75 = color red 0.75 green 0.75 blue 0.75
#declare Gray80 = color red 0.80 green 0.80 blue 0.80
#declare Gray85 = color red 0.85 green 0.85 blue 0.85
#declare Gray90 = color red 0.90 green 0.90 blue 0.90
#declare Gray95 = color red 0.95 green 0.95 blue 0.95
#declare DimGray = colour red 0.329412 green 0.329412 blue 0.329412
#declare DimGrey = colour red 0.329412 green 0.329412 blue 0.329412
#declare Gray = colour red 0.752941 green 0.752941 blue 0.752941
#declare Grey = colour red 0.752941 green 0.752941 blue 0.752941
#declare LightGray = colour red 0.658824 green 0.658824 blue 0.658824
#declare LightGrey = colour red 0.658824 green 0.658824 blue 0.658824
#declare VLightGrey = color red 0.80 green 0.80 blue 0.80
#declare Clear = colour red 1.0 green 1.0 blue 1.0 alpha 1.0
#declare White = colour red 1.0 green 1.0 blue 1.0
#declare Red = colour red 1.0
#declare Green = colour green 1.0
#declare Blue = colour blue 1.0
#declare Yellow = colour red 1.0 green 1.0
#declare Cyan = colour blue 1.0 green 1.0
#declare Magenta = colour red 1.0 blue 1.0
#declare Black = colour red 0.0 green 0.0 blue 0.0
#declare Aquamarine = colour red 0.439216 green 0.858824 blue 0.576471
#declare BlueViolet = colour red 0.62352 green 0.372549 blue 0.623529
#declare Brown = colour red 0.647059 green 0.164706 blue 0.164706
#declare CadetBlue = colour red 0.372549 green 0.623529 blue 0.623529
#declare Coral = colour red 1.0 green 0.498039 blue 0.0
#declare CornflowerBlue = colour red 0.258824 green 0.258824 blue 0.435294
#declare DarkGreen = colour red 0.184314 green 0.309804 blue 0.184314
#declare DarkOliveGreen = colour red 0.309804 green 0.309804 blue 0.184314
#declare DarkOrchid = colour red 0.6 green 0.196078 blue 0.8
#declare DarkSlateBlue = colour red 0.419608 green 0.137255 blue 0.556863
#declare DarkSlateGray = colour red 0.184314 green 0.309804 blue 0.309804
#declare DarkSlateGrey = colour red 0.184314 green 0.309804 blue 0.309804
#declare DarkTurquoise = colour red 0.439216 green 0.576471 blue 0.858824
#declare Firebrick = colour red 0.556863 green 0.137255 blue 0.137255
#declare ForestGreen = colour red 0.137255 green 0.556863 blue 0.137255
#declare Gold = colour red 0.8 green 0.498039 blue 0.196078
#declare Goldenrod = colour red 0.858824 green 0.858824 blue 0.439216
#declare GreenYellow = colour red 0.576471 green 0.858824 blue 0.439216
#declare IndianRed = colour red 0.309804 green 0.184314 blue 0.184314
#declare Khaki = colour red 0.623529 green 0.623529 blue 0.372549
#declare LightBlue = colour red 0.74902 green 0.847059 blue 0.847059
#declare LightSteelBlue = colour red 0.560784 green 0.560784 blue 0.737255
#declare LimeGreen = colour red 0.196078 green 0.8 blue 0.196078
#declare Maroon = colour red 0.556863 green 0.137255 blue 0.419608
#declare MediumAquamarine = colour red 0.196078 green 0.8 blue 0.6
#declare MediumBlue = colour red 0.196078 green 0.196078 blue 0.8
#declare MediumForestGreen = colour red 0.419608 green 0.556863 blue 0.137255
#declare MediumGoldenrod = colour red 0.917647 green 0.917647 blue 0.678431
#declare MediumOrchid = colour red 0.576471 green 0.439216 blue 0.858824
#declare MediumSeaGreen = colour red 0.258824 green 0.435294 blue 0.258824
#declare MediumSlateBlue = colour red 0.498039 blue 1.0
#declare MediumSpringGreen = colour red 0.498039 green 1.0
#declare MediumTurquoise = colour red 0.439216 green 0.858824 blue 0.858824
#declare MediumVioletRed = colour red 0.858824 green 0.439216 blue 0.576471
#declare MidnightBlue = colour red 0.184314 green 0.184314 blue 0.309804
#declare Navy = colour red 0.137255 green 0.137255 blue 0.556863
#declare NavyBlue = colour red 0.137255 green 0.137255 blue 0.556863
#declare Orange = colour red 1 green 0.5 blue 0.0
#declare OrangeRed = colour red 1.0 blue 0.498039
#declare Orchid = colour red 0.858824 green 0.439216 blue 0.858824
#declare PaleGreen = colour red 0.560784 green 0.737255 blue 0.560784
#declare Pink = colour red 0.737255 green 0.560784 blue 0.560784
#declare Plum = colour red 0.917647 green 0.678431 blue 0.917647
#declare Salmon = colour red 0.435294 green 0.258824 blue 0.258824
#declare SeaGreen = colour red 0.137255 green 0.556863 blue 0.419608
#declare Sienna = colour red 0.556863 green 0.419608 blue 0.137255
#declare SkyBlue = colour red 0.196078 green 0.6 blue 0.8
#declare SlateBlue = colour green 0.498039 blue 1.0
#declare SpringGreen = colour green 1.0 blue 0.498039
#declare SteelBlue = colour red 0.137255 green 0.419608 blue 0.556863
#declare Tan = colour red 0.858824 green 0.576471 blue 0.439216
#declare Thistle = colour red 0.847059 green 0.74902 blue 0.847059
#declare Turquoise = colour red 0.678431 green 0.917647 blue 0.917647
#declare Violet = colour red 0.309804 green 0.184314 blue 0.309804
#declare VioletRed = colour red 0.8 green 0.196078 blue 0.6
#declare Wheat = colour red 0.847059 green 0.847059 blue 0.74902
#declare YellowGreen = colour red 0.6 green 0.8 blue 0.196078
#declare SummerSky = color red 0.22 green 0.69 blue 0.87
#declare RichBlue = color red 0.35 green 0.35 blue 0.67
#declare Brass = colour red 0.71 green 0.65 blue 0.26
#declare Copper = colour red 0.72 green 0.45 blue 0.20
#declare Bronze = colour red 0.55 green 0.47 blue 0.14
#declare Bronze2 = colour red 0.65 green 0.49 blue 0.24
#declare Silver = colour red 0.90 green 0.91 blue 0.98
#declare BrightGold = color red 0.85 green 0.85 blue 0.10
#declare OldGold = colour red 0.81 green 0.71 blue 0.23
#declare Feldspar = colour red 0.82 green 0.57 blue 0.46
#declare Quartz = color red 0.85 green 0.85 blue 0.95
#declare Mica = color Black // needed in textures.inc
#declare NeonPink = color red 1.00 green 0.43 blue 0.78
#declare DarkPurple = color red 0.53 green 0.12 blue 0.47
#declare NeonBlue = color red 0.30 green 0.30 blue 1.00
#declare CoolCopper = color red 0.85 green 0.53 blue 0.10
#declare MandarinOrange = color red 0.89 green 0.47 blue 0.20
#declare LightWood = color red 0.91 green 0.76 blue 0.65
#declare MediumWood = color red 0.65 green 0.50 blue 0.39
#declare DarkWood = color red 0.52 green 0.37 blue 0.26
#declare SpicyPink = color red 1.00 green 0.11 blue 0.68
#declare SemiSweetChoc = color red 0.42 green 0.26 blue 0.15
#declare BakersChoc = color red 0.36 green 0.20 blue 0.09
#declare Flesh = color red 0.96 green 0.80 blue 0.69
#declare NewTan = color red 0.92 green 0.78 blue 0.62
#declare NewMidnightBlue = color red 0.00 green 0.00 blue 0.61
#declare VeryDarkBrown = color red 0.35 green 0.16 blue 0.14
#declare DarkBrown = color red 0.36 green 0.25 blue 0.20
#declare DarkTan = color red 0.59 green 0.41 blue 0.31
#declare GreenCopper = color red 0.32 green 0.49 blue 0.46
#declare DkGreenCopper = color red 0.29 green 0.46 blue 0.43
#declare DustyRose = color red 0.52 green 0.39 blue 0.39
#declare HuntersGreen = color red 0.13 green 0.37 blue 0.31
#declare Scarlet = color red 0.55 green 0.09 blue 0.09
// Map types constants
// for use with image_map, bump_map, and material_map
//
// Format:
// map_type Sphere_Map or map_type Torus_Map
//
#declare Plane_Map = 0
#declare Sphere_Map = 1
#declare Cylinder_Map = 2
#declare Torus_Map = 5
// Interpolation constants
// Use in image_map and bump_map in form:
//
// interpolate Bi or interpolate Norm
//
#declare Bi = 2 // Bilinear interpolation is best
#declare Norm = 4 // Normalized distance is a bit faster

BIN
WATER/DATA.GIF Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
WATER/DATA.TGA Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

BIN
WATER/DATA.TIF Normal file

Binary file not shown.

150
WATER/DATGEN.PAS Normal file
View file

@ -0,0 +1,150 @@
uses crt;
type pbuf = ^buf;
buf = array[0..64000] of byte;
tb = record
c : byte;
pos : word;
end;
var r,r1,sc,
g,b : pbuf;
f : file;
x,y,c : word;
row : array[0..320*3-1] of byte;
tc : word;
tbuf : array[0..100] of word;
pal : array[0..768] of byte;
tmp : array[0..20000] of tb;
procedure setrgb(c,r,g,b:byte);
begin
port[$3c8] := c;
port[$3c9] := r;
port[$3c9] := g;
port[$3c9] := b;
end;
var ty,tt,ab : word;
procedure zeta(n1,n2,n3:string);
begin
assign(f,n1);
reset(f,1);
seek(f,8);
for y := 0 to 199 do
begin
blockread(f,row,320*3);
for x := 0 to 319 do r^[x+y*320] := row[x*3+0];
end;
close(f);
assign(f,n2);
reset(f,1);
seek(f,8);
for y := 0 to 199 do
begin
blockread(f,row,320*3);
for x := 0 to 319 do r1^[x+y*320] := row[x*3+0];
end;
close(f);
assign(f,n3);
rewrite(f,1);
{ move(r1^,mem[$a000:0],64000);}
for y := 34 downto 1 do
begin
tc := 0;
for x := 0 to 64000 do
if (sc^[x] <> 40) and
(r^[x] <> r1^[x]) and
(g^[x] = y) then
begin
tmp[tc].c := r^[x];
tmp[tc].pos := x;
sc^[x] := 40;
mem[$a000:x] := 10;
inc(tc);
end;
ab := tc-1;
for tt := 1 to 158 do
begin
tc := 0;
for ty := 0 to ab do
begin
if tmp[ty].c = tt then
begin
mem[$a000:tmp[ty].pos] := 40;
tbuf[tc] := tmp[ty].pos;
inc(tc);
end;
end;
blockwrite(f,tc,2);
if tc > 0 then blockwrite(f,tbuf,tc*2);
end;
end;
close(f);
end;
begin
getmem(r,64000);
getmem(r1,64000);
getmem(g,64000);
getmem(b,64000);
getmem(sc,64000);
fillchar(r^,64000,#0);
fillchar(r1^,64000,#0);
fillchar(g^,64000,#0);
fillchar(b^,64000,#0);
fillchar(sc^,64000,#0);
fillchar(tmp,sizeof(tmp),#0);
asm
mov ax,$13
int $10
end;
{ Load fixed green mask }
assign(f,'green.clx');
reset(f,1);
seek(f,778);
blockread(f,g^,64000);
close(f);
{
assign(f,'o:k1.mtv');
reset(f,1);
seek(f,8);
for y := 0 to 199 do
begin
blockread(f,row,320*3);
for x := 0 to 319 do mem[$a000:x+y*320] := row[x*3+1];
end;
close(f);
}
zeta('o:k1.mtv','o:k2.mtv','o:wat1.dat');
zeta('o:k2.mtv','o:k3.mtv','O:wat2.dat');
zeta('o:k3.mtv','o:k5.mtv','O:wat3.dat');
{ zeta('o:k4.mtv','o:k5.mtv','O:wat4.dat');}
repeat until keypressed;
asm
mov ax,$3
int $10
end;
freemem(r,64000);
freemem(r1,64000);
freemem(g,64000);
freemem(b,64000);
freemem(sc,64000);
end.

190
WATER/DEMO.PAS Normal file
View file

@ -0,0 +1,190 @@
uses crt,t1,t2,t3,bkr,miek;
procedure setrgb(c,r,g,b:byte);
begin
port[$3c8] := c;
port[$3c9] := r;
port[$3c9] := g;
port[$3c9] := b;
end;
var frames : word;
procedure waitr;
begin
asm
mov bx,1
int 0fch
mov frames,ax
end;
end;
function dis_exit:boolean;
var a : byte;
begin
asm
mov bx,2
int 0fch
mov a,al
end;
if a = 0 then dis_exit := false else dis_exit := true;
end;
var f : file;
inx : word;
y,x,t : word;
tmppal,pal : array[0..768] of byte;
font : array[0..400*35] of byte;
fbuf : array[0..158*34] of byte;
scp,sss:word;
{$L routines.obj}
{ dx = Bground seg,
ax = pos seg,
si = pos ofs,
cx = font seg,
bx = font ofs }
procedure putrouts1;far;external;
procedure scr(pos:byte);
begin
case pos of
0:asm
mov dx,seg tausta
mov ax,seg wat1
mov si,offset wat1
mov cx,seg font
mov bx,offset fbuf
call putrouts1
end;
1:asm
mov dx,seg tausta
mov ax,seg wat2
mov si,offset wat2
mov cx,seg font
mov bx,offset fbuf
call putrouts1
end;
2:asm
mov dx,seg tausta
mov ax,seg wat3
mov si,offset wat3
mov cx,seg font
mov bx,offset fbuf
call putrouts1
end;
end;
end;
var frame : word;
co : word;
fadeout : boolean;
quit : word;
fp : word;
pf : word;
begin
asm
mov ax,$13
int $10
xor bx,bx
int 0fch
@a: mov ax,0
mov bx,6
int 0fch
cmp dx,0
jl @a
mov co,cx
end;
fillchar(fbuf,sizeof(fbuf),#0);
move(mem[seg(_miekka):ofs(_miekka)+10],pal,768);
move(mem[seg(_miekka):ofs(_miekka)+778],font,400*34);
for x := 0 to 255 do setrgb(x,0,0,0);
move(mem[seg(tausta):ofs(tausta)+778],mem[seg(tausta):ofs(tausta)],64000);
move(mem[seg(tausta):ofs(tausta)],mem[$a000:0],64000);
move(pal,tmppal,768);
fillchar(pal,768,#0);
for y := 0 to 63*2 do
begin
waitr;
if y and 1 = 1 then
begin
for x := 0 to 255 do
begin
setrgb(x,pal[x*3+0],pal[x*3+1],pal[x*3+2]);
for pf := 0 to 3 do if pal[x*3+pf] < tmppal[x*3+pf] then inc(pal[x*3+pf]);
end;
end;
scr(sss);
if sss = 2 then sss := 0 else inc(sss);
end;
asm
@a: mov ax,0
mov bx,6
int 0fch
cmp cx,CO
je @a
cmp bx,16
jl @a
end;
{######################################################################}
sss := 0;
scp := 0;
frame := 0;
quit := 0;
fadeout := false;
fillchar(tmppal,768,#0);
repeat
waitr;
asm
mov ax,0
mov bx,6
int 0fch
cmp dx,-11
jnz @a
mov fadeout,1
@a: end;
if fadeout then
begin
if fp = 64 then quit := 1 else inc(fp);
for x := 0 to 255 do
begin
setrgb(x,pal[x*3+0],pal[x*3+1],pal[x*3+2]);
for pf := 0 to 3 do if pal[x*3+pf] > tmppal[x*3+pf] then dec(pal[x*3+pf]);
end;
end;
scr(sss);
if sss = 2 then
begin
sss := 0;
move(fbuf[1],fbuf,sizeof(fbuf));
for x := 0 to 33 do fbuf[158+x*158] := font[x*400+scp];
if scp < 390 then inc(scp);
end else inc(sss);
until dis_exit or (quit = 1);
end.

BIN
WATER/DP_PREFS Normal file

Binary file not shown.

BIN
WATER/FINAL.LBM Normal file

Binary file not shown.

BIN
WATER/FINAL2.LBM Normal file

Binary file not shown.

76
WATER/FISH13.POV Normal file
View file

@ -0,0 +1,76 @@
#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
camera {
location <0 0 -155>
look_at <15 0 0>
}
fog {
colour red 0.0 green 0.0 blue 0.2
200.0
}
//object { light_source { <200 100 -100> color White } }
object { light_source { <-200 200 -1500> color White } }
object {
box { UnitBox scale <256 32 4>}
texture { color Green }
texture {
image_map { <1 -1 0> tga "rgb.tga" /* x-y oriented bitmap image */
once
interpolate 2 /* Faster interpolation than 4 */
}
translate <-0.5 -0.5 0> /* Center image */
scale <512 64 2> /* Scale to fit */
ambient 1
diffuse 0.75
}
scale < 0.7 0.7 0.0001 >
rotate < -40 -80 0 >
rotate < 19 0 0 >
translate < 0 0 -70 >
}
object {
sphere { <110.0 40.0 -90.0> 80.0 }
texture {
color Blue
ambient 0.3
diffuse 0.8
specular 0.2
roughness 0.001
reflection 1.0
ior 1.5
}
}
/*-------------- SWAMP WATER ----------------------------*/
object {
intersection { Cube scale <10000 1 500> translate <0 -25 0> }
texture {
color red 0.0 green 0.0 blue 0.4
reflection 0.8
ambient 0.5
ripples 0.5 frequency 0.02
translate <0 0 0>
diffuse 1 phong 1.0 phong_size 80
}
}

BIN
WATER/FONA.LBM Normal file

Binary file not shown.

23
WATER/FOV.INC Normal file
View file

@ -0,0 +1,23 @@
// Persistence of Vision Raytracer
//
// Direction Vectors for various Field of View angles.
// Use in camera in form :
//
// direction <0 0 FoV_45>
//
// The formula used to calculate these is: FoV = 0.5 / tan(angle/2)
// You will also need to adjust the location vector if you change FoV and
// want to keep the same visual distance from your scene.
#declare FoV_15 = 7.595981
#declare FoV_30 = 3.732166
#declare FoV_45 = 2.414293
#declare FoV_60 = 1.732113
#declare FoV_75 = 1.303277
#declare FoV_90 = 1.000046
#declare FoV_105 = 0.767370
#declare FoV_120 = 0.577391
#declare FoV_135 = 0.414254
#declare FoV_150 = 0.267991
#declare FoV_165 = 0.131696

BIN
WATER/GREEN.CLX Normal file

Binary file not shown.

11
WATER/IOR.INC Normal file
View file

@ -0,0 +1,11 @@
// Persistence of Vision Raytracer
//
// This file defines a few Index of Refractions for various materials
// for sodium light. Source: College Physics by Arthur L. Kimball, PhD.
// 4th Edition (1923)(!)
// ---------------------------
#declare Flint_Glass_Ior = 1.71
#declare Crown_Glass_Ior = 1.51
#declare Diamond_Ior = 2.47
#declare Water_Ior = 1.33
#declare Air_Ior = 1.000292

106
WATER/KK.POV Normal file
View file

@ -0,0 +1,106 @@
#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
camera {
location <10 50 -50>
look_at <0 0 0>
}
fog {
colour red 0.0 green 0.0 blue 0.0
250.0
}
object { light_source { <-10 60 30> color White } }
/*
object {
box { UnitBox scale <256 32 4>}
texture { color Green }
texture {
image_map { <1 -1 0> tga "rgb.tga" /* x-y oriented bitmap image */
once
interpolate 2 /* Faster interpolation than 4 */
}
translate <-0.5 -0.5 0> /* Center image */
scale <512 64 2> /* Scale to fit */
ambient 1
diffuse 0.75
}
scale < 0.3 0.3 0.0001 >
translate < 0 0 0 >
rotate < -10 0 0 >
rotate < 0 -90 0 >
rotate < 50 0 0 >
translate < 0 0 0 >
}
*/
object {
plane { <0.0 1.0 0.0> 140.0 }
texture {
color red 0 green 0.0 blue 1
ambient 0.2
diffuse 0.8
scale < 20.0 20.0 20000.0 >
translate <0 0 -10000>
}
}
object {
// sphere { <65.0 40.0 -190.0> 60.0 }
sphere { <33 10 -33> 20 }
texture {
color red 0.0 green 0.0 blue 0.5
ambient 0.0
diffuse 0.3
specular 0
roughness 0.001
reflection 1.0
phong 1.0 phong_size 80
ior 1.5
}
}
object {
sphere { <22 10 22> 20 }
texture {
color red 0.0 green 0.0 blue 0.5
ambient 0.0
diffuse 0.3
specular 0
roughness 0.001
reflection 1.0
phong 1.0 phong_size 80
ior 1.5
}
}
/*-------------- SWAMP WATER ----------------------------*/
object {
intersection { Cube scale <10000 1 500> translate <0 0 0> }
texture {
color MidnightBlue
reflection 0.6
ambient 0.0
ripples 0.4 frequency 0.04
translate <0 0 0>
diffuse 0.6 phong 1.0 phong_size 80
}
rotate < 0 0 0 >
}

BIN
WATER/KOE.LBM Normal file

Binary file not shown.

66
WATER/KOE.PAS Normal file
View file

@ -0,0 +1,66 @@
uses crt;
type pbuf = ^buf;
buf = array[0..64000] of byte;
var r,g,b : pbuf;
x,y : word;
f : file;
pal : array[0..768] of byte;
row : array[0..320*3-1] of byte;
procedure setrgb(c,r,g,b:byte);
begin
port[$3c8] := c;
port[$3c9] := r;
port[$3c9] := g;
port[$3c9] := b;
end;
procedure waitk;
var ch : char;
begin
ch := readkey;
if ch = #0 then ch := readkey;
end;
begin
asm
mov ax,$13
int $10
end;
getmem(r,64000);
getmem(g,64000);
getmem(b,64000);
assign(f,'bkg.clx');
reset(f,1);
seek(f,10);
blockread(f,pal,768);
for x := 0 to 255 do setrgb(x,pal[x*3+0],pal[x*3+1],pal[x*3+2]);
blockread(f,mem[$a000:0],64000);
close(f);
assign(f,'o:k1.mtv');
reset(f,1);
seek(f,8);
for y := 0 to 199 do
begin
blockread(f,row,320*3);
for x := 0 to 319 do r^[x+y*320] := row[x*3+0];
for x := 0 to 319 do g^[x+y*320] := row[x*3+1];
for x := 0 to 319 do b^[x+y*320] := row[x*3+2];
end;
close(f);
{ move(g^,mem[$a000:0],64000);}
for y := 250 downto 1 do
for x := 0 to 64000 do if (r^[x] = y) and (g^[x] and 1 = 1) then mem[$a000:x] := 255;
waitk;
freemem(r,64000);
freemem(g,64000);
freemem(b,64000);
end.

96
WATER/LIZARD.INC Normal file
View file

@ -0,0 +1,96 @@
// Persistence of Vision Raytracer Version 1.0
#include "colors.inc"
/*-----------DECLARE SKINS FOR CTDS DATA --------------------------------*/
#declare skin = texture {
gradient
<1 0 0>
colour_map {
[0.000 0.051 colour red 0.000 green 0.000 blue 0.000 alpha 0.000
colour red 1.000 green 0.698 blue 0.000 alpha 0.000]
[0.051 0.094 colour red 1.000 green 0.698 blue 0.000 alpha 0.000
colour red 0.000 green 0.000 blue 0.000 alpha 0.000]
[0.094 0.145 colour red 0.000 green 0.000 blue 0.000 alpha 0.000
colour red 0.153 green 0.090 blue 0.169 alpha 0.000]
[0.145 0.265 colour red 0.153 green 0.090 blue 0.169 alpha 0.000
colour red 0.475 green 0.278 blue 0.522 alpha 0.000]
[0.265 0.906 colour red 0.475 green 0.278 blue 0.522 alpha 0.000
colour red 0.475 green 0.224 blue 0.227 alpha 0.000]
[0.906 1.001 colour red 0.475 green 0.224 blue 0.227 alpha 0.000
colour red 0.000 green 0.000 blue 0.000 alpha 0.000]
}
0.1
ambient 0.3 phong 1.0
rotate <0 0 0>
scale <0.2 1 0.2>
}
#declare shead = texture {
gradient
<1 0 0>
colour_map {
[0.000 0.179 colour red 0.000 green 0.000 blue 0.000 alpha 0.000
colour red 0.286 green 0.133 blue 0.137 alpha 0.000]
[0.179 0.308 colour red 0.286 green 0.133 blue 0.137 alpha 0.000
colour red 0.000 green 0.000 blue 0.000 alpha 0.000]
[0.308 0.368 colour red 0.000 green 0.000 blue 0.000 alpha 0.000
colour red 0.153 green 0.090 blue 0.169 alpha 0.000]
[0.368 0.479 colour red 0.153 green 0.090 blue 0.169 alpha 0.000
colour red 0.353 green 0.212 blue 0.388 alpha 0.000]
[0.479 0.906 colour red 0.353 green 0.212 blue 0.388 alpha 0.000
colour red 0.475 green 0.224 blue 0.227 alpha 0.000]
[0.906 1.001 colour red 0.475 green 0.224 blue 0.227 alpha 0.000
colour red 0.000 green 0.000 blue 0.000 alpha 0.000]
}
ambient 0.3 phong 1.0
0.1
rotate <0 0 0>
scale <26 15 5> translate <9 0 0>
}
#declare bones = texture {
colour red 0.475 green 0.224 blue 0.227
}
#declare Dot =
quadric {
< 1.0 1.0 1.0>
< 0.0 0.0 0.0>
< 0.0 0.0 0.0>
-1.0
}
/* ***** cylindrical connector ***** */
#declare Connector_1 =
object {
quadric {
< 0.0 1.0 1.0>
< 0.0 0.0 0.0>
< 0.0 0.0 0.0>
-1.0
}
clipped_by {
plane { < 1.0 0.0 0.0> 1.0 }
plane { <-1.0 0.0 0.0> 0.0 }
}
}
/* ***** conical connector ***** */
#declare Connector_2 =
quadric {
< 1.0 -1.0 1.0>
< 0.0 0.0 0.0>
< 0.0 0.0 0.0>
0.0
rotate < 0.0 0.0 90.0>
}

BIN
WATER/LOGO.LBM Normal file

Binary file not shown.

6
WATER/MAKEOB.BAT Normal file
View file

@ -0,0 +1,6 @@
rem binobj bkg.clx bkg tausta
binobj miekka.sci miekka _miekka
binobj wat1.dat wat1 wat1
binobj wat2.dat wat2 wat2
binobj wat3.dat wat3 wat3


586
WATER/MARBLE.INC Normal file
View file

@ -0,0 +1,586 @@
// Persistence of Vision Raytracer Version 1.0
/*------- DECLARE TEXTURES FOR MULTI LAYERED MARBLES -----------*/
/*---------------LIGHT CREAM MOSS / GOOD FOR 1st LAYER TONE----------------*/
#declare marble1 = texture {
marble
colour_map {
[0.000 0.154 colour red 0.690 green 0.612 blue 0.569 alpha 0.000
colour red 0.737 green 0.596 blue 0.522 alpha 0.000]
[0.154 0.368 colour red 0.737 green 0.596 blue 0.522 alpha 0.000
colour red 0.776 green 0.702 blue 0.624 alpha 0.000]
[0.368 0.538 colour red 0.776 green 0.702 blue 0.624 alpha 0.000
colour red 0.796 green 0.678 blue 0.643 alpha 0.000]
[0.538 0.846 colour red 0.796 green 0.678 blue 0.643 alpha 0.000
colour red 0.690 green 0.612 blue 0.569 alpha 0.000]
[0.846 0.932 colour red 0.690 green 0.612 blue 0.569 alpha 0.000
colour red 0.773 green 0.612 blue 0.569 alpha 0.000]
[0.932 1.001 colour red 0.773 green 0.612 blue 0.569 alpha 0.000
colour red 0.690 green 0.612 blue 0.569 alpha 0.000]
} /* end_colour_map */
turbulence 0.4
0.1
}/* end_texture */
/*-------------------DEEP THAN MARBLE1 With ALPHA For SECOND LAYERS--------*/
#declare marble2 = texture {
marble
colour_map {
[0.000 0.291 colour red 0.690 green 0.612 blue 0.569 alpha 1.00
colour red 0.737 green 0.596 blue 0.522 alpha 0.500]
[0.291 0.316 colour red 0.737 green 0.596 blue 0.522 alpha 0.500
colour red 0.667 green 0.561 blue 0.514 alpha 0.300]
[0.316 0.436 colour red 0.667 green 0.561 blue 0.514 alpha 0.300
colour red 0.788 green 0.667 blue 0.631 alpha 0.500]
[0.436 0.641 colour red 0.788 green 0.667 blue 0.631 alpha 0.500
colour red 0.604 green 0.506 blue 0.455 alpha 0.700]
[0.641 0.692 colour red 0.604 green 0.506 blue 0.455 alpha 0.700
colour red 0.773 green 0.612 blue 0.569 alpha 0.400]
[0.692 1.001 colour red 0.773 green 0.612 blue 0.569 alpha 0.400
colour red 0.690 green 0.612 blue 0.569 alpha 1.000]
} /* end_colour_map */
turbulence 0.5
0.03
}/* end_texture */
/*-------------------LIGHTER THAN MARBLE2 With ALPHA For SECOND LAYERS--------*/
#declare marble_light = texture {
marble
colour_map {
[0.000 0.291 colour red 0.690 green 0.612 blue 0.569 alpha 0.6
colour red 0.737 green 0.596 blue 0.522 alpha 0.900]
[0.291 0.316 colour red 0.737 green 0.596 blue 0.522 alpha 0.900
colour red 0.667 green 0.561 blue 0.514 alpha 0.700]
[0.316 0.436 colour red 0.667 green 0.561 blue 0.514 alpha 0.700
colour red 0.788 green 0.667 blue 0.631 alpha 0.600]
[0.436 0.641 colour red 0.788 green 0.667 blue 0.631 alpha 0.600
colour red 0.604 green 0.506 blue 0.455 alpha 0.700]
[0.641 0.692 colour red 0.604 green 0.506 blue 0.455 alpha 0.700
colour red 0.773 green 0.612 blue 0.569 alpha 0.100]
[0.692 1.001 colour red 0.773 green 0.612 blue 0.569 alpha 0.100
colour red 0.690 green 0.612 blue 0.569 alpha 1.000]
} /* end_colour_map */
turbulence 0.5
}/* end_texture */
/*--------------------Crack & OverTint /Green---------------------*/
#declare marble3 = texture {
marble
color_map {
[0.0 0.05 color Black alpha 0.6 color Black alpha 1.0]
[0.05 0.90 color DimGray alpha 0.85 color DimGray alpha 0.90]
[0.90 1.001 color Black alpha 0.9 color Black alpha 1.0]
} /* end_color_map */
diffuse 0.3
ambient 0.2
turbulence 0.7
}/* end_texture */
/*--------------------Crack & OverTint /Red---------------------*/
#declare marble4 = texture {
marble
color_map {
[0.0 0.05 color Black alpha 0.6 color Black alpha 1.0]
[0.05 0.90 color Red alpha 0.95 color Red alpha 0.95]
[0.90 1.001 color Black alpha 0.7 color Black alpha 1.0]
} /* end_color_map */
turbulence 0.7
0.03
}/* end_texture */
#declare pink = color red 1.0 green 0.5 blue 0.5
/*--------------------Crack & OverTint /LIGHT Red---------------------*/
#declare marble7 = texture {
marble
color_map {
[0.0 0.05 color Black alpha 0.6 color Black alpha 1.0]
[0.05 0.90 color pink alpha 0.90 color Red alpha 0.90]
[0.90 1.001 color Black alpha 0.7 color Black alpha 1.0]
} /* end_color_map */
turbulence 0.7
}/* end_texture */
/*-----------Mostly Blacks W/thin Shades of D.Chroma----------------------*/
#declare marble5 = texture {
marble
colour_map {
[0.000 0.104 colour red 0.161 green 0.133 blue 0.118 alpha 0.000
colour red 0.110 green 0.082 blue 0.071 alpha 0.000]
[0.104 0.252 colour red 0.110 green 0.082 blue 0.071 alpha 0.000
colour red 0.161 green 0.133 blue 0.118 alpha 0.000]
[0.252 0.383 colour red 0.161 green 0.133 blue 0.118 alpha 0.000
colour red 0.000 green 0.000 blue 0.000 alpha 0.000]
[0.383 0.643 colour red 0.000 green 0.000 blue 0.000 alpha 0.000
colour red 0.161 green 0.133 blue 0.118 alpha 0.000]
[0.643 0.783 colour red 0.161 green 0.133 blue 0.118 alpha 0.000
colour red 0.220 green 0.149 blue 0.137 alpha 0.000]
[0.783 0.922 colour red 0.220 green 0.149 blue 0.137 alpha 0.000
colour red 0.000 green 0.000 blue 0.000 alpha 0.000]
[0.922 0.983 colour red 0.000 green 0.000 blue 0.000 alpha 0.000
colour red 0.220 green 0.149 blue 0.137 alpha 0.000]
[0.983 1.001 colour red 0.220 green 0.149 blue 0.137 alpha 0.000
colour red 0.161 green 0.133 blue 0.118 alpha 0.000]
} /* end_colour_map */
turbulence 5.0
}/* end_texture */
/*-----------MOSTLY BLACY W/ALPHA For SECOND LAYERS-----------------------*/
#declare marble6 = texture {
marble
colour_map {
[0.000 0.035 colour red 0.161 green 0.133 blue 0.118 alpha 0.000
colour red 0.110 green 0.082 blue 0.071 alpha 0.800]
[0.035 0.104 colour red 0.110 green 0.082 blue 0.071 alpha 0.800
colour red 0.161 green 0.133 blue 0.118 alpha 0.300]
[0.104 0.357 colour red 0.161 green 0.133 blue 0.118 alpha 0.300
colour red 0.000 green 0.000 blue 0.000 alpha 0.700]
[0.357 0.478 colour red 0.000 green 0.000 blue 0.000 alpha 0.700
colour red 0.161 green 0.133 blue 0.118 alpha 0.500]
[0.478 0.539 colour red 0.161 green 0.133 blue 0.118 alpha 0.500
colour red 0.220 green 0.149 blue 0.137 alpha 0.000]
[0.539 0.783 colour red 0.220 green 0.149 blue 0.137 alpha 0.000
colour red 0.000 green 0.000 blue 0.000 alpha 0.000]
[0.783 0.983 colour red 0.000 green 0.000 blue 0.000 alpha 0.000
colour red 0.220 green 0.149 blue 0.137 alpha 0.000]
[0.983 1.001 colour red 0.220 green 0.149 blue 0.137 alpha 0.000
colour red 0.161 green 0.133 blue 0.118 alpha 0.000]
} /* end_colour_map */
turbulence 0.4
}/* end_texture */
/*--------------THIN WHITE VIENS------------------------------------------*/
#declare marble7 = texture {
marble
colour_map {
[0.000 0.078 colour red 0.769 green 0.722 blue 0.690 alpha 0.180
colour red 0.745 green 0.690 blue 0.655 alpha 1.000]
[0.078 0.374 colour red 0.745 green 0.690 blue 0.655 alpha 1.000
colour red 0.839 green 0.804 blue 0.780 alpha 1.000]
[0.374 0.461 colour red 0.839 green 0.804 blue 0.780 alpha 1.000
colour red 0.839 green 0.804 blue 0.780 alpha 0.263]
[0.461 0.574 colour red 0.839 green 0.804 blue 0.780 alpha 0.263
colour red 0.729 green 0.671 blue 0.631 alpha 0.929]
[0.574 0.643 colour red 0.729 green 0.671 blue 0.631 alpha 0.929
colour red 0.839 green 0.804 blue 0.780 alpha 1.000]
[0.643 0.783 colour red 0.839 green 0.804 blue 0.780 alpha 1.000
colour red 0.839 green 0.804 blue 0.780 alpha 0.976]
[0.783 0.948 colour red 0.839 green 0.804 blue 0.780 alpha 0.976
colour red 0.839 green 0.804 blue 0.780 alpha 0.278]
[0.948 1.001 colour red 0.839 green 0.804 blue 0.780 alpha 0.278
colour red 0.769 green 0.722 blue 0.690 alpha 0.180]
} /* end_colour_map */
turbulence 0.6
}/* end_texture */
/*---------------CREAM MARBLE W/Gray Viens----------------------------*/
#declare marble12 = texture {
marble1
marble2
marble4 scale <2 2 2>
diffuse 0.8
}/* end_texture */
/*----------------DARKER CREAM MARBLE W/Gray Viens-------------------*/
#declare marble13 = texture {
marble1
marble2
marble4 scale <2 2 2>
diffuse 0.6
}/* end_texture */
/*--------------EVEN DARKER CREAM MARBLE W/Gray Viens----------------*/
#declare marble14 = texture {
marble1
marble2
marble4 scale <2 2 2>
diffuse 0.4
}/* end_texture */
/*---------------BLACK MARBLE W/White Viens----------------------------*/
#declare marble17 = texture {
marble5
marble6
marble7 scale <2 2 2>
diffuse 0.5
}/* end_texture */
#declare marble51 = texture {
marble1 scale <10 6 4>
marble2 scale <7 6 4> rotate <0 0 40>
marble4 scale <3 6 4> rotate <0 0 -40>
}/* end_texture */
#declare snk1 = texture {
marble
colour_map {
[0.000 0.303 colour red 0.000 green 0.239 blue 0.000 alpha 0.000
colour red 0.333 green 0.294 blue 0.000 alpha 0.000]
[0.303 0.588 colour red 0.333 green 0.294 blue 0.000 alpha 0.000
colour red 0.000 green 0.239 blue 0.341 alpha 0.000]
[0.588 0.790 colour red 0.000 green 0.239 blue 0.341 alpha 0.000
colour red 0.000 green 0.020 blue 0.000 alpha 0.000]
[0.790 1.001 colour red 0.000 green 0.020 blue 0.000 alpha 0.000
colour red 0.000 green 0.239 blue 0.000 alpha 0.000]
} /* end_colour_map */
ripples 1.0 frequency 100
turbulence 0.3
}/* end_texture */
#declare snk2 = texture {
marble
colour_map {
[0.000 0.303 colour red 0.000 green 0.239 blue 0.000 alpha 0.7
colour red 0.333 green 0.294 blue 0.000 alpha 0.7]
[0.303 0.588 colour red 0.333 green 0.294 blue 0.000 alpha 0.7
colour red 0.000 green 0.239 blue 0.341 alpha 0.7]
[0.588 0.790 colour red 0.000 green 0.239 blue 0.341 alpha 0.7
colour red 0.000 green 0.020 blue 0.000 alpha 0.7]
[0.790 1.001 colour red 0.000 green 0.020 blue 0.000 alpha 0.7
colour red 0.000 green 0.239 blue 0.000 alpha 0.7]
} /* end_colour_map */
turbulence 0.2
0.3
ripples 0.75 frequency 50
scale <1 10 1>
}/* end_texture */
#declare snake_skin = texture {
snk1 scale <2 5 2> ambient 0.6 phong 1.0 diffuse 1.0
/*SNK2 SCALE <20 30 5> ROTATE <0 0 90> AMBIENT 0.7 DIFFUSE 0.8 PHONG 1.0 */
}/* end_texture */
/*------------Very Light White & Pinks-------------------------------*/
#declare m1 = texture {
marble
turbulence 0.3
0.05
colour_map {
[0.000 0.316 colour red 0.910 green 0.788 blue 0.788 alpha 0.000
colour red 1.000 green 1.000 blue 1.000 alpha 0.000]
[0.316 0.453 colour red 1.000 green 1.000 blue 1.000 alpha 0.000
colour red 0.965 green 1.000 blue 0.918 alpha 0.000]
[0.453 0.624 colour red 0.965 green 1.000 blue 0.918 alpha 0.000
colour red 0.784 green 0.788 blue 0.788 alpha 0.000]
[0.624 0.726 colour red 0.784 green 0.788 blue 0.788 alpha 0.000
colour red 0.965 green 1.000 blue 0.918 alpha 0.000]
[0.726 0.863 colour red 0.965 green 1.000 blue 0.918 alpha 0.000
colour red 0.784 green 0.788 blue 0.788 alpha 0.000]
[0.863 1.001 colour red 0.784 green 0.788 blue 0.788 alpha 0.000
colour red 0.910 green 0.788 blue 0.788 alpha 0.000]
} /* end_colour_map */
}/* end_texture */
/*---------------Slighty Darker & Grayer Than M1-------------------------*/
#declare m2 = texture {
marble
turbulence 0.3
0.05
colour_map {
[0.000 0.316 colour red 0.910 green 0.788 blue 0.788 alpha 0.000
colour red 0.922 green 0.914 blue 0.871 alpha 0.000]
[0.316 0.453 colour red 0.922 green 0.914 blue 0.871 alpha 0.000
colour red 0.894 green 0.867 blue 0.780 alpha 0.000]
[0.453 0.624 colour red 0.894 green 0.867 blue 0.780 alpha 0.000
colour red 0.784 green 0.788 blue 0.788 alpha 0.000]
[0.624 0.726 colour red 0.784 green 0.788 blue 0.788 alpha 0.000
colour red 0.851 green 0.812 blue 0.741 alpha 0.000]
[0.726 0.863 colour red 0.851 green 0.812 blue 0.741 alpha 0.000
colour red 0.647 green 0.655 blue 0.655 alpha 0.000]
[0.863 1.001 colour red 0.647 green 0.655 blue 0.655 alpha 0.000
colour red 0.910 green 0.788 blue 0.788 alpha 0.000]
} /* end_colour_map */
}/* end_texture */
#declare m3 = texture {
marble
turbulence 0.3
0.05
colour_map {
[0.000 0.034 colour red 0.027 green 0.012 blue 0.012 alpha 0.000
colour red 0.851 green 0.812 blue 0.741 alpha 0.235]
[0.034 0.342 colour red 0.851 green 0.812 blue 0.741 alpha 0.235
colour red 0.792 green 0.694 blue 0.690 alpha 0.839]
[0.342 0.462 colour red 0.792 green 0.694 blue 0.690 alpha 0.839
colour red 0.631 green 0.506 blue 0.471 alpha 0.608]
[0.462 0.632 colour red 0.631 green 0.506 blue 0.471 alpha 0.608
colour red 0.851 green 0.812 blue 0.741 alpha 0.922]
[0.632 0.983 colour red 0.851 green 0.812 blue 0.741 alpha 0.922
colour red 0.647 green 0.655 blue 0.655 alpha 0.282]
[0.983 1.001 colour red 0.647 green 0.655 blue 0.655 alpha 0.282
colour red 0.027 green 0.012 blue 0.012 alpha 0.000]
} /* end_colour_map */
}/* end_texture */
#declare m4 = texture {
marble
turbulence 0.4
0.05
colour_map {
[0.000 0.128 colour red 0.820 green 0.580 blue 0.580 alpha 0.000
colour red 0.851 green 0.812 blue 0.741 alpha 0.235]
[0.128 0.282 colour red 0.851 green 0.812 blue 0.741 alpha 0.235
colour red 0.792 green 0.694 blue 0.690 alpha 0.282]
[0.282 0.393 colour red 0.792 green 0.694 blue 0.690 alpha 0.282
colour red 0.647 green 0.655 blue 0.655 alpha 0.133]
[0.393 0.590 colour red 0.647 green 0.655 blue 0.655 alpha 0.133
colour red 0.851 green 0.812 blue 0.741 alpha 0.333]
[0.590 0.983 colour red 0.851 green 0.812 blue 0.741 alpha 0.333
colour red 0.647 green 0.655 blue 0.655 alpha 0.282]
[0.983 1.001 colour red 0.647 green 0.655 blue 0.655 alpha 0.282
colour red 0.820 green 0.580 blue 0.580 alpha 0.000]
} /* end_colour_map */
}/* end_texture */
/*--------------------Crack & OverTint /Green---------------------*/
#declare m5 = texture {
marble
color_map {
[0.0 0.05 color Black alpha 0.6 color Black alpha 1.0]
[0.05 0.90 color DimGray alpha 1.0 color DimGray alpha 1.0]
[0.90 1.001 color Black alpha 0.6 color Black alpha 1.0]
} /* end_color_map */
turbulence 0.7
}/* end_texture */
/*****************************************************************
******************************************************************/
/*---------------LIGHT CREAM MOSS / GOOD FOR 1st LAYER TONE----------------*/
#declare m6 = texture {
marble
colour_map {
[0.000 0.154 colour red 0.690 green 0.612 blue 0.569 alpha 0.000
colour red 0.737 green 0.596 blue 0.522 alpha 0.000]
[0.154 0.368 colour red 0.737 green 0.596 blue 0.522 alpha 0.000
colour red 0.776 green 0.702 blue 0.624 alpha 0.000]
[0.368 0.538 colour red 0.776 green 0.702 blue 0.624 alpha 0.000
colour red 0.796 green 0.678 blue 0.643 alpha 0.000]
[0.538 0.846 colour red 0.796 green 0.678 blue 0.643 alpha 0.000
colour red 0.690 green 0.612 blue 0.569 alpha 0.000]
[0.846 0.932 colour red 0.690 green 0.612 blue 0.569 alpha 0.000
colour red 0.773 green 0.612 blue 0.569 alpha 0.000]
[0.932 1.001 colour red 0.773 green 0.612 blue 0.569 alpha 0.000
colour red 0.690 green 0.612 blue 0.569 alpha 0.000]
} /* end_colour_map */
turbulence 0.5
0.05
}/* end_texture */
/*-------------------DEEP THAN MARBLE1 With ALPHA For SECOND LAYERS--------*/
#declare m7 = texture {
marble
colour_map {
[0.000 0.291 colour red 0.690 green 0.612 blue 0.569 alpha 1.00
colour red 0.737 green 0.596 blue 0.522 alpha 0.500]
[0.291 0.316 colour red 0.737 green 0.596 blue 0.522 alpha 0.500
colour red 0.667 green 0.561 blue 0.514 alpha 0.300]
[0.316 0.436 colour red 0.667 green 0.561 blue 0.514 alpha 0.300
colour red 0.788 green 0.667 blue 0.631 alpha 0.500]
[0.436 0.641 colour red 0.788 green 0.667 blue 0.631 alpha 0.500
colour red 0.604 green 0.506 blue 0.455 alpha 0.700]
[0.641 0.692 colour red 0.604 green 0.506 blue 0.455 alpha 0.700
colour red 0.773 green 0.612 blue 0.569 alpha 0.400]
[0.692 1.001 colour red 0.773 green 0.612 blue 0.569 alpha 0.400
colour red 0.690 green 0.612 blue 0.569 alpha 1.000]
} /* end_colour_map */
turbulence 0.5
}/* end_texture */
/*-------------------LIGHTER THAN MARBLE2 With ALPHA For SECOND LAYERS--------*/
#declare m8 = texture {
marble
colour_map {
[0.000 0.291 colour red 0.690 green 0.612 blue 0.569 alpha 0.6
colour red 0.737 green 0.596 blue 0.522 alpha 0.900]
[0.291 0.316 colour red 0.737 green 0.596 blue 0.522 alpha 0.900
colour red 0.667 green 0.561 blue 0.514 alpha 0.700]
[0.316 0.436 colour red 0.667 green 0.561 blue 0.514 alpha 0.700
colour red 0.788 green 0.667 blue 0.631 alpha 0.600]
[0.436 0.641 colour red 0.788 green 0.667 blue 0.631 alpha 0.600
colour red 0.604 green 0.506 blue 0.455 alpha 0.700]
[0.641 0.692 colour red 0.604 green 0.506 blue 0.455 alpha 0.700
colour red 0.773 green 0.612 blue 0.569 alpha 0.100]
[0.692 1.001 colour red 0.773 green 0.612 blue 0.569 alpha 0.100
colour red 0.690 green 0.612 blue 0.569 alpha 1.000]
} /* end_colour_map */
turbulence 0.01
}/* end_texture */
/*--------------------Crack & OverTinting ---------------------*/
#declare m9 = texture {
marble
color_map {
[0.0 0.05 color Black alpha 0.6 color Black alpha 1.0]
[0.05 0.90 color DimGray alpha 0.75 color Salmon alpha 0.70]
[0.90 1.001 color Black alpha 0.9 color Black alpha 1.0]
} /* end_color_map */
diffuse 0.3
ambient 0.2
0.02
turbulence 0.7
}/* end_texture */
/*--------------------Crack & OverTinting ---------------------*/
#declare m19 = texture {
marble
color_map {
[0.0 0.05 color Black alpha 0.6 color Black alpha 1.0]
[0.05 0.90 color SeaGreen alpha 0.85 color Salmon alpha 0.60]
[0.90 1.001 color Black alpha 0.9 color Black alpha 1.0]
} /* end_color_map */
diffuse 0.3
ambient 0.2
turbulence 0.6
}/* end_texture */
/*--------------------Crack & OverTint /Red---------------------*/
#declare m10 = texture {
marble
color_map {
[0.0 0.05 color Black alpha 0.6 color Black alpha 1.0]
[0.05 0.90 color Red alpha 0.95 color Red alpha 0.95]
[0.90 1.001 color Black alpha 0.7 color Black alpha 1.0]
} /* end_color_map */
turbulence 0.7
0.03
}/* end_texture */
#declare pink = color red 1.0 green 0.5 blue 0.5
/*--------------------Crack & OverTint /LIGHT Red---------------------*/
#declare m11 = texture {
marble
color_map {
[0.0 0.05 color Black alpha 0.6 color Black alpha 1.0]
[0.05 0.90 color pink alpha 0.90 color Red alpha 0.90]
[0.90 1.001 color Black alpha 0.7 color Black alpha 1.0]
} /* end_color_map */
turbulence 0.7
}/* end_texture */
/*-----------Mostly Blacks W/thin Shades of D.Chroma----------------------*/
#declare m12 = texture {
marble
colour_map {
[0.000 0.104 colour red 0.161 green 0.133 blue 0.118 alpha 0.000
colour red 0.110 green 0.082 blue 0.071 alpha 0.000]
[0.104 0.252 colour red 0.110 green 0.082 blue 0.071 alpha 0.000
colour red 0.161 green 0.133 blue 0.118 alpha 0.000]
[0.252 0.383 colour red 0.161 green 0.133 blue 0.118 alpha 0.000
colour red 0.000 green 0.000 blue 0.000 alpha 0.000]
[0.383 0.643 colour red 0.000 green 0.000 blue 0.000 alpha 0.000
colour red 0.161 green 0.133 blue 0.118 alpha 0.000]
[0.643 0.783 colour red 0.161 green 0.133 blue 0.118 alpha 0.000
colour red 0.220 green 0.149 blue 0.137 alpha 0.000]
[0.783 0.922 colour red 0.220 green 0.149 blue 0.137 alpha 0.000
colour red 0.000 green 0.000 blue 0.000 alpha 0.000]
[0.922 0.983 colour red 0.000 green 0.000 blue 0.000 alpha 0.000
colour red 0.220 green 0.149 blue 0.137 alpha 0.000]
[0.983 1.001 colour red 0.220 green 0.149 blue 0.137 alpha 0.000
colour red 0.161 green 0.133 blue 0.118 alpha 0.000]
} /* end_colour_map */
turbulence 5.0
}/* end_texture */
/*-----------MOSTLY BLACY W/ALPHA For SECOND LAYERS-----------------------*/
#declare m13 = texture {
marble
colour_map {
[0.000 0.035 colour red 0.161 green 0.133 blue 0.118 alpha 0.000
colour red 0.110 green 0.082 blue 0.071 alpha 0.800]
[0.035 0.104 colour red 0.110 green 0.082 blue 0.071 alpha 0.800
colour red 0.161 green 0.133 blue 0.118 alpha 0.300]
[0.104 0.357 colour red 0.161 green 0.133 blue 0.118 alpha 0.300
colour red 0.000 green 0.000 blue 0.000 alpha 0.700]
[0.357 0.478 colour red 0.000 green 0.000 blue 0.000 alpha 0.700
colour red 0.161 green 0.133 blue 0.118 alpha 0.500]
[0.478 0.539 colour red 0.161 green 0.133 blue 0.118 alpha 0.500
colour red 0.220 green 0.149 blue 0.137 alpha 0.000]
[0.539 0.783 colour red 0.220 green 0.149 blue 0.137 alpha 0.000
colour red 0.000 green 0.000 blue 0.000 alpha 0.000]
[0.783 0.983 colour red 0.000 green 0.000 blue 0.000 alpha 0.000
colour red 0.220 green 0.149 blue 0.137 alpha 0.000]
[0.983 1.001 colour red 0.220 green 0.149 blue 0.137 alpha 0.000
colour red 0.161 green 0.133 blue 0.118 alpha 0.000]
} /* end_colour_map */
turbulence 0.4
}/* end_texture */
/*--------------THIN WHITE VIENS------------------------------------------*/
#declare m14 = texture {
marble
colour_map {
[0.000 0.078 colour red 0.769 green 0.722 blue 0.690 alpha 0.180
colour red 0.745 green 0.690 blue 0.655 alpha 1.000]
[0.078 0.374 colour red 0.745 green 0.690 blue 0.655 alpha 1.000
colour red 0.839 green 0.804 blue 0.780 alpha 1.000]
[0.374 0.461 colour red 0.839 green 0.804 blue 0.780 alpha 1.000
colour red 0.839 green 0.804 blue 0.780 alpha 0.263]
[0.461 0.574 colour red 0.839 green 0.804 blue 0.780 alpha 0.263
colour red 0.729 green 0.671 blue 0.631 alpha 0.929]
[0.574 0.643 colour red 0.729 green 0.671 blue 0.631 alpha 0.929
colour red 0.839 green 0.804 blue 0.780 alpha 1.000]
[0.643 0.783 colour red 0.839 green 0.804 blue 0.780 alpha 1.000
colour red 0.839 green 0.804 blue 0.780 alpha 0.976]
[0.783 0.948 colour red 0.839 green 0.804 blue 0.780 alpha 0.976
colour red 0.839 green 0.804 blue 0.780 alpha 0.278]
[0.948 1.001 colour red 0.839 green 0.804 blue 0.780 alpha 0.278
colour red 0.769 green 0.722 blue 0.690 alpha 0.180]
} /* end_colour_map */
turbulence 0.6
}/* end_texture */
#declare m21 = texture {
marble
turbulence 0.5
colour_map {
[0.000 0.479 colour red 0.714 green 0.690 blue 0.706 alpha 0.000
colour red 0.663 green 0.596 blue 0.624 alpha 0.000]
[0.479 0.723 colour red 0.663 green 0.596 blue 0.624 alpha 0.000
colour red 0.655 green 0.690 blue 0.706 alpha 0.000]
[0.723 0.866 colour red 0.655 green 0.690 blue 0.706 alpha 0.000
colour red 0.784 green 0.808 blue 0.737 alpha 0.000]
[0.866 1.001 colour red 0.784 green 0.808 blue 0.737 alpha 0.000
colour red 0.714 green 0.690 blue 0.706 alpha 0.000]
} /* end_colour_map */
}/* end_texture */

BIN
WATER/MASK.MTV Normal file

Binary file not shown.

BIN
WATER/MIEK.OBJ Normal file

Binary file not shown.

7
WATER/MIEK.PAS Normal file
View file

@ -0,0 +1,7 @@
unit miek;
{$L miekka.obj}
interface
procedure _miekka;far;
implementation
procedure _miekka;external;
end.

BIN
WATER/MIEK.TPU Normal file

Binary file not shown.

BIN
WATER/MIEKKA.OBJ Normal file

Binary file not shown.

BIN
WATER/MIEKKA.SCI Normal file

Binary file not shown.

2
WATER/P.BAT Normal file
View file

@ -0,0 +1,2 @@
povray -i%1 +w160 +h100 +d11 -a +x +b200 %2 %3 %4


2
WATER/P1.BAT Normal file
View file

@ -0,0 +1,2 @@
povray -i%1 +w320 +h200 +d11 -a +x +b200 %2 %3 %4


2
WATER/P2.BAT Normal file
View file

@ -0,0 +1,2 @@
povray -i%1 +w640 +h480 +d11 -a +x +b200 %2 %3 %4


61
WATER/Q.POV Normal file
View file

@ -0,0 +1,61 @@
// Persistence Of Vision Raytracer version 1.0 sample file.
//----------- fish out of water ----------- 3/10/92 miller
#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
camera {
location <-5 40 -105> direction <0 0 1.5>
look_at <0 0 0>
}
//-------light
object { light_source { <200 100 -100> color White } }
//-------light
object { light_source { <1000 500 400> color White } }
/* Now draw the sky */
object {
sphere { <0.0 0.0 0.0> 800.0 }
texture {
gradient <0.0 1.0 0.0>
colour_map { [0.0 0.8 colour red 1.0 green 0.3 blue 0.0
colour red 0.7 green 0.7 blue 1.0]
[0.8 1.0 colour red 0.7 green 0.7 blue 1.0
colour red 0.7 green 0.7 blue 1.0]
}
scale <400.0 400.0 400.0>
ambient 0.7
diffuse 0.0
}
colour red 0.2 green 0.2 blue 1.0
}
/*-------------- SWAMP WATER ----------------------------*/
object {
intersection { Cube scale <1000 1 500> translate <0 -25 0> }
texture {
color red 0.0 green 0.07 blue 0.0
reflection 1
ambient 0.25
color Blue
waves 0.6 frequency 0.8
translate <80 0 0>
diffuse 1 phong 1.0 phong_size 80
}
}

109
WATER/R1.POV Normal file
View file

@ -0,0 +1,109 @@
#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
camera {
location <10 50 -50>
look_at <0 0 0>
}
fog {
colour red 0.0 green 0.0 blue 0.0
250.0
}
object { light_source { <-10 60 30> color White } }
object {
box { UnitBox scale <256 32 4>}
texture { color Green }
texture {
image_map { <1 -1 0> tga "rgb.tga" /* x-y oriented bitmap image */
once
interpolate 2 /* Faster interpolation than 4 */
}
translate <-0.5 -0.5 0> /* Center image */
scale <512 64 2> /* Scale to fit */
ambient 1
diffuse 0.75
}
translate < -54 0 0 >
translate < 0 0 0 > /* Scroll translate */
scale < 0.30 0.25 0.0001 >
rotate < -20 0 0 >
rotate < 0 -90 0 >
rotate < 50 0 0 >
translate < 0 0 0 >
}
/*
object {
plane { <0.0 1.0 0.0> 140.0 }
texture {
color red 0 green 0.0 blue 1
ambient 0.2
diffuse 0.8
scale < 20.0 20.0 20000.0 >
translate <0 0 -10000>
}
}
*/
object {
sphere { <33 10 -33> 20 }
texture {
color red 0.0 green 0.0 blue 0.0
ambient 0.0
diffuse 0.0
specular 0
roughness 0.001
reflection 1.0
phong 0.0 phong_size 80
ior 1.5
}
}
object {
sphere { <22 10 22> 20 }
texture {
color red 0.0 green 0.0 blue 0.0
ambient 0.0
diffuse 0.0
specular 0
roughness 0.001
reflection 1.0
phong 0.0 phong_size 80
ior 1.5
}
}
/*-------------- SWAMP WATER ----------------------------*/
object {
intersection { Cube scale <10000 1 500> translate <0 0 0> }
texture {
color MidnightBlue
reflection 1
ambient 0.0
ripples 0.4 frequency 0.04
translate <0 0 0>
diffuse 0.0
phong 0.0 phong_size 80
}
rotate < 0 0 0 >
}

109
WATER/R2.POV Normal file
View file

@ -0,0 +1,109 @@
#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
camera {
location <10 50 -50>
look_at <0 0 0>
}
fog {
colour red 0.0 green 0.0 blue 0.0
250.0
}
object { light_source { <-10 60 30> color White } }
object {
box { UnitBox scale <256 32 4>}
texture { color Green }
texture {
image_map { <1 -1 0> tga "rgb.tga" /* x-y oriented bitmap image */
once
interpolate 2 /* Faster interpolation than 4 */
}
translate <-0.5 -0.5 0> /* Center image */
scale <512 64 2> /* Scale to fit */
ambient 1
diffuse 0.75
}
translate < -54 0 0 >
translate < -0.5 0 0 > /* Scroll translate */
scale < 0.30 0.25 0.0001 >
rotate < -20 0 0 >
rotate < 0 -90 0 >
rotate < 50 0 0 >
translate < 0 0 0 >
}
/*
object {
plane { <0.0 1.0 0.0> 140.0 }
texture {
color red 0 green 0.0 blue 1
ambient 0.2
diffuse 0.8
scale < 20.0 20.0 20000.0 >
translate <0 0 -10000>
}
}
*/
object {
sphere { <33 10 -33> 20 }
texture {
color red 0.0 green 0.0 blue 0.0
ambient 0.0
diffuse 0.0
specular 0
roughness 0.001
reflection 1.0
phong 0.0 phong_size 80
ior 1.5
}
}
object {
sphere { <22 10 22> 20 }
texture {
color red 0.0 green 0.0 blue 0.0
ambient 0.0
diffuse 0.0
specular 0
roughness 0.001
reflection 1.0
phong 0.0 phong_size 80
ior 1.5
}
}
/*-------------- SWAMP WATER ----------------------------*/
object {
intersection { Cube scale <10000 1 500> translate <0 0 0> }
texture {
color MidnightBlue
reflection 1
ambient 0.0
ripples 0.4 frequency 0.04
translate <0 0 0>
diffuse 0.0
phong 0.0 phong_size 80
}
rotate < 0 0 0 >
}

109
WATER/R3.POV Normal file
View file

@ -0,0 +1,109 @@
#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
camera {
location <10 50 -50>
look_at <0 0 0>
}
fog {
colour red 0.0 green 0.0 blue 0.0
250.0
}
object { light_source { <-10 60 30> color White } }
object {
box { UnitBox scale <256 32 4>}
texture { color Green }
texture {
image_map { <1 -1 0> tga "rgb.tga" /* x-y oriented bitmap image */
once
interpolate 2 /* Faster interpolation than 4 */
}
translate <-0.5 -0.5 0> /* Center image */
scale <512 64 2> /* Scale to fit */
ambient 1
diffuse 0.75
}
translate < -54 0 0 >
translate < -1 0 0 > /* Scroll translate */
scale < 0.30 0.25 0.0001 >
rotate < -20 0 0 >
rotate < 0 -90 0 >
rotate < 50 0 0 >
translate < 0 0 0 >
}
/*
object {
plane { <0.0 1.0 0.0> 140.0 }
texture {
color red 0 green 0.0 blue 1
ambient 0.2
diffuse 0.8
scale < 20.0 20.0 20000.0 >
translate <0 0 -10000>
}
}
*/
object {
sphere { <33 10 -33> 20 }
texture {
color red 0.0 green 0.0 blue 0.0
ambient 0.0
diffuse 0.0
specular 0
roughness 0.001
reflection 1.0
phong 0.0 phong_size 80
ior 1.5
}
}
object {
sphere { <22 10 22> 20 }
texture {
color red 0.0 green 0.0 blue 0.0
ambient 0.0
diffuse 0.0
specular 0
roughness 0.001
reflection 1.0
phong 0.0 phong_size 80
ior 1.5
}
}
/*-------------- SWAMP WATER ----------------------------*/
object {
intersection { Cube scale <10000 1 500> translate <0 0 0> }
texture {
color MidnightBlue
reflection 1
ambient 0.0
ripples 0.4 frequency 0.04
translate <0 0 0>
diffuse 0.0
phong 0.0 phong_size 80
}
rotate < 0 0 0 >
}

109
WATER/R4.POV Normal file
View file

@ -0,0 +1,109 @@
#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
camera {
location <10 50 -50>
look_at <0 0 0>
}
fog {
colour red 0.0 green 0.0 blue 0.0
250.0
}
object { light_source { <-10 60 30> color White } }
object {
box { UnitBox scale <256 32 4>}
texture { color Green }
texture {
image_map { <1 -1 0> tga "rgb.tga" /* x-y oriented bitmap image */
once
interpolate 2 /* Faster interpolation than 4 */
}
translate <-0.5 -0.5 0> /* Center image */
scale <512 64 2> /* Scale to fit */
ambient 1
diffuse 0.75
}
translate < -54 0 0 >
translate < -1.5 0 0 > /* Scroll translate */
scale < 0.30 0.25 0.0001 >
rotate < -20 0 0 >
rotate < 0 -90 0 >
rotate < 50 0 0 >
translate < 0 0 0 >
}
/*
object {
plane { <0.0 1.0 0.0> 140.0 }
texture {
color red 0 green 0.0 blue 1
ambient 0.2
diffuse 0.8
scale < 20.0 20.0 20000.0 >
translate <0 0 -10000>
}
}
*/
object {
sphere { <33 10 -33> 20 }
texture {
color red 0.0 green 0.0 blue 0.0
ambient 0.0
diffuse 0.0
specular 0
roughness 0.001
reflection 1.0
phong 0.0 phong_size 80
ior 1.5
}
}
object {
sphere { <22 10 22> 20 }
texture {
color red 0.0 green 0.0 blue 0.0
ambient 0.0
diffuse 0.0
specular 0
roughness 0.001
reflection 1.0
phong 0.0 phong_size 80
ior 1.5
}
}
/*-------------- SWAMP WATER ----------------------------*/
object {
intersection { Cube scale <10000 1 500> translate <0 0 0> }
texture {
color MidnightBlue
reflection 1
ambient 0.0
ripples 0.4 frequency 0.04
translate <0 0 0>
diffuse 0.0
phong 0.0 phong_size 80
}
rotate < 0 0 0 >
}

109
WATER/R5.POV Normal file
View file

@ -0,0 +1,109 @@
#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
camera {
location <10 50 -50>
look_at <0 0 0>
}
fog {
colour red 0.0 green 0.0 blue 0.0
250.0
}
object { light_source { <-10 60 30> color White } }
object {
box { UnitBox scale <256 32 4>}
texture { color Green }
texture {
image_map { <1 -1 0> tga "rgb.tga" /* x-y oriented bitmap image */
once
interpolate 2 /* Faster interpolation than 4 */
}
translate <-0.5 -0.5 0> /* Center image */
scale <512 64 2> /* Scale to fit */
ambient 1
diffuse 0.75
}
translate < -54 0 0 >
translate < -2 0 0 > /* Scroll translate */
scale < 0.30 0.25 0.0001 >
rotate < -20 0 0 >
rotate < 0 -90 0 >
rotate < 50 0 0 >
translate < 0 0 0 >
}
/*
object {
plane { <0.0 1.0 0.0> 140.0 }
texture {
color red 0 green 0.0 blue 1
ambient 0.2
diffuse 0.8
scale < 20.0 20.0 20000.0 >
translate <0 0 -10000>
}
}
*/
object {
sphere { <33 10 -33> 20 }
texture {
color red 0.0 green 0.0 blue 0.0
ambient 0.0
diffuse 0.0
specular 0
roughness 0.001
reflection 1.0
phong 0.0 phong_size 80
ior 1.5
}
}
object {
sphere { <22 10 22> 20 }
texture {
color red 0.0 green 0.0 blue 0.0
ambient 0.0
diffuse 0.0
specular 0
roughness 0.001
reflection 1.0
phong 0.0 phong_size 80
ior 1.5
}
}
/*-------------- SWAMP WATER ----------------------------*/
object {
intersection { Cube scale <10000 1 500> translate <0 0 0> }
texture {
color MidnightBlue
reflection 1
ambient 0.0
ripples 0.4 frequency 0.04
translate <0 0 0>
diffuse 0.0
phong 0.0 phong_size 80
}
rotate < 0 0 0 >
}

BIN
WATER/RAY.SCI Normal file

Binary file not shown.

6
WATER/RAYT.BAT Normal file
View file

@ -0,0 +1,6 @@
call p1 r1.pov -ok1.tga
call p1 r2.pov -ok2.tga
call p1 r3.pov -ok3.tga
call p1 r4.pov -ok4.tga
call p1 r5.pov -ok5.tga
echo 

BIN
WATER/RGB.TGA Normal file

Binary file not shown.

41
WATER/ROUTINES.ASM Normal file
View file

@ -0,0 +1,41 @@
.MODEL large,PASCAL
.CODE
.386
; dx = Bground seg
; ax = pos seg
; si = pos ofs
; cx = font seg
; bx = font ofs
; Front scroll
Putrouts1 PROC FAR
PUBLIC Putrouts1
push ds
mov ds,ax
mov ax,0a000h
mov es,ax
mov fs,cx
mov gs,dx
mov dx,158*34
@a1: lodsw
or ax,ax
je @no1
mov cx,ax
@b1: lodsw
mov di,ax
mov al,byte ptr fs:[bx]
or al,al
jne @y
mov al,byte ptr gs:[di]
@y: mov byte ptr es:[di],al
loop @b1
@no1: inc bx
dec dx
jnz @a1
pop ds
ret
Putrouts1 ENDP
END

BIN
WATER/ROUTINES.OBJ Normal file

Binary file not shown.

215
WATER/SHAPES.INC Normal file
View file

@ -0,0 +1,215 @@
// Persistence Of Vision Raytracer
// Standard shapes include file.
/*
NOTE: Some of these shapes, in particular, the "Disk_?" group, have
been changed in such a way that they will not work correctly with some of
the old scene files. The file "shapes.old" is also included in this package
for exactly this purpose. The reason for this change was to provide a set
of shapes that would scale in a consistant fashion. We apologize for
any inconvenience that this may cause in the short term, but expect
that you'll quickly come to agree that this is easier to learn and to
use.
The quadric Sphere has been duplicated under the preferred name of
Ellipsoid to differentiate it from the internal sphere primitive. Please
refer to Ellipsoid when you wish to use a quadric sphere.
Revised shapes.inc
All primitives scale the same as a sphere with radius=1.
Changes:
Disk_X (was X_Disk)
Disk_Y (was Y_Disk)
Disk_Z (was Z_Disk)
QCone_X (was Cone_X)
QCone_Y (was Cone_Y)
QCone_Z (was Cone_Z)
New:
UnitBox
Ellipsoid
Cone_X (now unit shape intersection instead of infinite quadric)
Cone_Y (now unit shape intersection instead of infinite quadric)
Cone_Z (now unit shape intersection instead of infinite quadric)
Moved: to shapes2.pov
Square_X
Square_Y
Square_Z
Pyramid
Tetrahedron
*/
#declare Ellipsoid = quadric {
<1.0 1.0 1.0>
<0.0 0.0 0.0>
<0.0 0.0 0.0>
-1.0
}
#declare Sphere = quadric {
<1.0 1.0 1.0>
<0.0 0.0 0.0>
<0.0 0.0 0.0>
-1.0
}
#declare Cylinder_X = quadric {
<0.0 1.0 1.0>
<0.0 0.0 0.0>
<0.0 0.0 0.0>
-1.0
}
#declare Cylinder_Y = quadric {
<1.0 0.0 1.0>
<0.0 0.0 0.0>
<0.0 0.0 0.0>
-1.0
}
#declare Cylinder_Z = quadric {
<1.0 1.0 0.0>
<0.0 0.0 0.0>
<0.0 0.0 0.0>
-1.0
}
// Infinite cones
#declare QCone_X = quadric {
<-1.0 1.0 1.0>
<0.0 0.0 0.0>
<0.0 0.0 0.0>
0.0
}
#declare QCone_Y = quadric {
<1.0 -1.0 1.0>
<0.0 0.0 0.0>
<0.0 0.0 0.0>
0.0
}
#declare QCone_Z = quadric {
<1.0 1.0 -1.0>
<0.0 0.0 0.0>
<0.0 0.0 0.0>
0.0
}
// Unit cones
//
// Use: intersection { Cone_X }
//
#declare Cone_X =
intersection {
quadric { QCone_X translate <0 1 0> }
box { <-2 -1 -2> <2 1 2> }
scale <.5 1 .5>
}
#declare Cone_Y =
intersection {
quadric { QCone_Y translate <0 1 0>}
box { <-2 -1 -2> <2 1 2> }
scale <.5 1 .5>
}
#declare Cone_Z =
intersection {
quadric { QCone_Z translate <0 1 0>}
box { <-2 -1 -2> <2 1 2> }
scale <.5 1 .5>
}
#declare Plane_YZ = quadric {
<0.0 0.0 0.0>
<0.0 0.0 0.0>
<1.0 0.0 0.0>
0.0
}
#declare Plane_XZ = quadric {
<0.0 0.0 0.0>
<0.0 0.0 0.0>
<0.0 1.0 0.0>
0.0
}
#declare Plane_XY = quadric {
<0.0 0.0 0.0>
<0.0 0.0 0.0>
<0.0 0.0 1.0>
0.0
}
/* y^2 + z^2 - x = 0 */
#declare Paraboloid_X = quadric {
<0.0 1.0 1.0>
<0.0 0.0 0.0>
<-1.0 0.0 0.0>
0.0
}
/* x^2 + z^2 - y = 0 */
#declare Paraboloid_Y = quadric {
<1.0 0.0 1.0>
<0.0 0.0 0.0>
<0.0 -1.0 0.0>
0.0
}
/* x^2 + y^2 - z = 0 */
#declare Paraboloid_Z = quadric {
<1.0 1.0 0.0>
<0.0 0.0 0.0>
<0.0 0.0 -1.0>
0.0
}
/* y - x^2 + z^2 = 0 */
#declare Hyperboloid = quadric {
< -1.0 0.0 1.0>
< 0.0 0.0 0.0>
< 0.0 1.0 0.0>
0.0
}
#declare Hyperboloid_Y = quadric { /* Vertical hyperboloid */
<1.0 -1.0 1.0> /* */
<0.0 0.0 0.0> /* \ / */
<0.0 0.0 0.0> /* Like this: ) ( */
-1.0 /* / \ */
}
// Cube using the procedural box primitive
#declare UnitBox = box { <-1.0 -1.0 -1.0> <1.0 1.0 1.0> }
// This primitive used to be an intersection of six planes. For speed, it's now
// an intersection of a box and nothing else.
#declare Cube = intersection { box { <-1 -1 -1> <1 1 1>} }
// The Disk primitives are "capped" cylinders of unit length.
//
// Note: These three shapes have been changed for Version 1.0.
// They are now "unit" size, the same as a sphere with a radius of 1.
// They will now scale evenly in all directions.
// Old files may need to be modified to work with these shapes, but
// I think you'll find them to be more consistant with the rest of the
// POV-Ray primitives and easier for novices to understand.
#declare Disk_X = intersection { /* Capped cylinder, Length in x axis */
quadric { Cylinder_X }
plane { <1.0 0.0 0.0> -1 inverse }
plane { <1.0 0.0 0.0> 1 }
}
#declare Disk_Y = intersection { /* Capped cylinder, Length in y axis */
quadric { Cylinder_Y }
plane { <0.0 1.0 0.0> -1 inverse }
plane { <0.0 1.0 0.0> 1 }
}
#declare Disk_Z = intersection { /* Capped cylinder, Length in z axis */
quadric { Cylinder_Z }
plane { <0.0 0.0 1.0> -1 inverse }
plane { <0.0 0.0 1.0> 1 }
}

159
WATER/SHAPES2.INC Normal file
View file

@ -0,0 +1,159 @@
// Persistence Of Vision Raytracer
// Standard shapes include file #2.
//
/* Contents:
Tetrahedron
Octahedron
Dodecahedron
Icosahedron
Rhomboid
Hexagon
HalfCone_Y
Pyramid
Pyramid2
Square_X
Square_Y
Square_Z
*/
// Shapes by Tom Price [75300,620]:
#declare Tetrahedron = intersection {
plane { <0.0 -1.0 0.0> 1.0 }
plane { <0.0 0.0 -1.0> 1.0 rotate <19.47 0.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <19.47 -120.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <19.47 120.0 0.0> }
}
#declare Octahedron = intersection {
plane { <0.0 0.0 1.0> 1.0 rotate <35.26438968275 0.0 0.0> }
plane { <0.0 0.0 1.0> 1.0 rotate <-35.26438968275 0.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <35.26438968275 0.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-35.26438968275 0.0 0.0> }
plane { <1.0 0.0 0.0> 1.0 rotate <0.0 0.0 -35.26438968275> }
plane { <1.0 0.0 0.0> 1.0 rotate <0.0 0.0 35.26438968275> }
plane { <-1.0 0.0 0.0> 1.0 rotate <0.0 0.0 -35.26438968275> }
plane { <-1.0 0.0 0.0> 1.0 rotate <0.0 0.0 35.26438968275> }
}
#declare Dodecahedron = intersection {
plane { <0.0 0.0 -1.0> 1.0 rotate <-26.56505117708 0.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-26.56505117708 -72.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-26.56505117708 -144.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-26.56505117708 -216.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-26.56505117708 -288.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <26.56505117708 -36.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <26.56505117708 -108.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <26.56505117708 -180.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <26.56505117708 -252.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <26.56505117708 -324.0 0.0> }
plane { <0.0 1.0 0.0> 1.0 }
plane { <0.0 -1.0 0.0> 1.0 }
}
#declare Icosahedron = intersection {
plane { <0.0 0.0 -1.0> 1.0 rotate <52.6625 0.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <52.6625 -72.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <52.6625 -144.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <52.6625 -216.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <52.6625 -288.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <10.8125 0.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <10.8125 -72.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <10.8125 -144.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <10.8125 -216.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <10.8125 -288.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-52.6625 -36.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-52.6625 -108.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-52.6625 -180.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-52.6625 -252.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-52.6625 -324.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-10.8125 -36.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-10.8125 -108.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-10.8125 -180.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-10.8125 -252.0 0.0> }
plane { <0.0 0.0 -1.0> 1.0 rotate <-10.8125 -324.0 0.0> }
}
// Shapes by others
// Convenient finite cone primitive, pointing up in the Y axis
// Cone_Y, X & Z in SHAPES.INC should be used instead of this shape
#declare HalfCone_Y = intersection {
quadric { // QCone_Y
<1.0 -1.0 1.0>
<0.0 0.0 0.0>
<0.0 0.0 0.0>
0.0
}
plane { <0 1 0 > 0 }
plane { <0 1 0 > -2 inverse }
translate <0 1 0>
scale <0.5 1 0.5>
}
/* Hexagonal Solid, axis along x */
#declare Hexagon = intersection {
plane { <0.0 0.0 1.0> 1.0 } /* Rotate 90 in z axis to stand up */
plane { <0.0 0.0 1.0> 1.0 rotate <60.0 0.0 0.0> }
plane { <0.0 0.0 1.0> 1.0 rotate <120.0 0.0 0.0> }
plane { <0.0 0.0 1.0> 1.0 rotate <180.0 0.0 0.0> }
plane { <0.0 0.0 1.0> 1.0 rotate <240.0 0.0 0.0> }
plane { <0.0 0.0 1.0> 1.0 rotate <300.0 0.0 0.0> }
plane { <1.0 0.0 0.0> 1.0 }
plane { <1.0 0.0 0.0> -1.0 inverse }
}
/* Three Dimensional 4-Sided Diamond */
#declare Rhomboid = intersection {
plane { <-1.0 0.0 0.0> 1.0 rotate <0.0 0.0 -30.0> }
plane { < 1.0 0.0 0.0> 1.0 rotate <0.0 0.0 -30.0> }
plane { < 0.0 0.0 1.0> 1.0 }
plane { < 0.0 0.0 -1.0> 1.0 }
plane { < 0.0 1.0 0.0> 1.0 }
plane { < 0.0 -1.0 0.0> 1.0 }
}
// Classic four-sided pyramids.
// The first can't be used correctly in CSG, the second can.
#declare Pyramid = intersection {
union { // This isn't true CSG, it's just used for convenience
triangle { <-1 0 -1> <+1 0 -1> <0 1 0> }
triangle { <+1 0 -1> <+1 0 +1> <0 1 0> }
triangle { <-1 0 +1> <+1 0 +1> <0 1 0> }
triangle { <-1 0 +1> <-1 0 -1> <0 1 0> }
}
scale <1 2 1>
translate <0 -1 0>
}
#declare Pyramid2 = intersection {
plane { <1 0 0> 1 rotate <0 0 40> }
plane { <-1 0 0> 1 rotate <0 0 -40>}
plane { <0 0 1> 1 rotate <-40 0 0> }
plane { <0 0 -1> 1 rotate <40 0 0> }
plane { <0 -1 0> 0 }
translate <0 -1 0>
}
// These next three are finite planes.
#declare Square_X = union { /* Scale-able plane in x */
triangle { < 0 1 -1> < 0 -1 1> < 0 1 1> }
triangle { < 0 1 -1> < 0 -1 1> < 0 -1 -1> }
}
#declare Square_Y = union { /* Scale-able plane in y */
triangle { <-1 0 1> < 1 0 -1> <1 0 1> }
triangle { <-1 0 1> < 1 0 -1> <-1 0 -1>}
}
#declare Square_Z = union { /* Scale-able plane in z */
triangle { <-1 1 0.0> <1 -1 0.0> <-1 -1 0.0> }
triangle { <-1 1 0.0> <1 -1 0.0> <1 1 0.0> }
}

546
WATER/STEM1.INC Normal file
View file

@ -0,0 +1,546 @@
// Persistence Of Vision Raytracer version 1.0 sample file.
//--------------------- Spiral Twist or SexWorms
#declare ccc = texture {
marble
turbulence 0.4
colour_map {
[0.000 0.210 colour red 0.333 green 0.467 blue 0.404 alpha 0.000
colour red 0.341 green 0.302 blue 0.039 alpha 0.000]
[0.210 0.555 colour red 0.341 green 0.302 blue 0.039 alpha 0.000
colour red 0.584 green 0.388 blue 0.373 alpha 0.000]
[0.555 0.773 colour red 0.584 green 0.388 blue 0.373 alpha 0.000
colour red 0.816 green 0.647 blue 0.518 alpha 0.000]
[0.773 1.001 colour red 0.816 green 0.647 blue 0.518 alpha 0.000
colour red 0.333 green 0.467 blue 0.404 alpha 0.000]
}
ambient 0.2 diffuse 0.5 phong 1.0 phong_size 80
}
#declare YourTexture = /* change to your preference */
texture {
ccc scale <10 20 10>
}
#declare Dot =
quadric {
< 1.0 1.0 1.0>
< 0.0 0.0 0.0>
< 0.0 0.0 0.0>
-1.0
}
#declare Connector_1 =
object {
quadric {
< 0.0 1.0 1.0>
< 0.0 0.0 0.0>
< 0.0 0.0 0.0>
-1.0
}
clipped_by {
plane { < 1.0 0.0 0.0> 1.0 }
plane { <-1.0 0.0 0.0> 0.0 }
}
}
#declare Connector_2 =
quadric {
< 1.0 -1.0 1.0>
< 0.0 0.0 0.0>
< 0.0 0.0 0.0>
0.0
rotate < 0.0 0.0 90.0>
}
/*----------------------------------------------------------------------------*/
#declare YourThing1 =
composite {
object {
sphere { < 0.000000 0.000000 -5.000000> 2.950000 }
texture {
YourTexture
}
}
object {
sphere { <-1.018770 0.666670 -4.792920> 2.900000 }
texture {
YourTexture
}
}
object {
sphere { <-1.952340 1.333330 -4.385020> 2.850000 }
texture {
YourTexture
}
}
object {
sphere { <-2.762590 2.000000 -3.802380> 2.800000 }
texture {
YourTexture
}
}
object {
sphere { <-3.418470 2.666670 -3.078000> 2.750000 }
texture {
YourTexture
}
}
object {
sphere { <-3.897110 3.333330 -2.250000> 2.700000 }
texture {
YourTexture
}
}
object {
sphere { <-4.184650 4.000000 -1.359670> 2.650000 }
texture {
YourTexture
}
}
object {
sphere { <-4.276440 4.666670 -0.449470> 2.600000 }
texture {
YourTexture
}
}
object {
sphere { <-4.176990 5.333330 0.439020> 2.550000 }
texture {
YourTexture
}
}
object {
sphere { <-3.899330 6.000000 1.266970> 2.500000 }
texture {
YourTexture
}
}
object {
sphere { <-3.464100 6.666670 2.000000> 2.450000 }
texture {
YourTexture
}
}
object {
sphere { <-2.898270 7.333330 2.609610> 2.400000 }
texture {
YourTexture
}
}
bounded_by {
sphere { <-1.963220 3.391665 -1.470195> 11.343572 }
}
/*
Fudge factor: 10.000000 percent
Maximum x coordinate: 2.950000
y coordinate: 9.733330
z coordinate: 5.009610
Minimum x coordinate: -6.876440
y coordinate: -2.950000
z coordinate: -7.950000
Center x coordinate: -1.963220
y coordinate: 3.391665
z coordinate: -1.470195
*/
}
#declare YourThing2 =
composite {
object {
sphere { <-2.233580 8.000000 3.074270> 2.350000 }
texture {
YourTexture
}
}
object {
sphere { <-1.504930 8.666670 3.380120> 2.300000 }
texture {
YourTexture
}
}
object {
sphere { <-0.748480 9.333330 3.521330> 2.250000 }
texture {
YourTexture
}
}
object {
sphere { < 0.000000 10.000000 3.500000> 2.200000 }
texture {
YourTexture
}
}
object {
sphere { < 0.706900 10.666670 3.325700> 2.150000 }
texture {
YourTexture
}
}
object {
sphere { < 1.342230 11.333330 3.014700> 2.100000 }
texture {
YourTexture
}
}
object {
sphere { < 1.880910 12.000000 2.588860> 2.050000 }
texture {
YourTexture
}
}
object {
sphere { < 2.303750 12.666670 2.074310> 2.000000 }
texture {
YourTexture
}
}
object {
sphere { < 2.598080 13.333330 1.500000> 1.950000 }
texture {
YourTexture
}
}
object {
sphere { < 2.758070 14.000000 0.896150> 1.900000 }
texture {
YourTexture
}
}
object {
sphere { < 2.784660 14.666670 0.292680> 1.850000 }
texture {
YourTexture
}
}
object {
sphere { < 2.685210 15.333340 -0.282230> 1.800000 }
texture {
YourTexture
}
}
object {
sphere { < 2.472750 16.000000 -0.803450> 1.750000 }
texture {
YourTexture
}
}
object {
sphere { < 2.165070 16.666670 -1.250000> 1.700000 }
texture {
YourTexture
}
}
bounded_by {
sphere { < 0.037245 9.183335 1.410665> 12.283659 }
}
/*
Fudge factor: 10.000000 percent
Maximum x coordinate: 4.658070
y coordinate: 18.366670
z coordinate: 5.771330
Minimum x coordinate: -4.583580
y coordinate: 0.000000
z coordinate: -2.950000
Center x coordinate: 0.037245
y coordinate: 9.183335
z coordinate: 1.410665
*/
}
#declare YourThing3 =
composite {
object {
sphere { < 1.783550 17.333330 -1.605920> 1.650000 }
texture {
YourTexture
}
}
object {
sphere { < 1.351910 18.000000 -1.860740> 1.600000 }
texture {
YourTexture
}
}
object {
sphere { < 0.894820 18.666670 -2.009800> 1.550000 }
texture {
YourTexture
}
}
object {
sphere { < 0.436610 19.333330 -2.054110> 1.500000 }
texture {
YourTexture
}
}
object {
sphere { <-0.000000 20.000000 -2.000000> 1.450000 }
texture {
YourTexture
}
}
object {
sphere { < 0.000000 20.000000 -2.000000> 1.418330 }
texture {
YourTexture
}
}
object {
sphere { <-0.401960 20.666670 -1.891090> 1.386670 }
texture {
YourTexture
}
}
object {
sphere { <-0.759240 21.333330 -1.705280> 1.355000 }
texture {
YourTexture
}
}
object {
sphere { <-1.058010 22.000000 -1.456230> 1.323330 }
texture {
YourTexture
}
}
object {
sphere { <-1.288120 22.666670 -1.159830> 1.291670 }
texture {
YourTexture
}
}
object {
sphere { <-1.443380 23.333330 -0.833330> 1.260000 }
texture {
YourTexture
}
}
object {
sphere { <-1.521690 24.000000 -0.494430> 1.228330 }
texture {
YourTexture
}
}
object {
sphere { <-1.524930 24.666670 -0.160280> 1.196670 }
texture {
YourTexture
}
}
object {
sphere { <-1.458630 25.333330 0.153310> 1.165000 }
texture {
YourTexture
}
}
bounded_by {
sphere { < 0.341765 13.249165 -1.120745> 15.204232 }
}
/*
Fudge factor: 10.000000 percent
Maximum x coordinate: 3.433550
y coordinate: 26.498330
z coordinate: 1.318310
Minimum x coordinate: -2.750020
y coordinate: 0.000000
z coordinate: -3.559800
Center x coordinate: 0.341765
y coordinate: 13.249165
z coordinate: -1.120745
*/
}
#declare YourThing4 =
composite {
object {
sphere { <-1.331480 26.000000 0.432620> 1.133330 }
texture {
YourTexture
}
}
object {
sphere { <-1.154700 26.666670 0.666670> 1.101670 }
texture {
YourTexture
}
}
object {
sphere { <-0.941320 27.333330 0.847570> 1.070000 }
texture {
YourTexture
}
}
object {
sphere { <-0.705340 28.000000 0.970820> 1.038330 }
texture {
YourTexture
}
}
object {
sphere { <-0.460970 28.666670 1.035350> 1.006670 }
texture {
YourTexture
}
}
object {
sphere { <-0.221770 29.333330 1.043360> 0.975000 }
texture {
YourTexture
}
}
object {
sphere { < 0.000000 30.000000 1.000000> 0.943330 }
texture {
YourTexture
}
}
object {
sphere { < 0.194050 30.666670 0.912940> 0.911670 }
texture {
YourTexture
}
}
object {
sphere { < 0.352500 31.333330 0.791740> 0.880000 }
texture {
YourTexture
}
}
object {
sphere { < 0.470230 32.000000 0.647210> 0.848330 }
texture {
YourTexture
}
}
object {
sphere { < 0.544970 32.666670 0.490700> 0.816670 }
texture {
YourTexture
}
}
object {
sphere { < 0.577350 33.333340 0.333330> 0.785000 }
texture {
YourTexture
}
}
object {
sphere { < 0.570630 34.000000 0.185410> 0.753330 }
texture {
YourTexture
}
}
object {
sphere { < 0.530410 34.666670 0.055750> 0.721670 }
texture {
YourTexture
}
}
object {
sphere { < 0.464110 35.333340 -0.048780> 0.690000 }
texture {
YourTexture
}
}
bounded_by {
sphere { <-0.551230 18.011670 0.651620> 19.982954 }
}
/*
Fudge factor: 10.000000 percent
Maximum x coordinate: 1.362350
y coordinate: 36.023340
z coordinate: 2.042020
Minimum x coordinate: -2.464810
y coordinate: 0.000000
z coordinate: -0.738780
Center x coordinate: -0.551230
y coordinate: 18.011670
z coordinate: 0.651620
*/
}
#declare YourThing5 =
composite {
object {
sphere { < 0.380420 36.000000 -0.123610> 0.658330 }
texture {
YourTexture
}
}
object {
sphere { < 0.288670 36.666670 -0.166670> 0.626670 }
texture {
YourTexture
}
}
object {
sphere { < 0.198170 37.333340 -0.178430> 0.595000 }
texture {
YourTexture
}
}
object {
sphere { < 0.117560 38.000000 -0.161800> 0.563330 }
texture {
YourTexture
}
}
object {
sphere { < 0.054230 38.666670 -0.121810> 0.531670 }
texture {
YourTexture
}
}
object {
sphere { < 0.013860 39.333340 -0.065210> 0.500000 }
texture {
YourTexture
}
}
object {
sphere { < 0.000000 40.000000 0.000000> 0.468330 }
texture {
YourTexture
}
}
bounded_by {
sphere { < 0.276305 20.234165 -0.129310> 22.285351 }
}
/*
Fudge factor: 10.000000 percent
Maximum x coordinate: 1.038750
y coordinate: 40.468330
z coordinate: 0.534720
Minimum x coordinate: -0.486140
y coordinate: 0.000000
z coordinate: -0.793340
Center x coordinate: 0.276305
y coordinate: 20.234165
z coordinate: -0.129310
*/
}
#declare stem1 =
composite {
composite { YourThing1 }
composite { YourThing2 }
composite { YourThing3 }
composite { YourThing4 }
composite { YourThing5 }
bounded_by {
sphere { <-1.109185 18.759165 -1.089335> 25.835200 }
}
/*
Fudge factor: 10.000000 percent
Maximum x coordinate: 4.658070
y coordinate: 40.468330
z coordinate: 5.771330
Minimum x coordinate: -6.876440
y coordinate: -2.950000
z coordinate: -7.950000
Center x coordinate: -1.109185
y coordinate: 18.759165
z coordinate: -1.089335
*/
}

BIN
WATER/SWORD.LBM Normal file

Binary file not shown.

BIN
WATER/SWORD.SCI Normal file

Binary file not shown.

BIN
WATER/T1.INT Normal file

Binary file not shown.

BIN
WATER/T1.LIB Normal file

Binary file not shown.

7
WATER/T1.PAS Normal file
View file

@ -0,0 +1,7 @@
unit t1;
{$L wat1.obj}
interface
procedure wat1;far;
implementation
procedure wat1;external;
end.

BIN
WATER/T1.TPU Normal file

Binary file not shown.

BIN
WATER/T2.INT Normal file

Binary file not shown.

BIN
WATER/T2.LIB Normal file

Binary file not shown.

7
WATER/T2.PAS Normal file
View file

@ -0,0 +1,7 @@
unit t2;
{$L wat2.obj}
interface
procedure wat2;far;
implementation
procedure wat2;external;
end.

BIN
WATER/T2.TPU Normal file

Binary file not shown.

BIN
WATER/T3.INT Normal file

Binary file not shown.

BIN
WATER/T3.LIB Normal file

Binary file not shown.

7
WATER/T3.PAS Normal file
View file

@ -0,0 +1,7 @@
unit t3;
{$L wat3.obj}
interface
procedure wat3;far;
implementation
procedure wat3;external;
end.

BIN
WATER/T3.TPU Normal file

Binary file not shown.

7
WATER/T4.PAS Normal file
View file

@ -0,0 +1,7 @@
unit t4;
{$L wat4.obj}
interface
procedure wat4;far;
implementation
procedure wat4;external;
end.

BIN
WATER/T4.TPU Normal file

Binary file not shown.

BIN
WATER/TAUSTA.LBM Normal file

Binary file not shown.

110
WATER/TESTI.PAS Normal file
View file

@ -0,0 +1,110 @@
uses crt;
var f : file;
buf : array[0..41000] of byte;
pal : array[0..768] of byte;
font : array[0..320*38] of byte;
kuva : pointer;
x : word;
procedure setrgb(c,r,g,b:byte);
begin
port[$3c8] := c;
port[$3c9] := r;
port[$3c9] := g;
port[$3c9] := b;
end;
procedure waitr;
begin
setrgb(0,0,0,0);
asm
mov dx,$3da
@@13: in al,dx
test al,8
jnz @@13
@@14: in al,dx
test al,8
jz @@14
end;
setrgb(0,43,0,0);
end;
procedure joku;
begin
asm
mov ax,$a000
mov es,ax
mov si,offset buf
mov bx,offset font
mov dx,158*37
@a: lodsw
or ax,ax
je @no
mov cx,ax
@b: lodsw
mov di,ax
mov al,byte ptr ds:[bx]
mov byte ptr es:[di],al
loop @b
@no:
inc bx
dec dx
jnz @a
end;
end;
var a: byte;
begin
getmem(kuva,64000);
asm
mov ax,$13
int $10
end;
fillchar(font,sizeof(font),#15);
for x := 0 to sizeof(font) do font[x] := x and 15;
assign(f,'bkg.clx');
reset(f,1);
seek(f,10);
blockread(f,pal,768);
for x := 0 to 255 do setrgb(x,pal[x*3+0],pal[x*3+1],pal[x*3+2]);
{ blockread(f,mem[$a000:0],64000);}
close(f);
{
assign(f,'o:wat4.dat');
reset(f,1);
blockread(f,buf,filesize(f));
close(f);
joku;
assign(f,'o:wat3.dat');
reset(f,1);
blockread(f,buf,filesize(f));
close(f);
joku;
assign(f,'o:wat2.dat');
reset(f,1);
blockread(f,buf,filesize(f));
close(f);
joku;
}
assign(f,'o:\wat1.dat');
reset(f,1);
blockread(f,buf,filesize(f));
close(f);
{ joku;}
a := 157;
repeat
waitr;
joku;
for x := 0 to 38 do font[x*158+a] := x+1;
dec(a);
until keypressed;
end.

BIN
WATER/WAT1.DAT Normal file

Binary file not shown.

BIN
WATER/WAT1.OBJ Normal file

Binary file not shown.

BIN
WATER/WAT2.DAT Normal file

Binary file not shown.

BIN
WATER/WAT2.OBJ Normal file

Binary file not shown.

BIN
WATER/WAT3.DAT Normal file

Binary file not shown.

BIN
WATER/WAT3.OBJ Normal file

Binary file not shown.

BIN
WATER/WAT4.DAT Normal file

Binary file not shown.

BIN
WATER/WAT4.OBJ Normal file

Binary file not shown.

129
WATER/WATERBOW.POV Normal file
View file

@ -0,0 +1,129 @@
// Persistence Of Vision raytracer version 1.0 sample file.
// By Various and Sundry
//
// Revision Note:
// Reworked both the declared wood texture (turb and colormap) and
// the application of it on the floor plane.
// Note that wood doesn't really look like much until you get around
// 640x480. Anti-aliasing helps even more to bring out the detail. -dmf
#include "shapes.inc"
#include "colors.inc"
#include "textures.inc"
// a light tan wood with brown rings
#declare New_Tan_Wood = texture {
wood
turbulence 0.03
colour_map {
[0.0 0.4 colour red 0.6 green 0.45 blue 0.25
colour red 0.65 green 0.45 blue 0.25]
[0.4 1.01 colour red 0.6 green 0.4 blue 0.2
colour red 0.25 green 0.15 blue 0.05]
}
}
camera {
direction <0.0 0.0 1.0>
up <0.0 1.0 0.0>
right <1.333 0.0 0.0>
translate <0.0 0.0 -56.0>
}
// A bowl
object {
intersection {
sphere { <0.0 0.0 0.0> 1.0 }
sphere { <0.0 0.0 0.0> 0.9 }
plane { <0.0 1.0 0.0> 0.5 }
}
bounded_by {
sphere { <0.0 0.0 0.0> 21.0 }
}
scale < 20.0 20.0 20.0 >
texture {
colour Red
ambient 0.2
diffuse 0.8
reflection 0.1
}
colour Red
}
// Water
object {
intersection {
sphere { <0.0 0.0 0.0> 1.0 }
plane { <0.0 1.0 0.0> 0.49 }
}
bounded_by {
sphere { <0.0 0.0 0.0> 21.0 }
}
scale < 19.5 19.5 19.5 >
texture {
ripples 0.5
frequency 100.0
scale <100.0 100.0 100.0>
reflection 0.6
refraction 0.6
ior 1.2
}
colour Grey
}
// Wood floor
object {
plane { <0.0 1.0 0.0> -20.0 }
texture { 0.015 // seems to reduce "moire" effect on the grain
New_Tan_Wood // Think of a log, facing you...
scale <2 2 1> // z is infinite, so 1 is ok...
rotate <0 90 0> // turn the "log" to the x axis
rotate <0.0 0.0 10.0> // tilt the log just a little bit
translate <0 -4 0> // lift it to where the rings are larger
rotate <5 0 0> // tip it again, this time on x axis
ambient 0.15
diffuse 0.75
reflection 0.1
}
colour Tan
}
// Back wall
object {
plane { <0.0 0.0 1.0> 100.0 }
texture {
Red_Marble
scale <100.0 100.0 100.0>
ambient 0.15
diffuse 0.8
reflection 0.1
}
color Pink
}
// A sky to reflect in the water
object {
plane { <0.0 1.0 0.0> 150.0 }
texture {
colour red 0.5 green 0.5 blue 1.0
ambient 0.15
diffuse 0.8
}
colour red 0.5 green 0.5 blue 1.0
}
// Light source
object {
light_source { <100.0 120.0 -130.0>
colour White
}
}

71
WATER/WORLD12.INC Normal file
View file

@ -0,0 +1,71 @@
// Persistence Of Vision Raytracer version 1.0 sample file.
//------------ world sphere { w/ Violet Clouds
#declare Violet_Sky = texture {
gradient <0 1 0>
colour_map {
[0.000 0.339 colour red 0.208 green 0.067 blue 0.235 alpha 0.000
colour red 0.498 green 0.165 blue 0.514 alpha 0.000]
[0.339 0.559 colour red 0.498 green 0.165 blue 0.514 alpha 0.000
colour red 0.624 green 0.165 blue 0.514 alpha 0.000]
[0.559 0.686 colour red 0.624 green 0.165 blue 0.514 alpha 0.000
colour red 0.835 green 0.400 blue 0.514 alpha 0.000]
[0.686 0.983 colour red 0.835 green 0.400 blue 0.514 alpha 0.000
colour red 0.988 green 0.651 blue 0.631 alpha 0.000]
[0.983 1.001 colour red 0.988 green 0.651 blue 0.631 alpha 0.000
colour red 0.208 green 0.067 blue 0.235 alpha 0.000]
}
}
#declare deeper12 = texture {
gradient < 0 1 0 >
colour_map {
[0.000 0.558 colour red 0.133 green 0.008 blue 0.212 alpha 0.375
colour red 0.471 green 0.400 blue 0.506 alpha 0.9000]
[0.558 0.983 colour red 0.471 green 0.400 blue 0.506 alpha 0.9000
colour red 1.000 green 0.996 blue 0.996 alpha 0.8000]
[0.983 1.001 colour red 1.000 green 0.996 blue 0.996 alpha 0.8000
colour red 0.133 green 0.008 blue 0.212 alpha 0.375]
}
}
#declare cloud12 = texture {
turbulence 0.8
bozo
colour_map {
[0.000 0.212 colour red 1.000 green 1.000 blue 1.000 alpha 1.000
colour red 1.000 green 1.000 blue 1.000 alpha 1.000]
[0.212 0.534 colour red 1.000 green 1.000 blue 1.000 alpha 1.000
colour red 0.341 green 0.137 blue 0.302 alpha 0.604]
[0.534 0.627 colour red 0.341 green 0.137 blue 0.302 alpha 0.604
colour red 0.259 green 0.196 blue 0.302 alpha 0.471]
[0.627 0.983 colour red 0.259 green 0.196 blue 0.302 alpha 0.471
colour red 0.271 green 0.216 blue 0.365 alpha 0.404]
[0.983 1.001 colour red 0.271 green 0.216 blue 0.365 alpha 0.404
colour red 1.000 green 1.000 blue 1.000 alpha 1.000]
}
}
#declare world12 = object {
quadric { Ellipsoid scale <20000 10000 20000> inverse }
texture {
Violet_Sky scale <40000 8000 400000> translate <0 5000 0>
ambient 1.0 diffuse 0.0
}
//texture { deeper12 scale <40000 10000 400000> translate <6000 6000 0>
//rotate <0 0 20> }
texture { cloud12 scale <20000 8000 10000> translate <20000 3000 0>
rotate <0 0 0> }
texture { deeper12 scale <40000 10000 10000> translate <6000 6000 0>
rotate <0 0 20> ambient 0.2 diffuse 0.3 }
}

1
WATER/X.BAT Normal file
View file

@ -0,0 +1 @@
copy demo.exe \u2\main\data\rayscrl.exe