home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Encyclopedia of Graphics File Formats Companion
/
GFF_CD.ISO
/
formats
/
prt
/
spec
/
prt.txt
Wrap
Text File
|
1994-06-01
|
6KB
|
243 lines
PRT INPUT FILE FORMAT
Version 1.0
Copyright (C) Kory Hamzeh, 1990.
Initially prt used the NFF file format. Then I started adding features to it,
and decided not to call it NFF since it wasn't NFF anymore (makes sense,
doesn't it?).
Here is a list of keywords:
from
at
up
angle
resolution
light
background
surface
cone
sphere
hsphere
polygon
ring
quadric
instance
end_instance
instance_of
Here is an explanation of each keyword:
----------
Each input file must begin with the following keywords:
from %g %g %g
at %g %g %g
up %g %g %g
angle %g
resolution %d %d
The parameters are:
From: the eye location in XYZ.
At: a position to be at the center of the image, in XYZ world
coordinates. A.k.a. "lookat".
Up: a vector defining which direction is up, as an XYZ vector.
Angle: in degrees, defined as from the center of top pixel row to
bottom pixel row and left column to right column.
Resolution: in pixels, in x and in y.
----------
Light sources:
light X Y Z
Format:
light %g %g %g
This keyword defines the position of the light sources. All light sources
must be defined before any objects are defined.
----------
Background color:
background R G B y
Format:
background %g %g %g y
The background color in RGB. The last field is used for color cueing which
is not implemented yet and must always be 'y'.
----------
Surface properties:
surface Rr Rg Rb Ks Fr Fg Fb T Ar Ag Ab Dr Dg Db Sr Sg Sb P Ior
Format:
surface %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g %g
The parameters are:
Rr Rg Rb The reflective color triplet. This value should always
be 1 1 1 unless you want this surface to reflect
different percentage per color component.
Ks The specular component. This value is the percentage
of light that is reflected from this object. A value
of 0 means no reflection, and a value of 1 means a
perfect reflector (mirror).
Fr Fg Fb The refractive color triplet. This value should always
be 1 1 1 unless you want this surface to refract
different percentage per color component.
T Transparency value. The amount of light that can go
through this object. A value of 0 means a totally opaque
object. A value of 1 means a totally transparent object.
Ar Ag Ab The ambient color for this object. This means the color
of an object if it were fully shadowed. All objects are
assigned this color before any shading algorithm is
started.
Dr Dg Db The diffuse color component.
Sr Sg Sb This value is the color of the specular highlights.
Usually it should be 1 1 1.
P The Phong cosine power for highlights. The higher the
number (for example 100), the smaller the highlight.
Ior Index of refraction.
---------
Cylinder or cone:
cone
base.x base.y base.z base_radius
apex.x apex.y apex.z apex_radius
Format:
cone
%g %g %g %g
%g %g %g %g
--------
Sphere:
sphere center.x center.y center.z radius
Format:
sphere %g %g %g %g
--------
Hollow sphere:
sphere center.x center.y center.z radius thickness
Format:
sphere %g %g %g %g %g
--------
Polygon: A polygon is defined by a set of vertices. With these databases,
a polygon is defined to have all points coplanar. A polygon has only
one side, with the order of the vertices being counterclockwise as you
face the polygon (right-handed coordinate system). The first two edges
must form a non-zero convex angle, so that the normal and side
visibility can be determined. Description:
polygon total_vertices
vert1.x vert1.y vert1.z
[etc. for total_vertices vertices]
Format:
polygon %d
[ %g %g %g ] <-- for total_vertices vertices
--------
Ring:
A ring is a flat coplaner round shaped object. For a ring object,
you must specify the center, 2 points on the surface of the ring,
the inner radius, and the outer radius. If the inner radius is non-zero,
then the ring will have a hole in the middle with the given radius.
ring center.x center.y center.z p1.x p1.y p1.z p2.x p2.y p2.z or ir
Format:
ring %g %g %g %g %g %g %g %g %g %g %g
----------
Quadratic:
You can raytrace any quadratic object by specifying the center,
min, max, and coefficients. This is a very powerful object type.
It can do ellipsoids, hyperbolas, and any other quadratic surface.
quadric center.x center.y center.Z
min.x min.y min.z max.x max.y max.z
a b c d e
f g h i j
The fields "a" through "j" are the coefficients.
Format:
quadric %g %g %g
%g %g %g %g %g %g
%g %g %g %g %g
%g %g %g %g %g
----------
Object instances.
Defining an object instance:
You may define a group of objects (and surface properties) to an
instance and assign a name to that instance. When the instance
is then used, all the objects in that instance will be placed
relative to the given origin. Note that instances by themselves
do not create any objects; the objects are created when the
instance is referenced. Instances can not be nested.
Instances are used as follows:
instance nameofthisinstance
[ objects and surface properties ]
end_instance
where "nameofthisinstance" is a user assigned name such
as, for example, "tile_pattern".
An instance is referenced as follows:
instance_of nameofinstance loc.x loc.y loc.z
where
nameofinstance is the name assigned to a previously
defined object instance.
loc.x, loc.y, loc.z, the location of this object group.
----------
** END OF DOCUMENT **