This file contains an extremely abbreviated description of the command line flags, initialization file statements, and data file declarations for Polyray. See "polyray.doc" for more details. Syntax: polyray datafile [ options ] Command line options: -a Perform simple antialiasing (neighbor averaging) -A Perform adaptive antialiasing (based on threshold) -b pixels pixels calculated between file flushes -B Flush the output file every scan line -d probability Dither objects using the given probability -D scale Dither all rays using the given probability -J Perform jittered antialiasing (fixed # of samples/pixel) -M maxprims Change the maximum # of primitives (default 1024) -o filename Output file name (default "out.tga") -p bits/pixel Number of bits per pixel 16/24/32 (default 16) -Q Abort if any key is hit during trace -q flags Turn on/off various global shading options -R Resume an interrupted trace -s samples # of samples per pixel when performing antialiasing -S Render using scan conversion rather than raytracing -t status_vals Status display type [0=none,1=totals,2=line,3=pixel]. -T threshold Threshold to start oversampling (default 0.2) -u Write the output file in uncompressed form -v Trace from bottom to top -V mode Use VGA display while tracing [0=none,1=VGA,2=SVGA] -W Wait for key before clearing display -x columns Set the x resolution -y lines Set the y resolution -z start_line Start a trace at a specified line Initialization file ("polyray.ini") keywords: abort_test true/false/on/off alias_threshold [Value to cause adaptive anitaliasing to start] antialias none/filter/jitter/adaptive display none/vga/svga max_level [max depth of recursion] max_lights [max # of lights] max_queue_size [max # of objects in a priority queue] max_slab_count [max # of bounding slabs] max_samples [# of samples to use with jittered/adaptive antialiasing] pixel_size [16, 24, 32] pixel_encoding none/rle renderer ray_trace/scan_convert shade_flags [default/bit mask of flags, see section 1.7.1.4] shadow_tolerance [miminum distance for blocking objects] status none/totals/line/pixel Any lines starting with "//" will be treated as comments & ignored. Input file syntax: [viewpoint statement] [object declaration] [conditional statement] define token expression define token [object declaration] define token [texture declaration] define token [numerical/vector expression] total_frames val start_frame val end_frame val outfile "name" outfile name bounding_slab file_flush xxx include "filename" background color background expression light color, location light location spot_light color, location, pointed_at, Tightness, Angle, Falloff spot_light location, pointed_at Viewpoint declaration: viewpoint { [ from vexper ] [ at vexper ] [ up vexper ] [ angle fexper ] [ hither fexper ] [ resolution fexper, fexper ] [ aspect fexper ] [ yon fexper ] [ dither_rays fexper ] [ dither_objects fexper ] [ max_trace_depth fexper ] } Object declaration: object { Shape declaration [ texture declaration ] [ rotate/translate/scale/shear declaration ] [ bounds object] [ clips object] } Shape Declarations: bezier subdivision_type, flatness_value, u_subdivisions, v_subdivision, [ 16 comma-separated vertices, i.e. , , ..., ] blob threshold: blob_component1 [, sphere , strength, radius ] [, cylinder , , strength, radius ] box , cone , r0, , r1 cylinder , , r disc , , r disc , , ir, or function f(x,y,z) height_field "filename" height_fn xsize, zsize, min_x, max_x, min_z, max_z, expression height_fn xsize, zsize, expression lathe type, direction, total_vertices, [, ] [, etc. for total_vertices vertices] parabola , , r polygon total_vertices, [, ] [, etc. for total_vertices vertices] polynomial f(x,y,z) sphere , radius sweep type, direction, total_vertices, [, ] [, etc. for total_vertices vertices] torus r0, r1, , patch , , , , , object1 + object2 - Union object1 * object2 - Intersection object1 - object2 - Difference ~object1 - Inverse Root solver declarations (for blobs, polynomials, splined lathes, and tori): root_solver Ferrari root_solver Vieta root_solver Sturm Object modifier statements: translate rotate scale shear yx, zx, xy, zy, xz, yz shading_flags flag1+flag2+... [ texture declaration ] Shading flag values: 1 = Shadow_Check, 2 = Reflect_Check, 4 = Transmit_Check, 8 = Two_Sides, 16 = Cast_Shadow Textures: texture { [ texture declaration ] [ rotate/translate/scale/shear ] } Texture declarations: surface { [ surface declarations ] } noise surface { [ surface declarations ] } special surface { [ surface declarations ] } checker texture1, texture2 hexagon texture1, texture2, texture3 Surface declarations: color ambient scale ambient color, scale diffuse scale diffuse color, scale specular color, scale specular scale reflection color, scale reflection scale transmission color, scale, ior transmission scale, ior microfacet kind angle Microfacet kinds: Blinn, Cook, Gaussian, Phong, Reitz. Noise Surface declarations: color ambient scale diffuse scale specular color, scale reflection scale transmission scale, ior microfacet kind angle color_map(map_entries) bump_scale fexper frequency fexper phase fexper lookup_fn index normal_fn index octaves fexper position_fn index position_scale fexper turbulence fexper Conditional processing: if (cexper) [single declaration] if (cexper) { [object/light/... declarations] } else { [other object/light/... declarations] }