Ver. 0.5 BETA
- NEW Case sensitiviy options:
In dat files...
> case_sensitive_yes -- All words checked for exact case. Keywords must be
in upper case. (*Old DKB Style*)
> case_sensitive_no -- Case is ignored for all words.
> case_sensitive_opt -- DEFAULT - All words checked for exact case except
keywords. Keywords will be accepted in upper and/or
-> command line -- /tY = yes, /tN = no, /tO = opt
- cnvdat.c to convert old dat files included with pvsrc.
- C++ style commenting (\\ & /* */) added by Drew Wells
- # and ; are now ignored by the tokenizer/parser for those who would like
to use them. #include is now ok.
- Sample dat files converted to lower case keywords
- New stats display outputs to stdout for better redirection.
- New lighting routines by David Buck.
- The declared colors Red, Green, and Blue in colors.dat are now CRed, CBlue,
- The declared quadric Sphere in shapes.dat is now QSphere.
- Textures.dat has been cleaned up and commented.
- Height fields added by Doug Muir
- Bump Mapping added by Doug Muir and Drew Wells
- Materials mapping added by Drew Wells.
- Gouge mapping from old code by Drew Wells & Doug Muir added by Aaron Collins.
- Time to trace display added to program stats by Bill Pulver.
- ONION & LEOPARD textures added by Scott Taylor.
- IBM-PC grayscale display option was thought of by both Scott Taylor and
Grant Hess. Actual implementation of it by Aaron Collins.
- Interpolation options to smooth the image and bump maps from code by
Girish T. Hagan added by Drew Wells
- Verbose option now displays more information, including file
being traced, resolution, and current line number of how many total.
- New screen credit style.
- Option +vO added to allow old-style terse verbose (just line #'s).
- Wood texture bug found by John Swenson fixed. Wood now uses true
cylinders. This may affect some old pictures, but is more realistic.
- Texture.doc describes the steps to add a new texture to the source.
- Added Alexander Enzmann's latest modifications:
A. Revised 4th order (Quartic) surfaces for better results. When using the
new Sturmian Sequences for QUARTICS, The digial acne is now all but
B. New code giving the ability to render 5th and 6th order surfaces. These
use the new Sturmian Sequences to solve the surface intersections.
C. Bezier bicubic patch surfaces! - Smooth curved surfaces are implemented
by breaking the curve into tiny subpatches when rendering. Teapots,
D. "CLIPPING" primitives added. These work almost like "BOUNDING" shapes,
but will cause surfaces protruding beyond the bound to be cut off. The
BOUNDED_BY primitive may cause this to happen but it is not guaranteed
to, nor was it meant to be used that way. Before the CLIPPED_BY was
added you needed to CSG with a clear box or sphere shape to get this
effect. The new CLIPPED_BY tests are much, much faster than CSG tests.
E. MacIntosh color display output routines are now included.
F. A few of the larger static data items are now malloc'ed instead.
G. Made more universal compiler-specific header strings for fopen() binary
modes "rb", "wb", etc., and for credit printout and ending program
actions. All of them have default definitions in FRAME.H if left
unspecified. For porting to other machines or compilers, check FRAME.H
first for the default definition, then add in the definition to the
machine-specific header files if they need modification.
H. IBM color palette changes allow use of 3-3-2 RGB display using 256 colors
on (S)VGA display adapters. This uses 3 bits for R, 3 for G and 2 for B.
It is different than the HSV coloring system in that while the colors are
less accurate, there are more shades of them. Can be better for showing
shadows and gradients, etc.
I. Added the TRANSMIT keyword as a flag for whether or not the object will
transmit light without refracting it. Follow the keyword with either 0.0
or 1.0 to turn off or on the TRANSMITtance of an object. This is rather
like the old ALPHA facility before it was interwoven into the REFRACTION
algorithm. The idea behind this is that you may want to specify a
different level of TRANSMITtance vs. REFRACTION.
J. Added new mapping options, sphere, cylinder, torus, etc.
- Added changes made by Aaron A. Collins:
A. Made exit codes consistent throughout. The program now returns an exit
code (ERRORLEVEL for you IBM-er's) of 1 if unsuccessful or 0 of all went
well with the trace.
B. Raised number of prioq' from 20 to 32. This should cure some instances
of crash during parsing that have been reported.
C. Added display "greyscale" option to make all displayed hues of red,
green and blue equal and of specially weighted value. The weighting used
is that for B/W television, which emulates the response of the human eye.
The IBM specific code also includes a grey-scale optimized palette using
64 levels of grey. This will display nice smooth gradients and shadows,
etc. and generally looks better than the color display routines now used.
Please note that this option only affects the colors used for the
onscreen display. The output file will still be in full, true 24-bit
Note this will work on any machine's display adapter at any resolution.
VGA palette code and the general idea of greyscaling the display output
was courtesy of Grant Hess and Scott Taylor.
D. The IBM version supports the Hercules Graphics Workstation card now, and
should work on other TIGA-based 24-bit color cards as well. The 16 and
24-bit modes of the card are supported at 512x480 resolution. The code
for the HGWS/TIGA was provided courtesy of Jay S. Curtis.
E. If no file was requested to be generated (-f), which is extremely rare,
the program locked up and died. This is now fixed.
F. The Macintosh conversion of DKB 2.12 out there called MACPORT.CPT is now
included with PV-Ray. This includes a better GUI-oriented interface
and (I believe) color display routines. This port was done by Thomas
Okken. Among his fixes was a solution that I had heard of and had since
forgotten about: Two ANSI-C reserved words "entry" and "power" were used
as formal function parameters. These have been changed to something
G. Someone (unfortunately there were no credits given to relate) had
released the file XENIXPRT.DOC which was also incorporated into the
new release. This makes the program port to SCO Xenix's "C" compiler
nicely (with work-arounds for their buggy "floor()" function). This fix
also uncomplicates some of the quartic math routines which some other
not-quite-up-to-speed "C" compilers (which shall remain nameless) also
tossed their cookies on.
H. The fixed VESA routines and Sierra HiColor routines by Charles Marslett
(CIS: 73317,3662) are now added to POV-Ray. These changes now allow
32,768 colors on VESA or Tseng Labs 4000 chip set SVGA cards equipped
with Sierra HiColor palette DAC's. These modifications also fixed the
VESA SVGA adapter display routines (the original VESA routines were
converted from IBM assembler, and didn't work, because I never had a
VESA compatible SVGA card to try them on!) Also included in Charles'
fixes were support of 800x600x256 (Tseng 3000, 4000, and VESA) and
1024x760x256 (Tseng 4000 and VESA) and 1280x1024x256 (sorry, VESA only)
I. Added global display parameter "Palette option" that will use alternate
palette color selection methods, if applicable. For all machine-specific
ports there is mode '0' or unspecified (default), which is the standard
method used in previous versions, and 'G', for grey-scale display. To
use a palette option, simply add the mode letter (ex. 'g' or '0') after
specifying the type of display (i.e. "+d3g" to use the greyscale option
on video mode 3.) If you use the display autodetection of PV-Ray by
normally saying just "+d", use the option "+d0g" to add grey scaling but
still use the same autodetected video mode. Specifiying the default of
just "+d" is now equivalent to saying "+d00". The IBM-specific port also
includes the palette option '3' for using a 3-3-2 palette instead of the
usual HSV->RGB one (see #H in Alexander Enzmann's changes above). The
IBM port also uses a greyscale-optimized palette of 64 continuous shades
of grey if the 'G' palette option is selected (see #C above). The IBM
port also now supports the Sierra HiColor palette DAC, by using palette
option 'H' (see #H above).