A camera object specifies the following properties of a camera:
while for an orthographic one it's simply:
This odd-seeming definition is (a) easy to calculate with and
(b) well-defined in both orthographic and perspective views.
(0,0,-1); it
is not resized, just painted behind everything else as is. See Image objects.
The syntax for a camera is:
<camera> ::=
[ "camera" ] (optional keyword)
[ "{" ] (opening brace, generally required)
[ "define" <name> ]
"<" <filename>
|
":" <name>
|
(or any number of the following,
in any order...)
"perspective" {"0" | "1"} (default 1)
(otherwise orthographic)
"stereo" {"0" | "1"} (default 0)
(otherwise mono)
"worldtocam" <transform> (see transform syntax above)
"camtoworld" <transform>
(no point in specifying both
camtoworld and worldtocam; one is
constrained to be the inverse of the other)
"halfyfield" <half-linear-Y-field-at-unit-distance>
(default tan 40/2 degrees)
"fov" (angular field-of-view if perspective,
linear field-of-view otherwise.
Measured in whichever direction is smaller,
given the aspect ratio. When aspect ratio
changes -- e.g. when a window is reshaped --
"fov" is preserved.)
"frameaspect" <aspect-ratio> (X/Y) (default 1.333)
"near" <near-clipping-distance> (default 0.1)
"far" <far-clipping-distance> (default 10.0)
"focus" <focus-distance> (default 3.0)
"bgcolor" <float RGB(A) color> (default 1/3 1/3 1/3 1)
"bgimage" { <image specification> } (default no background image)
[ "}" ] (matching closebrace)