home *** CD-ROM | disk | FTP | other *** search
-
- 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 **
-
-