home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-03 | 94.6 KB | 2,053 lines |
- This file is a historical record of changes to POV-Ray 3.0 as we develop it.
-
- 3.00e 09/03/96 Andreas Dilger
- Fixed problems with file input from stdin and file output to stdout.
- Fixed problem with PNG image maps.
- frame.h: Organized and added comments describing most constants.
- Removed unused constant ANSIFUNC (not used in base POV code).
- Since the changes are widespread, the whole file is included.
- Added new constants for calculations with M_PI (M_PI_2, M_PI_180, etc).
- Changed MAError prototype to use size_t instead of long to quiet warnings.
- UNIX: Fixed up prototypes and variable types to remove many compiler warnings.
- Fixed problem with interrupt handler when writing to a broken pipe.
- Fixed problem with dithering code for mosaic preview.
-
- 3.00d 08/13/96 Dieter Bayer
- Fixed another heightfield bug and other minor heighfield changes.
-
- 3.00c 08/07/96 Chris Young
- Fixed problem with some dda errors in height fields
- Fixed mem.c problems. ANSI C says you can't do math on void *
- Fixed octree problem with NULL ptr (perhaps twice. Two users submitted fix)
- Fixed line number bug. Comments with // got double counted.
- MS-Dos Djgpp pow function work-around.
-
- 3.00b 07/24/96 Andreas Dilger
- Fixed bug in 3.00a patch that did (void *) arithmetic for pov_memmove.
- Changed vbuffer.c to draw bounding boxes in white if palette is grayscale.
- Removed unused typedef from gifdecod.c which conflited with Linux SVGA.
- Linux SVGA: Added grayscale palette for preview, fixed video mode selection.
-
- 3.00a 07/19/96 Andreas Dilger
- Fixed bug with new radiosity flags and saving empty radiosity _ot_tree.
- Fixed MEM_HEADER when only MEM_TRACE was defined in mem.c.
- Fixed mem_header to align on 8 byte boundaries for those machines that need it.
- Changed pov_realloc to free the memory when size = 0, and return NULL.
- Changed pov_memcpy() to pov_memmove() and made it work properly, and made
- all instances of memmove to a new POV_MEMMOVE macro.
- XWINDOWS: Changed colormap handling to dynamically allocate colors.
-
- 3.00 07/07/96 Chris Young
- Fixed another problem with camera "angle". Scenes will look different
- from both beta.7f and original beta.
- Fixed (partially) radiosity resumed traces so scene.rca isn't deleted
- when there is a controled user abort.
- Changed version to 3.00 Note two zeros. Future patches will be 3.00a, 3.00b
- etc. and future public bugfix releases will be 3.01, 3.02 etc.
- Included spearate patch for DISTRIBUTION_MESSAGE for official compiles only.
- POVMSS.ZIP contains updated USER_xxx.DOC & CMPL_xxx.DOC files.
-
- 3.0.beta.7k 07/03/96 Chris Young
- Fixed warning for camera inside object
- Added changes to tokenize.c for Windows from Chris Cason
-
- 3.0.beta.7j 07/02/96 Chris Young
- Fixed polygon normal bug
- Added trap for negative sqrt
- Added trap for illegal mix of patterned and layered texture
- Changed distribution message text
- MSDOS: Removed beta expiration date. Added MS-Dos credits.
-
- 3.0.beta.7i 06/27/96 Andreas Dilger
- Change 3d jitter code to remove redundant calculation via lookup table
- (replaces crc lookup table).
- Remove the +Q10 and +Q11 options and replace them with +QR and a warning msg.
- Update png_pov.c to use new libpng API.
- Change compression setting for PNG to default from maximum since there was
- little benefit and a considerable slowdown at the maximum compression.
- Fix bad memory free in TTF.
- UNIX: Fix up interrupt handling.
- Remove useless calcs in dithering code.
- Defer X dither-cube setup to reduce startup time and unnecessary calcs.
-
- 3.0.beta.7h 06/26/96 Chris Young
- Fixed qsort macro in super.c
- Fixed error line number reporting in #while loop (again)
- MSDOS: Added changes for DJGPP v-2.0 including new pmode.a
- and ztimer.a. Requires old ld.exe linker and old go32.exe
- to compile & link.
-
- 3.0.beta.7g 06/21/96 Chris Young
- Fixed problem with // comments ending in \r but not \n
- MSDOS: Fixed 24-bit truecolor and VESA mode selection.
-
- 3.0.beta.7f 06/21/96 Dieter Bayer
- Fixed bug in camera's angle keyword (the length of the direction vector was
- not calculated correctly. BEWARE!, old images using angle will look
- different)
- Fixed prism bug when the first height was larger than the second height
- Improved perpendicular camera vectors warning message
-
- 3.0.beta.7e 06/16/96 Chris Young
- Added COOPERATE_0 calls for Mac version
- Fixed parsing dots count.
- MSDOS: Fixed DJGPP 1.x VGA support.
- Minor change in Diamond 24X truecolor.
-
- 3.0.beta.7d 06/13/96 Chris Young
- MSDOS ONLY
- Major rewrite of video code that is a combination of our old
- non-VESA code and new VESA 2.0 code submitted by Kendall.
- Both watcom and borland compiles and works for most modes.
- However DJGPP is totally messed up. I plan to trash DJGPP
- and start over for DJGPP 2.0 rather than fix it for 1.14.
-
- 3.0.beta.7c 06/13/96 Chris Young
- Note: Ignore previous 7c patch from Eduard. Instead
- unzip the enclosed zlib102.zip into source\zlib directory.
- Then apply this patch which makes a minor change in zlib.
-
- 3.0.beta.7b 05/27/96 Dieter Bayer
- Improved sor error messages
- Fixed bug with multiple halos using already declared halos
- Fixed bug in Rotate_Plane() (it's sufficient to rotate the normal
- in case there's no transformation; speeds things up)
- Fixed bug that occured when a CSG object had no texture
-
- 3.0.beta.7a 05/10/96 Chris Young
- Fixed image_map crash in POV3DEMO\SURFACE\WARP1.POV
-
- 3.0.beta.7 05/02/96 Chris Young
- Added QSORT macro to frame.h, bbox.c & bsphere.c
- Updated version to beta.7.
-
- 3.0.beta.6j 05/02/96 Dieter Bayer
- Added several fixes by Chris Young
- Changed dda_traversal() errors to debug messages
- Fixed blob lighting bug (increased surface threshold to avoid surface acne
- due to surface points lying in shadow thought they actually are not)
- Fixed bugs in blob and mesh opacity tests
- Fixed bug in plane normal calculation
- Fixed problems in Copy_Ray_Containers (all entries were copied instead
- of copying only the valid entries).
- Fixed bug in Parse_Polygon() (we parse 3d points not 2d points, thus
- we have to test 3d points when looking for closed polygons)
- Fixed bug in lighting code (distance based attenuation didn't work anymore)
- Fixed bug in Copy_Blend_Map() (New->Users must not be increased if it is
- negative because a negative value is used to indicate that the map
- is a default map that lies in the data segment and not on the heap.
- Several successive copies of the map would lead to a positive Users
- value and Destroy_Blend_Map() would try to free memory in the data
- segment. That's not possible of course!)
-
- 3.0.beta.6i 04/30/96 Andreas Dilger
- Fix problem with TTF accent centering.
- Fix problems with PNG flushing and added some more error checking.
- Fix zlib corruption thanks to zlib authors.
- Add source file location of smallest/largest alloc for MEM_STATS = 2.
- Remove test for arcsin as requested by Tim Wegner.
- Make X-Windows display code work properly during animations.
- Add MEM_STATS to UNIX config.h.
-
- 3.0.beta.6h 04/21/96 Dieter Bayer and Chris Young
- Changed transformation functions (added trans parameter to pass precalculated
- transform to speed up parsing)
- Fixed image map memory leaks (patch by Chris Young)
- Fixed bug in MEM.C (as reported by Eduard Schwan)
- Fixed bug that occured with polygons starting with co-linear points
- Fixed plane shearing bug
- Fixed cylindrical blob crack bug
- Fixed texture=NULL bug in initialize_ray_container_state() (in RENDER.C)
- Fixed lathe bug (too many intersections)
- Fixed height field dda_traversal() bug
- Fixed halo dust coloring bug (colors were ignored; see updated docs)
- Fixed ground fog bug (the density formula was wrong)
- Fixed bug in intersect_spotlight() in ATMOSPH.C
-
- 3.0.beta.6g 04/15/96 Chris Young
- Fixed negative log problem.
- Prohibit slope_map when used in a pattern that can't use it.
- Fixed MEM.C problem from 6e that broke MEM_TRACE
- Includes Andreas' warn changes to make them official
- Added FRAME.H macro NEW_LINE_STRING so Write_INI_File
- can output cr/lf vs just lf.
- Updated MS-Dos config.h to use MEM_STATS 1 and NEW_LINE_STRING
-
- 3.0.beta.6f 04/16/96 Andreas Dilger
- Fix turbulence in fog distance attenuation calculation.
- Change rand() to use full precision, instead of 16 bits.
- Fix declaration of POV_DISPLAY_PLOT_BOX to match actual usage
- Fix #ifdef in mem.c for MEM_LOG_FNAME
- Allow escaping the comment ';' character in INI file settings
- Fix zero scaling check for matrix (again) - check columns instead of rows.
- Fix problem with Grayscale + Alpha PNG output
- Add missing destructors to close_all() for random, radiosity, fractal, histogram
- Fix Locate_file to not add FILENAME_SEPARATOR after DRIVE_SEPARATOR
- Force histogram grid size to divide into image size evenly
- Make a destructor for histograms
- Change hash table size to be a prime number.
- Removed #ifdefs from prototypes in truetype.c
- Cache some tables in truetype.c to speed parsing
- UNIX: Fix up man page
- SVGA: Add border and center SVGA display, allow non-power-of-two scaling,
- add DISPLAY_PLOT_BOX function
- UNIX: Make interrupt handler only set Stop_Flag, instead of actually quitting
- XWIN: Don't force window to be centered, add DISPLAY_PLOT_BOX function, fix
- DirectColor, fix PseudoColor palette selection
-
- 3.0.beta.6e 04/10/96 Eduard Schwan
- Moved COOPERATE calls to more evenly called places in the bounding box and
- vista draw areas.
- Added code to MEM.C and OPTOUT.C to track and display memory usage statistics.
- Turn this on by adding a
- #define MEM_STATS 1
- to config.h. To get even more stats printed, use
- #define MEM_STATS 2"
- I would suggest we ship with level "1" since that's all people will really
- care about.
- Made the Contributing_Authors and Primary_Developers string arrays extern so
- the GUIs can display the names in their own credits boxes if needed. Filled
- in the MEM.H header with MEM prototypes, removing from povproto.h, to be
- more in line with C style. Added more header and code commenting in MEM.C.
- There was a bug in Radiosity for the GUI implementations, where the global
- variables were not being reset each time main() was called. If you set
- radiosity ON, rendered a scene and prematurely interrupted it, then set
- radiosity OFF & rendered a scene, it would crash at the end of the render
- when trying to clean up the non-NULL ot_root variable, which now points to
- freed memory. So at the start of main, a new function Init_Rad_Globals()
- is called which resets all globals.
- MAJOR NOTE!!! If you put global variables in POV-Ray, DO NOT initialize them
- on the declaration line! Create an initializer function and call it from
- main(). That way, the GUI implementations will work correctly. You can
- no longer assume that globals will be set to their initial values every
- time main() is called.
-
- 3.0.beta.6d 04/07/96 Dieter Bayer
- Added hash table look-ups for Find_Reserved() and Find_Symbol() in tokenize.c
- Fixed atmosphere and halo dust color bug (now a color can be specified for
- the atmosphere and halo dust that is used to filter light coming from
- light sources; see docs for more detail)
- Fixed height field bugs (fixed holes that sometimes appeared; fixed gap
- between adjactent height fields; fixed surface acne that sometimes appeared)
-
- 3.0.beta.6c 03/29/96 Dieter Bayer
- Added fog to "camera is inside non-hollow object" warning
- Added code to automically adjust the right and up vectors if the orthographic
- camera is used (if orthographic is used after all other camera parameters
- you'll get the same image area as with the perspective camera; see docs)
- Fixed severe bug in Determine_Apparent_Colour() (weight and texture lists
- were not saved)
- Fixed bug in halo parsing (the color map was adjusted twice for declared halos)
- Fixed bug in halo code (appereance is now independent of any transformations
- applied to the container object)
- Fixed bug in bbox recomputing functions (added check for NULL pointer)
- Fixed bug in Inside_Prism()
- Fixed bug in blob code (individual component textures were not transformed
- properly, i.e. they were not transformed with the object)
- Fixed bug in height field code (in dda_traversal())
- Fixed bug in random stream allocation
- Fixed bug in fog code (fog acne and floating point exceptions)
-
- 3.0.beta.6b 03/19/96 Chris Young and Andreas Dilger
- Fixed substr bug. Now will accept last character in string.
- Various cosmetic fixes from Andreas
- Added Andreas' revised matrix fix
- Fixed USHORT parameter problem in truetype.c
- Fixed DISTANCE_MAXIMUM parsing so zero is permitted
- See UNIXMSS6.ZIP for whole new Unix stuff. No patches.
-
- 3.0.beta.6a 03/17/96 Dieter Bayer, Steve Demlow and Tim Wegener
- Added warning when camera is inside any non-hollow object.
- Fixed bug in Parse_Prism() (Assign_UV_Vec was not used in one place)
- Changed file buffer size display (the file buffer size will be displayed
- only if the file buffer is actually used)
- Fixed the fractal object bounding box problem.
- Fixed matrix bug (a value of 0 was changed to 1)
-
- 3.0.beta.6 03/15/96 Chris Young
- Minor cosmetic changes only in ms-dos specific areas
-
- 3.0.beta.5l 03/14/96 Dieter Bayer
- Fixed bug in sky_sphere transformartion (used inverse transformation)
- Fixed bug with image maps and once option (light amplification) and
- overlayed image maps (dark areas)
-
- 3.0.beta.5k 03/13/96 Chris Young
- Fixed handedness bug that caused Moray problem.
- Put MAX_INCLUDE_FILES back from 25 to 10 (my mistake)
- Changed MAX_LIBRARIES from 10 to 25 as I intended
- MSDOS:Updates for CauseWay fast kbhit().
- Note:Create SOURCE\MSDOS\WATCOM\CAUSEWAY and copy KBHITR.OBJ there.
-
- 3.0.beta.5j 03/13/96 Dieter Bayer
- Fixed a bug in do_light_ray_atmosphere() (atmospheric attenuation wasn't
- correctly handled when the viewpoint was inside a hollow object)
-
- 3.0.beta.5i 03/10/96 Dieter Bayer
- Fixed another small halo bug (at last the halo's appearance is independant
- from the sampling rate; I hope)
-
- 3.0.beta.5h 03/10/96 Dieter Bayer
- Added atmosphere keyword to light source statement. By default light sources
- do interact with the atmosphere. If "atmosphere off" is used with a light
- source it is ignored by the atmosphere.
- Fixed minor bug in Do_Halo()
-
- 3.0.beta.5g 03/04/96 Chris Young
- Changed get_byte() to gif_get_byte()
- Changed some parse error reporting procedures.
- Close all input files before Terminate_POV.
- Complete all error stream activity before fatal shellout.
- MSDOS:Updated expiration date to 01/May/1996
- MSDOS:Updated makefiles for CauseWay DOS Extender
- Do "wmake -f msdoswat.mak CW=1" for CauseWay.
-
- 3.0.beta.5f 03/04/96 Dieter Bayer
- Added missing transformations to fog (affecting the up direction only).
- Changed status screen slightly (aa-options are only shown if aa is used etc.).
- Fixed bug that occured when -f +c was specified.
- Fixed bug with negative atmosphere distance.
- Fixed bug with polygons/prisms and multiple holes. Now any number of closed
- polygons/prisms can be used in a polygon/prism statement. You get a hole
- where an even number of polygons/prisms overlaps (Note the new syntax
- described in the docs).
- Fixed bug in halo code (halo appearance was dependent from number of samples).
- Fixed bug in halo code (light passing through the halo was not attenuated
- by the halo).
- Fixed bug in halo code (attenuation of background light was hardly every
- more than 75%)
- Fixed bug in render/lighting code (a halo was not rendered correctly when
- the camera was inside the halo container).
- Fixed bug in camera vector calculations made when look_at was used.
- Fixed bug in camera parsing (POV-Ray now stops with a fatal error if the
- camera location and look_at point are equal).
- Fixed bug in RENDER.C (precomputed camera constants were not recalculated
- during different frames).
- Fixed bug in blob/lighting code (the textures/weights list was not correctly
- re-allocated).
- Fixed bug with multiple, translucent image maps and once option.
-
- 3.0.beta.5e 03/04/96 Chris Young & Andreas Dilger
- Fixed problem with redeclaring previously declared identifiers
- Added new #ifndef directive
- Fixed problem with default maps on brick, hexagon & checker
- Fixed radiosity and histogram memory leaks
- Fixed radiosity preview bug
- Fixed line number in #while loop
- Fixed #switch, #case, #range bug
- Added multi-component glyph support to ttf
- MSDOS Fixed mosaic problem when using too high res for video.
-
- 3.0.beta.5d 02/27/96 Dieter Bayer
- Added random number to parser (keywords "seed" and "rand")
- Added transformations to sky_sphere
- Fixed bug in Parse_Blob() that caused a filtering object-level texture
- not to work correctly (an element-level texture did work though)
- Fixed bug with scaled spotlights (direction vector has to be normalized
- in Transform_Light_Source() in POINT.C)
- Fixed missing eccentricity keyword bug (used in halos)
- Fixed bug with ground fog (a negative offset moved the fog upwards while
- a positive moved it downwards)
- Fixed bug with subsets of cyclic animations (wrong clock values were calculated)
- Fixed bug in intersect_lathe() that caused a crash sometimes
- Changed ground fog to behave like "real" ground fog, i.e. the fog has a
- constant density for all heights below fog_offset
- Changed behaviour of hollow statement in CSG objects
-
- 3.0.beta.5c 02/23/96 Chris Young
- Fixed problem with animation output file numbering.
- Added %p output path string to shellouts.
- NOTE: Macro FILENAME_SEPARATOR is now a char, not a string.
- Check your config.h for this.
- Other path related changes.
-
- 3.0.beta.5b 02/21/96 Chris Young and Andreas Dilger
- Fixed ttf problem with unsupported kerning type 128.
- Fixed smoothed mosaic for lines > 1280
- Changed default extension handling per forum discussions.
- Fixed problem with default extension on output file.
- Changed radiosity TEMP_FILE_BASE to opts.Scene_Name.
- Allow "Option#value" in INI-style options as alternative to
- "Option=value".
- Added APPEND_FILE_STRING macro.
- Permit commas in brick, checker and hexagon between pigments, normals
- and textures.
- Changes to error messages when file not found.
- Turn equal ended cone into cylinder.
- Misc clean-up of error messages.
- MSDOS:Changed Watcom compile to link fpu emulation.
- UNIX:Misc changes from Andreas.
-
- 3.0.beta.5a 02/13/96 Chris Young
- Fixed free(ptr) that should be POV_FREE(ptr) in octree.c
- Fixed memory leak in declared ttf objects
- Misc video changes in MSDOSVID.C; increased MAXMODES for VESA
- Changed expiration date from mm/dd/yyyy to dd-mmm-yyyy
- Substituted latest PMODE.H & DEBUG.H
-
- 3.0.beta.5 02/07/96 Chris Young
- Fixed problem with gif decoder on lines longer than 2048 pixels
- Fixed bad error reporting when out-of-memory on calloc
- Fixed type cast problem in octree.c
- Changed beta test banner
- Fixed memory leak in declared material_map
- Various ttf fixes from Andreas
- Fixed watcom bug in zconf.h
- Updated all MS-DOS & Windows makefiles for rad_data.c
- Added beta expiration to MS-DOS
- Fixed +P in MS-DOS animations per DMF's design
- Misc Windows fixes for BC 4.52
- Added some (tm) signs, updated some copyright notices
-
- 3.0.beta.4l 04/Feb/96 Jim McElhiney
- Major revision to all radiosity code
- Better set of sample points, stored in new lookup file rad_cache.c
- Multibounce radiosity now supported
- Error bound now adaptive with max possible contribution to surface
- radiosity Initialize/Deinitialize functions installed
- Continue trace after interrupt now supported using <myfile>.rca
- (Radiosity CAche file)
- Free of all radiosity allocated memory after each frame
- No more frame-to-frame cacheing bugs
- Default value auto calculated for Radiosity_Dist_Max: use 0 if unsure
- (this necessitated saving the user's "look_at" value in camera struct)
- Changed defaults to more general purpose values
- Status line on console now reports new rad samples per line for
- consistency with antialiasing messages
- Preview parameters will not allow you to choose start/end sizes which
- will mess up radiosity.
- Jitter amount in radiosity is smaller, so preview looks better.
- Irradiance gradients implemented, for better quality/speed ratio
- Combination of area lights and radiosity now MUCH faster
- Misc:
- VNormalizeEq is now faster, using mult not div
- Light_List_Struct was used (locally) in 2 files for 2 purposes, which
- messes up some debuggers. One of the structures was renamed to be unique.
- Light_List_Struct now saved and restored in Determine_Apparent_Colour to avoid
- subtle non-reentrancy bug. (trace a ray, which causes reflections at lower
- level to tag light source contributions as done in light_tested_struct, then
- pop back up to next level, and trace another ray--it used to reuse bad light
- calculations from deeper ray at upper level if more light testing done)
- Quick check in pov_shellout to avoid crashes when shellouts structure used
- but not init'd (not sure why, but check is safer).
-
-
- 3.0.beta.4k 02/05/95 Dieter Bayer
- Updated "Copyright 1995 Persistence of Vision Team" to 1996
-
- 3.0.beta.4j 01/29/95 Chris Young
- Fixed bug when #version used inside #if #else #end
-
- 3.0.beta.4i 01/26/95 Dieter Bayer
- Changed keyword "surface_of_revolution" to "sor"
- Fixed bug with three or less focal blur samples
-
- 3.0.beta.4h 01/25/95 Chris Young and Andreas Dilger
- One more ttf bug squashed.
- Misc prototypes added, unused variables removed. Minor junk.
-
- 3.0.beta.4g 01/24/95 Chris Young and Andreas Dilger
- Replaced default READ_ENV_VAR and PROCESS_POVRAY_INI with warnings to
- insure that each platform implements them.
- Updated libpng make files.
- Added "Include_Ini=file.ini" to ini parser for file names with blanks.
- Fixed TTF code to handle glyph spacing and spaces properly.
- TTF now uses the ISO 8859-1 (Latin-1) character set, but has support
- for other character sets once we make the parser handle it.
- Still can't handle multiple component glyphs (most accented characters).
- Increased the length of a string constant to be up to 127 characters long.
-
- 3.0.beta.4f 01/18/95 Andreas Dilger and Tim Wegner
- Added function calls to support libpng 0.87 error messages.
- Replace Libpng with version 0.87. Make sure Libpng gets copied
- to the correct places.
-
- 3.0.beta.4e 01/17/96 Steve Demlow
- Cleaned up most non-K&R compatable code (except stdarg stuff in userio.c) and
- compiler warnings
- Fixed TTF to work when sizeof(short) != 16 bits and sizeof(long) != 32 bits
- Fixed minor logic problems in TTF code (with help from Andreas Dilger)
- Changed TTF to do file error checking (thanks to Andreas Dilger)
-
- 3.0.beta.4d 01/13/96 Dieter Bayer
- Fixed bug in total time/frame calculations
- Fixed bug in atmosphere calculation (intersect_spotlight())
-
- 3.0.beta.4c 01/13/96 Chris Young
- Fixed problem with animation output file numbering with subsets.
- Fixed problem so string identifiers can be redeclared.
- Fixed problem with very long string concats.
- Moved "ambient_light COLOR" to global_settings{...} statement.
- Changed global_settings { irid_wavelength { COLOR } } to...
- global_settings { irid_wavelength COLOR }
- Created Print_Authors() routine from Usage()
- MS-DOS: Made banner stream scrollable; added Print_Authors() to sign on.
- Disabled VESA debug.
-
- 3.0.beta.4b 01/01/96 Chris Young
- Fixed problem with transforming tiles texture identifiers.
- Changes from Xander to fix one ttf bug. Try those fonts that crashed.
- Changes from Andreas Dilger
- Changed order of gamma_correct() and Clip_Colour() calls to avoid doing
- an exponentiation with a negative base (ie pixel value).
- Added interrupt handler for UNIX systems to allow "safe" interruption of
- a trace with CTRL-C.
- Modified PNG file output to avoid flushing when an output buffer is used.
- Cosmetic changes.
-
- 3.0.beta.4a 12/20/95 Dieter Bayer
- Changed halo stuff to use transmit instead of filter to store the differential
- translucency instead of the differential opacity (change rgbf into rgbt
- in all your halo scenes and replace the transmittance values by 1-values)
- Fixed bug that occured when resuming animations (all but the first image
- were traced again)
- Fixed bug with multiple overlapping dust halos (light contribution was tested
- for light rays too and not only for viewing rays)
- Fixed sampling bug when -a and +am2 was used (now -a always casts one
- non-jittered sample per pixel regardless of the sampling method)
-
- 3.0.beta.4 12/08/95 Chris Young
- Removed build-in float constant "platform"
- Removed "#status" language directive
-
- 3.0.beta.3l 12/05/95 Dieter Bayer
- Changed PNG_POV.C to compile under GCC 2.7.1 with bounds-checking extension
- Changed quilt_cubic() to return values between 0 and 1 (and not 0 and sqrt(3/4))
-
- 3.0.beta.3k 12/04/95 Tim Wegner
- Modified julia_fractal slice field syntax. It is now:
- julia_fractal {
- ... other fields
- slice <NORMAL4D>,DISTANCE
- }
- where the 3-D slice "plane" is perpendicular to NORMAL4D and is DISTANCE
- units from the origin. NORMAL4D is internally normalized so that DISTANCE
- is correct. The following are illegal:
- slice <0,0,0,0>,d (vector has length zero)
- slice <x,y,z,0>,d (t coordinate of vector is zero)
- The default value makes the slice "plane" the usual x,y,z space:
- slice <0,0,0,1>,0
- The slice plane is intersected the 4-D julia_fractal object and projected
- to 3-D space by dropping the fourth component of all points.
- Also added two small fixes for Chris in texture.c and pattern.c.
-
- 3.0.beta.3j 11/23/95 Andreas Dilger
- Added flags to allow image file I/O routines to know how image is used.
- Changed PNG code to store 16-bit grayscales as true grayscales rather
- than heightfields, when not used as a heightfield.
- Changed PNG code to only do input gamma conversion for image maps, and
- to make the conversion to the assumed_gamma value of the scene.
- Changed PNG code to always write a 1.0 gamma chunk for histograms and
- grayscale heightfields instead of 1.0/display_gamma.
-
- 3.0.beta.3i 11/23/95 Dieter Bayer
- Fixed bug with superellipsoids used in CSG (this bug probably occurs in 03g
- and 03h only)
-
- 3.0.beta.3h 11/22/95 Chris Young
- Fixed problem in express.c with color vectors
- Added image_map{... transmit REG,VALUE} and transmit all VALUE.
- MSDOS: Started to implement VESA 2.0 but found other bug and fixed it.
-
- 3.0.beta.3g 11/22/95 Dieter Bayer
- Fixed bug in ATMOSPH.C that occured when no light sources were used
- Fixed bug with transparent objects blocking background
- Fixed bug with transparent image maps (in TEXTURE.C) as mentioned by Chris Y.
- Fixed bug in superellipsoid intersection test (TRUE was returned in some
- cases by All_Superellipsoid_Intersections() even though there was no
- intersection)
-
- 3.0.beta.3f 11/18/95 Chris Young
- Minor fractal changes by Tim Wegner
- Changed COEFF_LIMIT to 1e-16 fixing Watcom prism bug
- Fixed another #while bug
- MSDOS:Changed box params from char to int
- Fixed DJGCC use of / in argv[0]
- Added warning if POVINI points to non-existent fil
- Fixed bug in Select_VESA_Mode.
- Added many Debug messages in VESA, will remove later.
-
- 3.0.beta.3e 11/14/95 Chris Young
- Eliminate READ_ENV_VAR_BEFORE and READ_ENV_VAR_AFTER
- Added READ_ENV_VAR which should read a POVINI which points to the user
- specified global INI file.
- Added PROCESS_POVRAY_INI function. If there was no POVINI specified then
- this routine should read povray.ini from the executible directory. If
- there was a POVINI then this step is skipped.
- Removed all other automatic processing of povray.def and povray.ini even
- in the current directory.
- Converted Split_Time to SPLIT_TIME macro and added POV_Std_Split_Time
- Added pre_init_povray to povray.c, see comments on routine.
- Removed disabled field rendering for non-animations.
- MSDOS: Implemented MSDOS_Process_Povray_Ini and MSDOS_Process_Env
- PVENGINE: Partially pre_init_povray
-
- 3.0.beta.3d 11/11/95 Dieter Bayer
- Fixed missing initialization for Jitter_X and Jitter_Y in
- trace_ray_with_offset() (RENDER.C) if no anti-aliasing is used
- Fixed bug in do_atmospheric_scattering() that led to a lot of unnecessary
- neglectable samples
- Fixed bugs in intersect_spotlight() and intersect_cylinderlight() in
- ATMOSPH.C that caused lots of samples due to wrong light intervals
- Fixed bug in Trace() and Trace_Primary_Ray() that caused atmosphere
- inside hollow objects to not work properly
- Fixed memory problems with high +r values and adaptive sampling
-
- 3.0.beta.3c 11/09/95 Chris Cason
- Modified userio.c to make vsbuffer global, to allow PVEngine to allocate
- it and to thus call Usage () without starting up the renderer.
-
- Merged below patches from Andreas Dilger and Eduard Schwan.
-
- Eduard Schwan
-
- Fixes to truetype.c to make it Mac-friendly, by using READ_FILE_STRING
- for the open mode instead of "rb". Changed vbuffer.c such that the function
- POV_Std_Display_Plot_Box () takes int parameters for the colours, instead
- of chars.
-
- Andreas Dilger
-
- Moved histogram size initialization code from initialize_histogram() in
- render.c to fix_up_rendering_window() in povray.c so that the values
- are available when doing the Print_Options() call.
- Changed the default histogram file name to have the correct extension
- if the user doesn't supply the histogram file name. This is done at the
- options parsing stage so the filename is available for Print_Options().
- Added missing histogram CSV file type to help screen display.
- #defined out code in radiosit.c and pattern.c that was unused.
- + Fixed unix config file header to match current default settings, and tried
- to get better default settings for maximum filename length.
- Added xwindows options to unix makefile, so only one makefile is needed.
- Removed unused variables from xwindows.c.
-
- 3.0.beta.3b 11/08/95 by Chris Young
- Added box drawing macro POV_DISPLAY_DRAW_BOX to frame.h and created
- default POV_Std_Display_Draw_Box. Needed for MSDOS version.
- Renamed Terminate to Terminate_POV and fixed param
- Changed Split_Time params to unsigned in hopes of fixing Amiga problem.
- MSDOS:Added non-dithered box drawing. Changed subset window to green.
- Fixed PNG image map palette size for grayscale images with bit-depth <= 8.
- Changed the method of promoting 9-15 bit OutputQuality images to fit in
- 16-bit colors from high-bit-set to zero-fill based on recommendations
- from the PNG 0.90 specification.
-
- 3.0.beta.3a 11/06/95 by Dieter Bayer
- Uncommented debug stuff in TRUETYPE.C
- Fixed bug in hfield.c/boxes.c that caused segmentation fault with DJGPP
- Fixed problems with comp_elements() in BSPHERE.C as suggested by Andreas Dilger
-
- 3.0.beta.3 10/31/95 by Chris Young
- Fixed yet another #case bug.
- Fixed memory leaks on multiple color_maps
- Fixed problem with "once" on image_maps
- Fixed text buffer overflow that made long smooth_triangle error msg crash
- Added truetype changes from Steve & Xander
- Added ALT_WRITE_INI_FILE macro for below
- WIN: Fixed rerun problem with above macro
-
- 3.0.beta.2g 10/23/95 by Chris Cason
- Numerous changes to support Windows code.
- In set_output_file_handle (), removed test where the output file handle
- was only set if output_to_file was TRUE to fix problem with GPF's in
- continue trace.
- Moved some typedef's, #defines, etc., from OPTIN.C to OPTIN.H.
- Exposed some formerly static functions/variables in OPTIN.C.
- Changed order of inclusion of OPTIN.H/OPTOUT.H relative to POVRAY.H in
- some modules as OPTIN.H and OPTOUT.H depend on a typedef in POVRAY.H.
- Removed most #if PRECISION_TIMER_AVAILALE tests that had been peppered
- throughout the code by a previous patch in line with the team's policy
- of keeping the use of #ifdef and so forth in the source code to a mimimum.
- Re-introduced these defines to one specific area of the source (the
- histogram code section).
- Added new function initialise_histogram() which will set opts.histogram_on
- to FALSE if PRECISION_TIMER_AVAILALE == 0. Calls to histogram code are
- only made if opts.histogram_on is TRUE.
- Re-introduced sanity-check and auto grid sizing code in histogram
- initialisation that had been removed by a previous patch.
- Added some new #DEFINE's to FRAME.H, called from POVRAY.C, to support
- GUI's being able to get control at specific times (such as immediately
- before rendering begins, to allow PVENGINE to write its own rerun
- information.) These are -
-
- POV_PRE_RENDER Called immediately before rendering begins.
- Hook any code that needs to access global data
- prior to rendering and/or write or display run-
- specific statistics into this.
- POV_PRE_SHUTDOWN Called just before shutdown (before destruction
- of any information held in memory.) Hook any code
- that needs to access this global data after
- rendering into this.
- POV_POST_SHUTDOWN Called after destruction of above is complete.
- Hook any platform-specific destructors into this.
-
- 3.0.beta.2f 10/16/95 by Chris Young
- Fixed #switch #case bug.
-
- 3.0.beta.2e 10/16/95 by Dieter Bayer
- Changed hollow keyword from a finish parameter to an object parameter
- (with changing all corresponding sources bugs with translucent
- material maps should be gone)
- Fixed bug with BLOB1?.POV scenes
- Fixed bugs in Read_Png_Image() in PNG_POV.C (png_ptr was used instead
- of r_png_ptr; that caused a segmentation fault with PNG image maps)
- Andreas Dilger or Timothy Wegener PLEASE VERIFY THIS!!!
- Fixed gradient and crackle bugs (hopefully; in some cases lots of
- speckles appeared)
- Fixed memory leakage in XWINDOWS.C
- Fixed "pause when done"-bug in XWINDOWS.C (the display window is now closed
- for -p and closed after pressing a mouse button in the window for +p)
- Fixed bug in PPM.C that caused a segmentation fault when an aborted
- PPM image was read
- Fixed supersample count bug with adaptive supersampling (the number of
- supersamples on the last line were displayed to be always 0)
- Fixed bug in halo parsing (as noted by Chris Young)
- Fixed bug in halo parsing (now a fatal error occurs if no color map is specified)
- Fixed bug in do_atmospheric_scattering (sampling took a very long time
- for non-white light sources because early exit did not work)
- Fixed bug in OCTREE.C that occured when RADSTATS was defined (the file
- no longer compiled as reported by Eduard Schwan)
-
- 3.0.beta.2d 10/10/95 by Chris Young
- Added built-in identifier t=<0,0,0,1> and vector.t capability.
- Fixed stuff with vector.u and vector.v.
- Lots of internal changes related to t, u & v.
- Fixed msdos error buffer problem.
- Following changes from Andreas Dilger
- Changes error messages in iff.c, gif.c, and targa.c to be consistent with
- other formats.
- Added tests for output file write errors (after c.g.r.r)
- Adds histogram timer for unix systems.
- Adds support for PNG images with both grayscale and alpha.
- Changed error messages to be consistent with other formats.
- Adds support for ASCII format PPM and PGM images, as well as
- allowing comments and arbitrary bit depth in input images.
- Added defined out code for PPM output comments ala PNG.
- Fixed histogram support for non-PNG images. Added output
- of histogram options in banner when histogram is active.
- Modified output of display gamma to be part of display options.
- Fixes resume from a file which has different size settings than those
- given on the command line.
-
- 3.0.beta.2c 10/06/95 by Dieter Bayer
- Applied noise patch by ? solves platform dependent noise problems)
- Added missing module headers to OCTREE.C and RADIOSIT.C
- Fixed bug in hfield.c (holes appeared due to missing rays)
- Fixed memory leak occuring with material maps
-
- 3.0.beta.2b 10/05/95 by Andreas Dilger and Tim Wegner
- Added gamma support.
- New ini option
- Display_Gamma=2.2 (default, can be changed in config.h)
- New scene command: global_settings { assumed_gamma n.nn }
- If not present, no gamma correction done. For platform-independent
- output without gamma correction, set assumed_gamma to display_gamma
- (e.g. 2.2). For "linear light" (gamma correction for display_gamma)
- use assumed_gamma 1.00.
- Added PNG histogram output. IMPORTANT - changes the +HT flag
- so that +HTN means PNG histogram, and not NO histgram. No histogram
- is now +HTX.
- Fixed bug in Close_PPM_File, changed default RENAME_FILE command
-
- 3.0.beta.2a 10/04/95 by Dieter Bayer
- Fixed illegal quality value bug for quality values larger 9
- Fixed unused radiosity bug for quality values > 9
- Fixed memory leaks with text objects
- Fixed bug in image reading (line_data->transm wasn't initialized to NULL
- in PNG_POV.C and TARGA.C)
-
- 3.0.beta.2 09/24/95 by Dieter Bayer
- Fixed numerical problems with far away blobs
- Fixed bug with high +r values (Primary rays were weighted with an ADC
- bailout value other than 1. That's not allowed!)
- Fixed bug in ra_gather() in RADIOSIT.C (ray wasn't initialized using
- Initialize_Ray_Containers())
- Fixed bug in HCMPLX.C as mentioned by Tim Wegner
-
- 3.0.beta.1e 09/21/95 by Eduard Schwan
- Minor changes to resynch the Macintosh compile:
- PAT3b1e.pat
- optout.h: included frame.h, since I include it elsewhere, it needs the
- definition of PARAMS(). I personally think EVERY header file should
- be able to be compiled by itself, which means it needs to include
- everything necessary for itself. Then you can just add an include of
- it, and it takes care of its own dependencies.
- PATzlb1e.pat
- Zlib: added #ifndef around deflate.h, added include of string.h and a
- define of Byte to something else in zconf.h, undeffed internal_state
- in deflate.h.
- PATpng1e.pat
- libpng: added missing prototype for "png_output_flush" in png.h
- To be fixed later... I also got these warnings in LIBPNG, which should
- probably be fixed (missing prototypes?)
- Warning : function has no prototype
- PNGRTRAN.C line 454 {
- PNGRTRAN.C line 1121 {
- PNGRTRAN.C line 1165 {
-
- 3.0.beta.1d 09/19/95 by Chris Young
- Added pov_memcpy which needs to be tested by those without memcpy.
- MSDOS & WINDOWS: Changes to config.h in RENAME_FILE
- **BEWARE** the duplicate PNG.H PNGCONF.H ZLIB.H & ZCONF.H have
- been removed from SOURCE and exist only in SOURCE/ZLIB & SOURCE/LIBPNG.
- Also the COPYTO.BAT & COPYFROM.BAT files have not been updated to
- copy these files. You must hand copy them. Later COPYTO/COPYFROM
- will be obsolete so I didn't bother updating them.
-
- 3.0.beta.1c 09/18/95 by Tim Wegner
- Cleaned up fractal code, removed julia_parameter keyword, and added a whole
- lot more functions. Syntax is now:
-
- julia_fractal {
- VECTOR4D
- [quaternion | hypercomplex]
- [sqr | cube | exp | reciprocal | sin | asin | sinh | asinh |
- cos | acos | cosh | acosh | tan | atan | tanh | atanh | log |
- pwr(FLOAT,FLOAT)]
- max_iteration INT
- precision FLOAT
- slice VECTOR4D
- }
-
- The one function that needs explanation is pwr(FLOAT,FLOAT). This is the
- function (in C terminology) that raises the complex number z to the complex
- power (FLOAT,FLOAT). For example, the case pwr(2,0) gives the same image as
- sqr (though it renders much more slowly.)
-
- Most of these functions work only with algebra type hypercomplex. The only
- ones that work with quaternion are sqr and cube. I added a trap for this
- error.
-
- Note that if any of these keywords which are not already supported by the
- expression parser become supported in the future, then the
- Parse_Julia_Object() routine would need to be changed to reflect this (an
- easy change).
-
- 3.0.beta.1b 09/16/95 by Tim Wegner and Andreas Dilger
- PMG support now resumes and works for height fields, and should work for
- image maps and bump maps. Added Alpha support for PNG output, and made Targa
- and PNG handling of Alpha consistent. Added NO_MEMMOVE define to unixconf.h
- which uses memcpy instead on systems without memmove, and protects against
- copying overlapping memory areas. I've included Andreas's changes to the
- UNIX make file for Chris Cason's information (not intended to pre-empt any
- decisions about where Libpng, Zlib directories should go.) The source has
- been compiled with unixconf.h on AIX with the IBM xlc compiler, and it
- works fine so we don't need a separate rs6conf.h.
-
- 3.0.beta.1a 09/10/95 by Eduard Schwan
- Fixed incorrect parm passed to png_write_finish_row in PNG_POV.C.
- The "#define W 3" conflicted with variables in POLYGON.C if precompiled headers
- were used, so I changed the "W" variable names there, and moved the define
- from FRACTAL.H to FRAME.H, to join its buddies X,Y,Z.
- Removed incorrect trailing comma from ini_op enums in OPTIN.C.
- Added a couple more cooperates in the bounding/light buffer code, since we
- can be looping in there for awhile without letting the GUI breathe.
-
- 3.0.beta.0d 09/07/95 by Chris Cason
- Returned COOPERATE calls to a few places (probably different from original).
- Changed COOPERATE to COOPERATE_0 and COOPERATE_1 in source code and modified
- frame.h such that this would not break code depending on the use of COOPERATE.
- COOPERATE_0 is a high level one that is less likely to be ignored than
- COOPERATE_1, if the GUI's niceness setting is in mean mode. COOPERATE_0 is
- intended to be called less frequently by the renderer.
- Added POV_PRE_PIXEL and POV_POST_PIXEL which always get called even if display
- mode is turned off. Both macros take x, y and colour.
-
- 3.0.beta.00c 09/05/95 by Tim Wegner
- You should delete the files gfract.* (obsolete) and julia.* (renamed).
- The patch file will create two new files quatern.c and quatern.h which
- were formerly the julia.* files.
-
- Completely reorganized the fractal format. The new syntax for the fractal
- object is as follows, with all parameters optional, and in any order:
-
- julia_fractal {
- julia_parameter VECTOR4D
- quaternion | hypercomplex
- sqr | cube | exp | reciprocal
- max_iteration INT
- precision FLOAT
- slice VECTOR4D
- }
-
- sqr was z2 and cube was z3. The old "fractal" is obsolete. The old "julia"
- object is what you get with the quaternion keyword present. The slice
- keyword is new. It allows the 4D fractal object to be sliced by a 3D "plane"
- at any angle.
-
- There's a new routine called parse_Vector4D() in case anyone needs it for
- other purposes.
-
- 3.0.beta.00b 09/03/95 by Dieter Bayer
- Added PNG support by Tim Wegner and Andreas Dilger
- Added Bits_Per_Color/Bits_Per_Colour INI file keyword (used by PNG)
- Added Andreas Dilger to the contributing authors list
- Added redirection options to the render option output
- Added matrix transform to all places where transformations are allowed
- Moved hollow keyword into finish statement. NOTE that in order to see
- any halos inside an object you have to make sure that the finish
- is set to hollow
- Changed "r" file options to READ_FILE_STRING (that's "rb")
- Renamed PNC.C to PNC_POV.C and added PNG_POV.H to avoid conflicts with
- PNG.C and PNG.H that come with the PNG library
- Renamed project_* functions in VBUFFER.C in order to avoid problems
- with the Watcom linker
- Fixed bug that occured in MSDOSVID.C when the console output of the render
- stream was turned off (a segmentation violation occured due to a NULL
- pointer access in Viewit)
- Fixed bug in halo default color map assignment
- Fixed some memory bugs in PNG_POV.C
- Fixed bug in multi-textured blobs
- Updated MSDOS DJGPP make & link files and Unix makefiles
-
- 3.0.beta.00a 08/29/95 by Dieter Bayer
- Added Zsolt Szalavari to the contributing authors list
- Replaced strupr() and strlwr() in express.c by own functions to make it work
- with Unix and other systems that don't have those functions
- Removed unused distance parameter from halo
- Fixed help screen problems
- Updated Unix make files
-
- 3.0.beta.0 08/29/95 by Chris Young
- Added #ifdef (IDENTIFIER) language directive. See VECT2.POV
- Added %w and %h (width, height) substitution for shell strings
- Added black_hole warps by Chris Cason
- Dropped dump and raw format. Remove DUMP.C DUMP.H RAW.C RAW.H
- Added re-directable macros for new "sys" file type for system specific
- format such as Mac Pict or Windows BMP. Macros in FRAME.H.
- Support added via "sys" keyword such as "image_map{sys "file.ext"..."
- and via +FS switch.
- Added string functions "strupr(STRING)" and "strlwr(STRING)" same as C
- Added built-in UV_VECT constants "u" value <1,0> and "v" value <0,1>
- Added . period operator for VECT.x VECT.y VECT.z UV_VECT.u UV_VECT.v
- COLOR.red COLOR.green COLOR.blue COLOR.filter COLOR.transmit
- Added built-in float constant "platform". Defined in CONFIG.H
- Added boolean function "file_exists(STRING)" searches current dir and +L
- Added integer function "strcmp(STRING1,STRING2)" same as in C strcmp
- Changed string function "num_to_string(F,W,P)" to "str(F,W,P)"
- Changed float function "atof(STRING)" to "val(STRING)"
- Changed variables "Point" to "IPoint" in HCMPLX.C
- Fixed spelling on "eccentricity"
- Fixed bugs in #if #else
- Minor change in default file processing
- Misc Error and Warning message changes by Dieter
- Updated make files for removal of dump and raw.
-
- 3.alpha.0.19 08/27/95 by Dieter Bayer
- Added halo stuff by Zsolt Szalavari (did some changes and improvements).
- The syntax is (docs will follow later, sigh):
- texture {
- halo {
- attenuating | emitting | glowing | dust
- constant | linear | cubic | poly
- planar_mapping | spherical_mapping | cylindrical_mapping | box_mapping
- fog_type FLOAT
- max_value FLOAT
- exponent FLOAT
- samples FLOAT
- aa_level FLOAT
- aa_threshold FLOAT
- turbulence VECTOR
- octaves FLOAT
- omega FLOAT
- lambda FLOAT
- colour_map COLOUR_MAP
- frequency FLOAT
- phase FLOAT
- scale VECTOR
- rotate VECTOR
- translate VECTOR
- }
- }
- Added matrix transform by Steve Demlow (see sample scenes matrix.pov,
- shear1.pov and shear2.pov)
- Added distance based light attenuation for translucent objects. Syntax:
- finish {
- ...
- fade_distance FLOAT
- fade_power FLOAT
- ...
- }
- The light is attenuated in a linear, quadratic, cubic, etc. fashion
- (according to the fade_power value). At distance fade_distance
- the attenuation is 50% (see sample scene atten1.pov).
- Added new atmospheric scattering type 5 (Heyney-Greenstein function
- with paramter given by "excentricity" keyword)
- Added attenuation of light coming from light sources due to fog and/or
- atmosphere (by default this is not used, i.e. the light is not
- attenuated; the keyword "atmospheric_attenuation" is used with
- light sources to switch the attenuation on/off) (see sample scene fog2.pov)
- Added attenuation due to fog and/or atmosphere inside an object (by default
- this is off, i.e. there's no fog/atmosphere inside any object; this
- can be changed by using the keyword hollow, i.e. hollow FLAG)
- (see sample scene fog2.pov)
- Modified and simplified atmosphere supersampling
- Removed unnecessary support for bounded fog
- Fixed bug in Test_Shadow() (LIGHTING.C)
- Fixed bug in trace_pixel() (RENDER.C): uninitialized variables
- Fixed bug in Global_Setting_Warn(), PARSE.C
- Fixed bug in Post_Tnormal(), NORMAL.C (slopemap.pov)
- Fixed memory problem detected by Purify in Destroy_Blob(), BLOB.C
- Fixed memory problem detected by Purify in Create_BMap_Entries(), COLOUR.C
- Fixed memory problem detected by Purify in Create_Fractal(), FRACTAL.C
- Fixed memory problem detected by Purify in Read_Gif_Image(), GIF.C
- Fixed memory problem detected by Purify in Get_Dump_File_Handle(), DUMP.C
- Fixed memory problem detected by Purify in Get_PPM_File_Handle(), PPM.C
- Fixed memory problem detected by Purify in Get_Raw_File_Handle(), RAW.C
- Fixed memory problem detected by Purify in Get_Targa_File_Handle(), TARGA.C
- Fixed memory problem detected by Purify in Tokenize_Renderer(), RENDER.C
- Lots of cosmetic changes (new header layout, added headers)
- Updated MS-DOS make & link files
- Updated Unix make & link files
- Updated Unix xwindows.c file (new file supports true color displays)
-
- 3.alpha.0.18t 08/15/95 by Chris Young
- Added "brick_size <VECTOR>" and "mortar FLOAT"
- Other brick changes.
- Added shellout return code processing.
- MSDOS:Changes to implement return codes.
-
- 3.alpha.0.18s 08/08/95 by Dieter Bayer
- Added Pascal Massimino and Timothy Wegner to the credit screen
- Split credit screen into primary developer and major contributor part
- Removed useless VSqr() macro
- Fixed some field rendering problems
- Fixed unwanted jittering of inital rays in antialiased images
- Fixed unwanted jittering with non-antialiased images
- Fixed bounding bug in BLOB.C
-
- 3.alpha.0.18r 08/07/95 by Chris Young
- Fixed problems with \ in file names.
- Moved caustics code to fix texture_map bugs.
- Removed Max_Symbols, +QH and radiosity from INI & switches.
- Added global_setting {
- irid_wavelength COLOR
- max_trace_level FLOAT // int internally
- adc_bailout FLOAT
- number_of_waves FLOAT // int internally
- max_intersections FLOAT // int internally
- radiosity {
- brightness FLOAT
- count FLOAT // int internally
- distance_maximum FLOAT
- error_bound FLOAT
- gray_threshold FLOAT
- low_error_factor FLOAT
- minimum_reuse FLOAT
- nearest_count FLOAT // int internally
- recursion_limit FLOAT // int internally
- }
- hf_gray_16 [FLOAT] // optional boolean
- }
- Fixed #while(COND) bug
- Some truetype updates from Xander.
- MSDOS:Updated make files.
-
- 3.alpha.0.18q 08/06/95 by Dieter Bayer
- Added field rendering command line switches (+UF +UO)
- Added anti-aliased focal blur (Standard aa is switched off when focal blur
- is used. The user is warned about this.)
- Added early exit test for focal blur based on confidence test
- New camera keywords:
- confidence - Determines how sure the confidence test is, i.e. how
- likely the pixel color is "close" to the real value.
- The default value is 0.9.
- variance - Maximum allowed variance. If the variance of the samples
- in a pixel is greater than this value the maximum number
- of samples will be used (i.e. the blur_samples value).
- This parameter should be of the same magnitude as the
- color resolution (on an 8bit per color display the
- color resolution is 1/2^8). The default value is 1/128.
- Added adaptive supersampling method (ini file: Sampling_Method):
- +AM1 : non-adaptive supersampling
- +AM2 : adaptive supersampling
- Fixed some bugs I introduced in 18p due to patch problems
- Fixed some field rendering bugs:
- odd/even line tracing switches from frame to frame now
- unnecessary supersampling of pixels above the current line is avoided
-
- 3.alpha.0.18p 08/03/95 by Dieter Bayer
- Fixed focal blur bug I introduced with patch 18l
- Fixed resampling bug of center sub-pixel during supersampling
- Fixed bugs in matches() (OPTIN.C)
- Changed some calls and other (unnecessary) stuff in RENDER.C
-
- 3.alpha.0.18o 08/03/95 by Jeff Bowermaster
- Implemented Field Rendering for NTSC/PAL Animation
- Keywords "Field_Render=bool" and "Odd_Field" substituted for Interlace..
-
- 3.alpha.0.18n 07/31/95 by Chris Young
- Fixed big problem with Keyword=bool
- Other minor changes
-
- 3.alpha.0.18m 07/28/95 by Chris Young
- New string manipulation functions...
- num_to_string(VALUE,LENGTH,PRECISION) creates string from float value
- chr(VALUE) creates 1 character string, e.g. chr(169) makes a copyright
- concat(STRING,STRING) concats two strings
- substr(STRING,START,LENGTH) e.g. substr("ABCDE",2,3) returns "BCD"
- New float valued functions...
- atof(STRING) returns float value represented by string atof("1.2")=1.2
- asc(STRING) returns ASCII value of first char of string, asc("A") is 65.0
- strlen(STRING) length (in chars) of string (see STRINGS.POV)
- New language directives print messages (see MESSAGE.POV)
- #warning STRING #debug STRING #error STRING #render STRING
- #status STRING #statistics STRING
- During parsing, sends string to corresponding text stream
- String expressions above work for ttf, #include and image_map, bump_map,
- material_map names. Basically all strings.
- Can declare string identifiers.
- Partial support for \n \r \t etc. Only works in messages, not in ttf.
- Changed Bits_Per_Pixel to Output_Alpha=bool and +UA -UA
- Implemented #while (COND)... #end loop (see WHILE1.POV)
- MSDOS: Remove ICB compiler support, removed TARGA+ board support
- IBM: Dropped whole MACHINE\IBMPC directory.
-
- 3.alpha.0.18l 07/26/95 by Dieter Bayer
- Changed a lot of memory allocations in BBOX.C, LBUFFER.C, LIGHTNING.C,
- MESH.C, VBUFFER.C and VLBUFFER.C in order to avoid unnecessary mallocs/
- frees during the main tracing loop
- Changed DEPTH_TOLERANCE in planes.c due to infinite loop with SKYVASE.POV
- Changed calls to free() and malloc() into calls to POV_FREE() and
- POV_MALLOC() in OCTREE.C, PPM.C and RADIOSIT.C (the memory allocated
- during radiosity isn't freed yet!)
- Fixed bug in rainbow arcs when a filter value is used (the rainbow didn't
- fade away anymore)
- Fixed "Refrated" typo in OPTOUT.C
- Fixed focal blur bug (the focal plane is in the right place now)
-
- 3.alpha.0.18k 07/25/95 by Eduard Schwan
- Changed r,g,b,a parms in POV_Std_Display_Plot & Rect in USERIO.C/H from
- unsigned char to unsigned int to resolve a Mac (Metrowerks) compiler bug
- (MW got confused on the mixed K&R and ANSI styles for these.)
- Fixed inconsistencies & Mac problems in JULIA.C/H. Some prototypes left
- out the parameter name, some function decl.s were ANSI, and the Macintosh
- has a type defined as "Point", so I renamed all "Point" parameters to
- "point".
- Added a COOPERATE call in BBOX.C during sort_and_split, so Macs don't
- hang during the building of big bounding box trees.
- Fixed Truman's "disappearing cylinder" bug in MATRICES.C, changed the
- ever-questionable "if (fp==1.0)" to the more robust "if (fabs(fp-1.0)<Eps)"
-
- 3.alpha.0.18j 07/23/95 by Chris Young
- Made -B switch turn buffer off, added Buffer_Output=bool
- Rewrote some of text redirection, fixed bugs, made =bool work for any bool
- Fixed Create_Ini=bool
- Deleted Banner_File and Banner_Console redirection
- Deleted +@ -@ stuff, replaced with warning message.
- Deleted +Z -Z Debug= stuff
- Moved mosaic preview error checking and relaxed it.
- Other mosaic preview and radiosity preview fixes.
- Turned Gamma_Correct into optional macro.
- MSDOS:Turned dither off in draw box and Plot_Rect.
- MSDOS:More make file changes/fixes
-
- 3.alpha.0.18i 07/20/95 by Chris Young
- Added Interlace= and Interlace_Odd= INI settings but did not implement
- actual odd/even interlace.
- Added +Q10 to turn radiosity on but did not yet make other radiosity
- changes nor did not yet do radiosity{...} statement.
- Added User_Abort_Command=sss and Fatal_Error_Command=sss shell outs.
- Removed +MS -MS and replaced it with Warning
- Removed +NFI +NFF +Unnn switches
- Removed VerboseFormat
- Fixed bug that light buffer INI set vista buffer by mistake
- Fixed #ifdef PRECISION_TIMER_AVAILABLE that should have been just #if
- Updated various MS-Dos make files for fractal stuff
- Fixed bug in MSDOS\COPYFROM.BAT that copied MSDOS\*.* files into
- compiler-specific directories by mistake. If you have a file in a
- compiler-specific directory that is also in MACHINE\MSDOS then delete it
- from the compiler-specific directory and only keep it in MACHINE\MSDOS.
-
- 3.alpha.0.18h 07/16/95 by Dieter Bayer
- Added extra stats to the stats screen
- Added code to LIGHTING.C, RENDER.C and VBUFFER.C to use the transmittance
- value of a pixel for the alpha channel
- Added Pascal Massimino's fractal stuff (adopted by Tim Wegner)
- Changed parameters to Intersect_Sphere() function
- Changed fractal bounding sphere tests to call Intersect_Sphere()
- Fixed bug with pigment colors of the type rgbt<0, 0, 0, t> with t > 0
-
- 3.alpha.0.18g 07/12/95 by Dan Farmer
- Reversal of patch 3.alpha.0.18c (Garnder clouds removed).
-
- 3.alpha.0.18f 07/12/95 by Chris Young
- Moved the Pre-Frame and Post-Frame commands to different location.
- Added screen save/restore in MSDOS version before/after all 4 shellouts.
- Fixed 0.0 to 1.0 range on wrinkle and waves pigment.
- Added Histogram_Type=N for no histograms.
- Fixed various Create_INI=rerun.ini problems.
- Fixed bug with continued animations.
- Added substitution options to the shellout commands. New options
- are %s for scene name, %f for frame number and %k for clock value.
-
- 3.alpha.0.18e 07/07/95 by Dieter Bayer
- Added check for zero memory allocation to mem.c (only if MEM_HEADER is defined)
- Added caustics keyword to finish structure (caustics FLOAT). Default is
- 0, i. e. no caustics are simulated. A good value for caustics is 1.0
- Changed mesh counters from int to long
- Removed obsolete caustics_power ini keyword
- Fixed zero allocation list of temporary light list in lighting.c
- Fixed extra data bug in GIF.C as suggested by Chris Cason
-
- 3.alpha.0.18d 07/05/95 by Chris Young
- Added default extensions for all input files (.pov, .inc, .tga, .gif etc)
- Added default output file name based on input file name.
- Fixed bugs in .INI parsing which cause some options to be wiped out.
- Fixed bug which caused superelipsoids not to work in csg.
- Added text buffers with scroll-back to MSDOS version.
- Misc cleanup of MSDOSTXT.C, MSDOSVID.C and IBM.C and make files.
-
- 3.alpha.0.18c 06/22/95 by Dan Farmer
- Added Gardner-style cloudplane pigment.
-
- 3.alpha.0.18b 06/22/95 by Chris Young
- Changed "display_..." functions to "POV_DISPLAY_..." macros.
- Added alpha output to POV_DISPLAY_... so Mac version can save alpha
- Began major restructuring of MACHINE\IBM into MACHINE\MSDOS.
- Added Kendall's console handling stuff to MSDOS vers.
-
- 3.alpha.0.18a 06/17/95 by Eduard Schwan
- Removed unnecessary COOPERATE calls bogging down Mac version.
- Fixed check_stats to display mosaic information and initial clock info.
- Moved a too-tightly-nested CR output in verbose mosaic mode.
-
- 3.alpha.0.18 06/09/95 by Chris Young
- Major clean-up of last several patches.
- Fixed Library_Path= bug.
- TTF file open now searches +L paths.
- Major memory leaks fixed in tiles, texture_map and ttf.
-
- 3.alpha.0.17m 06/09/95 by Dieter Bayer
- Added alpha channel support for Targa files (+f32 command line option and
- Bits_Per_Pixel ini file option to save 32bit Targas; they are automatically
- detected during reading and the alpha channel is used as transmittance.
- The alpha channel is non-premultiplied and uses a value of 0 for 100%
- transparency and a value of 255 for 0% transparency)
- Fixed missing output filename bug when no filename was given
- Fixed bug in Compute_CSG_BBox (wrong size to POV_REALLOC())
-
- 3.alpha.0.17l 06/07/95 by Chris Dailey
- Moved options into a single structure in povray.h
- Moved statistics into an array, indices denoted by an enum
- Created total statistics array
- Move Post_Frame_Cmd_String to after closing of output file to avoid contention
- with shelled out program
- Made +SF, +EF handle more like +SR/+ER and +SC/+EC in optin.c
- Changed FrameData to FrameSeq
- Updated machine-specific os2conf.h and bcos2.mak
-
- 3.alpha.0.17k 06/04/95 by Chris Young
- INI-style values may now contain blanks. No longer need %b in shell commands.
- Implemented bracked sections of INI file. Put "MYFILE.INI[MYSECTION]" on
- command line. Only the section [MYSECTION] of file MYFILE.INI is read.
- If no section specified, only unlabled part of INI read.
- Fixed latest #switch #range bug reported by DMF.
-
- 3.alpha.0.17j 05/31/95 by Chris Young
- Yet another bug fixed with #if #else and #declare
- Reversed 17h some changes to restore +KF and +KFF
-
- 3.alpha.0.17i 05/30/95 by Dieter Bayer
- Added GET_KEY(x) macro to machine config files (ibmpc, os/2)
- Fixed bug in mesh normal calculation (missing test for null pointer)
- Fixed bug in continued animations (only parts of frames where traced
- after one image was aborted)
-
- 3.alpha.0.17h 05/27/95 by Chris Dailey
- Removed Subset_Start_Pct and Subset_End_Pct, moved their functionality to
- Subset_Start_Frame and Subset_End_Frame
- Allow +SF1.0 and +EF1.0 as special case for last frame
- Almost changed flags +KFL and +KL to +KFF and +KF for Initial/Final terminology
- consistency, but +KFF & +KF are tricky. Instead used +KI and +KF for clock
- Initial/Final, +NFI and +NFF for number frame Initial/Final
- Fix help output for above option changes
- More changes to option screen for animation
- Added POV_SHELLOUT, POV_SYSTEM, and POV_MAX_CMD_LENGTH macros to frame.h,
- (overridable in config.h)
- Added Pre_Render_Command, Pre_Frame_Command, Post_Frame_Command, and
- Post_Render_Command .ini file keywords; %b is for a blank, for _Frame_ %o
- is output file name
-
- 3.alpha.0.17g 05/23/95 by Chris Young
- Fixed a bug with #if #else and #declare
-
- 3.alpha.0.17f 05/23/95 by Dieter Bayer
- Added code for cyclic animation support (+KC switch, Cyclic_Animation keyword)
- Added help screen menue support (define GET_KEY(x) in config.h to get menue
- to work! For MS-DOS that's #define GET_KEY(x) {(x) = getch();} )
- Added animation options to option screen
- Changed option screen layout (slightly!)
-
- 3.alpha.0.17e 05/17/95 by Dieter Bayer
- Added code for faked caustics
-
- 3.alpha.0.17d 05/16/95 by Dieter Bayer
- Modified mesh triangle calculation
- Fixed "atmopshere in objects"-bug (atmospheric effects are not calculated
- when inside a transparent object)
- Fixed bug in smooth triangle normal calculation in MESH.C
-
- 3.alpha.0.17c 05/14/95 by Chris Dailey
- Corrected default clock value bug introduced in 16L
- Added animation status lines, made slight newline mods to others
- Separated out initialization of statistics, print statistics for each frame
- instead of whole animation
- Don't use tparse as a temporary variable in optout.c, its value needs to
- stay unchanged between frames to avoid exponential growth
- Changed animation defaults as discussed in forum
- Changed animation parameter .ini file names (removed Clock_ prefix)
- Changed to "Initial"/"Final" terminology for whole animation definition,
- "Start"/"End" terminology for animation subset definition. This includes
- variable names and .ini file names
- Changed filename generation scheme to figure out how many chars the frame
- number takes up in the output filename
- Split setup_output_file() to setup_output_file_name() and open_output_file()
- to aid in future "shell out" feature after filename determination and before
- opening
- Added POV_NAME_MAX definition to frame.h, overridable in config.h
-
- 3.alpha.0.17b 05/11/95 by Dieter Bayer
- Added filtering fog (color ... filter) and transmittance threshold (transmit x)
- Added missing keywords to the ini-file parser (Vista_Buffer, Light_Buffer,
- Draw_Vistas, Split_Unions, Remove_Bounds)
- Changed triangle mesh syntax (mesh{} instead of triangle_mesh{})
- Changed atmosphere syntax (scattering instead of reflectivity)
- Changed rainbow syntax
- Changed radiosity options help screen to fit on a 80x25 screen
- Changed "Copyright 199x" into "Copyright 1995"
- Changed structs in OCTREE and RADIOSIT into typedefs
- Fixed bug in triangle mesh to make the hierarchy flag work correctly
- Fixed bug in triangle mesh intersection point test ("missing shadow bug")
- Fixed animation loop bug in POVRAY.C as mentioned by Chris Dailey
- Removed vista/light buffer tree traversal methods (+up option)
- Removed '#include <stdlib.h>' from RENDER.C
-
- 3.alpha.0.17a 05/02/95 by Chris Cason
- Added histogram code.
- Misc spelling fixes, particularly variable Help_Available (:-).
-
- 3.alpha.0.17 05/02/95 by Chris Young
- Now possible to do #declare everywhere, even within objects (I think?)
- Fixed destroy slope_map bug.
- Misc bug fixes from recent patches.
-
- 3.alpha.0.16l 04/28/95 by Chris Dailey
- ANIMATION CHANGES:
- parse.c Make pointer NULL after Destroy()ing its contents for Camera,
- do so for Texture while at it
- povray.c Moved Initialize_noise() out of FrameRender() loop
- povray.c Added Frame Number as @-escape to Output_File_Name: @[0]n, where
- n=max digits. eg, file@3.tga would give file34.tga, file@03.tga would give
- file034.tga. I know, @3 is no different than @7, we'll have to come up
- with a more logical scheme.
- povray.c Added animation loop
- povray.c renamed setup_renderer() to setup_output_file()
- povray.c Moved Initialize_Renderer() call into FrameRender()
- povray.c Move set_output_file_handle() call into setup_renderer()
- povray.c Move a large chunk of main() into new FrameRender() function
- express.c Yet slightly different behavior for Clock used without being set -
- inform user about default value, show warning only once
- NON-ANIMATION CHANGES:
- moved streams_init() call from mem.c to povray.c
- cones.c:'Cone_Methods'/discs.c:'Disc_Methods'/bezier.c:'Bicubic_Patch_Methods'/
- julia.c:'Julia_Methods' is declared as both external and static fixed by
- removing its extern declaration in cones.h/discs.h/bezier.h/julia.h
- lighting.c moved a brace as requested by Dan Farmer in message #110124,
- which makes calling of do_irid() independent of light source type
- converted mem.c function headers from true ANSI to middle ANSI-K&R (*sigh*)
- modified other files to user userio.h, mem.h
- split memio.c/h to create mem.c/h and userio.c/h
- radiosit.c changed ra_average_near() to be usable as parameter to
- ot_dist_traverse(), prototype in radiosit.h. Note - someone should
- probably REALLY change ot_dist_traverse so that handle,handle1 are
- struct wt_avg *, but I don't feel confident enough to do this
- memio.c changed false->FALSE, true->TRUE to fix undefined symbol
-
- 3.alpha.0.16k 04/18/95 by Steve Demlow
- Fixed stream redirection for non-standard I/O functions
- Included octree.h in various places to define a type for radiosit.h
- Fixed memory leak in Allocate_Text_Streams in optin.c
-
- 3.alpha.0.16j Apr 16/95 by Jim McElhiney
- Added first version of all radiosity code
- -radiosity source files (radiosit.c, radiosit.h, octree.c, octree.h)
- -new flags
- -new progress messages
- -new mosaic preview function...could be integrated in future
- -trace() returns distance to object hit
- Gamma correction function installed in code, but no option sets it
- -if you want to try this, set values in source in Gamma_Correct()
- Smooth_Preview capability in the mosaic preview.
- -Like Gamma correction, there is no switch for this. Change the
- variable Smooth_Preview to try it...it is used only when radiosity
- is on.
- Small change to crackle to avoid value wraparound bugs
- -note values returned are about 10% smaller...may need colour map change
- Fixed some small compiler issues
- -unused locals in targa.c and truetype.c
- -memory addressing error in parse.c
- -signed/unsigned mismatch warnings in 7 files
- -floating point errors in boxes.c and julia.c
- Note: error in julia.c is flagged, but NOT FIXED...for Dieter to check?
- One user interface change:
- -when using mosaic preview, when it completes, it now falls through to
- do the regular detailed trace. Radiosity requires this behaviour,
- and I changed it for the regular mosaic preview to match.
-
-
- 3.alpha.0.16i 04/09/95 by Dieter Bayer
- Added arc to the rainbow (syntax:
- rainbow {
- up <VECTOR> - rainbow's "up" vector, i.e. angle = 0
- falloff_angle1 FLOAT - angle of solid rainbow part
- falloff_angle2 FLOAT - angle of total rainbow
- }
- The rainbow arc goes from -falloff_angle2 to +falloff_angle2
- and is blended into the background from -falloff_angle2 to
- -falloff_angle1 and from falloff_angle1 to falloff_angle2,
- i.e. the "solid" (i.e. unblended) part of the rainbow
- goes from -falloff_angle1 to +falloff_angle2. If falloff_angle1
- is omitted no blending takes places. If falloff_angle2 is
- omitted the arc covers 360 degrees.
- Added seconds time stats.
- Changed help screen layout
- Moved ini-file and command line parser into OPTIN.C/OPTIN.H
- Moved code from main() into new functions
- Fixed memory leakage in Copy_Rainbow() in ATMOSPHERE.C
- Fixed memory leakages that occured if redirection was used (using POV_REALLOC()
- instead of POV_MALLOC() in process_variable() in OPTIN.C)
- Fixed prototypes in POVRAY.C
- Fixed divide by zero bug in Print_Stats() in POVOUT.C
- Renamed OPTIONS.C/H to OPTOUT.C/H
-
- 3.alpha.0.16h 04/07/95 by Chris Young
- Fixed expression parse bug when parens used around vector.
- Fixed problems in counter_to_string where \0 was written beyond
- end of string and leading spaces were too long.
- Fixed memory leaks when previous blend map is overwritten.
-
- 3.alpha.0.16g 04/05/95 by Dieter Bayer
- Added syntax of animation options to help screen
- Added FRAND() macro to TEXTURE.H to generate random number x (0 <= x <= 1)
- Changed POV_Std_rand() to use faster shift instead of divide
- Changed calls to POV_RAND() into calls to FRAND() were applicable
- Fixed memory leakage in stream allocation
-
- 3.alpha.0.16f 04/04/95 by Steve Demlow
- Added options, for each output text stream, to turn off console output
- and/or to write to a default or specified file.
- Added option to write all .INI settings to a file.
- Added stdin support for script files and stdout support for output image
- files.
- Turned off "Press any key" message if no WAIT_FOR_KEYPRESS is defined.
-
- 3.alpha.0.16e 04/4/95 by Eduard Schwan
- Added missing prototype for alt_main in POVRAY.H
- Added MAIN_RETURN_STATEMENT at end of main() in POVRAY.C
- Optimized the way Authors strings were allocated and displayed in OPTIONS.C
- Moved the COOPERATE calls around a little to gain some Mac speed
-
- 3.alpha.0.16d 03/29/95 by Chris Young
- Added #switch, #case, and #range directives.
- Fixed #if #else bugs.
- Reversed a 16b patch that causes fatal errors when clock used without
- being set. Changed to warning. Uses default clock=0.0.
- Fixed +Knnn.n switch bug.
- Tiny change in options.c for extra precision counters.
- New scene files. Delete CASE1.POV & CASE2.POV. No longer valid.
-
- 3.alpha.0.16c 03/28/95 by Dieter Bayer
- Updated credit screen
- Fixed bug in triangle scaling
- Fixed bug in triangle mesh bounding box calculation
-
- 3.alpha.0.16b 03/26/95 by Chris Dailey
- Added preliminary animation support, including command line args, ini file
- support, variable storage, and a little consistency checking.
- Fixed a small bug with LAST_OPTION
- Some OS2 files updated for 3.0
-
- 3.alpha.0.16a 03/24/95 by Dieter Bayer
- Added support for targa type 11 files
- Added support of high resolution counter (64bit), currently up to 15 decimal
- digits are used for counter output (counter length defined in FRAME.H)
- Changed stats screen layout
- Changed BOUND_HUGE to 2e10 to avoid floating point overflow
- as noted by Jim McElhiney
- Fixed wrong COMMA_TOKEN in TOKENIZE.C
- Fixed unitialized color bug in material_map
-
- 3.alpha.0.16 03/13/95 by Chris Young
- Added #if (COND) #else #end and #if (COND) #end parsing.
- Misc fixes and things necessary for #if and future conditionall stuff.
- Full sync of all files.
-
- 3.alpha.0.15n 03/10/95 by Chris Young
- Fixed Make_RGB bug in Create_Finish
- Deleted extra braces in default color maps
- Changed && to || in deciding when to do reflection
-
- 3.alpha.0.15m 03/08/95 by Dieter Bayer
- Added colored reflections (finish { reflection <COLOR> } )
- Added individual ambient color (ambient <COLOR>). Note that a modifications
- to Parse_Colour() has still to be made to be able to parse only one float.
- Currently there's only a temporary fix in EXPRESS.C as suggested by Chris Y.
- Added ambient_light { color <COLOR> } for global ambient lighting
- Fixed "Initialization is only partially bracketed" warnings
- Fixed bug in POLY.C
-
- 3.alpha.0.15l 03/02/95 by Dieter Bayer
- Changed no_hierarchy to hierarchy keyword (switch by on/off, true/false, ...)
- Fixed bug in Bool_Flag() in OBJECTS.H
- Fixed bug in height field scaling (it now works according to the docs)
- Fixed bug in height field dda traversal
- Fixed bug in height field triangle intersection
- Made some changes to POLY.C
- Renamed Point variables in MESH.C
-
- 3.alpha.0.15k 02/28/95 by Chris Young
- Added repeat warp with offset and flip. For example:
- warp {repeat 3*x offset <0,0.2,0.5> flip y}
- Repeats the pattern every 3 units in the x direction. Offsets
- each successive copy by "offset". Offsets accumulate.
- Flip alternate odd/even copies in the specified direction. Specifically
- "flip y" does "scale <1,-1,1>" to odd copies.
- Deleted translate, rotate, scale & transform inside warp{...} stmnt.
- Misc internal warp changes and bug fixes.
-
- 3.alpha.0.15j 02/27/95 by Dieter Bayer
- Added automatic resizing of symbol and constant tables
- Changed triangle mesh triangle texture syntax to texture { Name }
- Fixed bug in height field bounding box calculation
- Fixed some compiler warnings
-
- 3.alpha.0.15i 02/23/95 by Dieter Bayer
- Modified height field normal calculation and triangle intersection (small speed-up)
- Fixed a bug in height field intersection testing
-
- 3.alpha.0.15h 02/23/95 by Dan Farmer
- Added 16 bit grayscale output for all output types (tga, tga-compressed,
- ppm, raw, dump). Currently uses +FxH commandline switch (where "x" is
- the mode), but may be changed to a +Q setting in the future. Sets the
- grayscale palette for preview mode when 16 bit output mode is in effect.
-
- 3.alpha.0.15g 02/23/95 by Dieter Bayer
- Added individual texturing of triangles to triangles meshes
- Merged calls to functions for atmospheric effects into two new functions:
- Do_Infinite_Atmosphere() and Do_Finite_Atmosphere() to avoid a copy of
- all these calls in RENDER.C and VBUFFER.C
-
- 3.alpha.0.15f 02/22/95 by Chris Young
- Added warp{...} statement to Parse_Pattern
- Implemented turbulence warp and transformation warp
- Included hooks for repeat, spiral and black_hole warps.
- Added WARPS.C and WARPS.H
- Updated DJGCC & Borland make files (need to verify dependency)
-
- 3.alpha.0.15e 02/22/95 by Dieter Bayer
- Added the call to plot_pixel() to Supersample() that I removed earlier
- Fixed bug in height field bounding box calculation (PARSE.C)
-
- 3.alpha.0.15d 02/20/95 by Dieter Bayer
- Fixed bug in HFIELD.C (DDA setup)
- Fixed bug in QUADRICS.C (intersection test)
-
- 3.alpha.0.15c 02/15/95 by Dieter Bayer
- Added triangle_mesh syntax
- Added pseudo-number generator in TEXTURE.C
- Rewrote HFIELD.C
- Changed triangle mesh data structure (normals of unsmoothed triangles
- are now also stored as indices into the normal list)
- Changed calls to rand() and srand() into calls to POV_RAND() and POV_SRAND()
- Replaced In_Polygon with a much faster version by Eric Haines from GGems IV
- Removed support for raw files
- Removed unnecessary call to display_plot() from Supersample() in RENDER.C
- Removed unnecessary function surface_area() from BBOX.C
- Fixed bug in Solve_Polynomial() with higher order polynomials
-
- 3.alpha.0.15b 02/13/95 by Dieter Bayer
- Added smoothing to triangle mesh object
- Added raw keyword to triangle mesh syntax to specify the raw file
- Added autodetection of 9, 12, and 18 numbers/triangle raw file format
- Fixed several bugs in MESH.C
- Fixed bug that occured when the priority queue was resized (BBOX.C)
- Fixed bug in VBUFFER.C
- Fixed bug with +ms option to make it work as intended
- Fixed bug with help option -h
- Fixed bug in BBOX.C with number of objects smaller than threshold (+mb)
-
- 3.alpha.0.15a 02/06/95 by Dieter Bayer
- Added triangle mesh object (reads RAW format; no smoothing yet)
- Added -h? options to show help screens
- Changed BOUND.C: SNGL instead of DBL is used to store bounding boxes
- (Beware that Assign_Vector() doesn't work with bounding boxes; use
- Assign_BBox_Vector() instead. Be aware of the new bbox macros in FRAME.H);
- functions to build and intersect a bbox tree are now reentrant.
- Changes to BLOB.C (max. number of elements is arbitrarily set to 1,000,000;
- data structure changed; bounding sphere stuff moved into BSPHERE.?)
- Changed sky_sphere to make use of the filter and transmittive parts
- of a color (filtered and unfiltered translucency)
- Changed help and credit screens
- Changed TRIANGLE.C
- Fixed bug with transformed spotlights
- Fixed bug in Compute_Triangle() that set correct triangles as degenerate
- Renamed BOUND.? into BBOX.? (remove BOUND.?)
- Created BSPHERE.C and BSPHERE.H
-
- 3.alpha.0.15 01/30/95 by Chris Young
- Added "average" pattern type for pigment, normal and textures.
- Includes Xander's latest truetype code.
- Misc. cleanups.
-
- 3.alpha.0.14i 01/29/95 by Chris Cason
- Added PPM & PGM file format support for image_map, bump_map,
- material_map and height_field. Added PPM output via +FP switch.
- New files PPM.C, PPM.H, PGM.C, PGM.H files. Make files must be updated.
-
- 3.alpha.0.14h 01/25/95 by Dieter Bayer
- Added cylindrical light source.
-
- 3.alpha.0.14g 01/24/95 by Chris Young
- Added "turb_depth" keyword for fog & mist. The "turbulence <nnn,nnn,nnn>"
- continues to control the size of the turbulence pattern in the x,y,z
- directions while turb_depth varies the front-to-back depth of the turb.
- Typical turb_depth should be 0.0 to 1.0 with the default 0.5.
- Fixed highlights and fill lights as requested by DMF
- Misc cleanup of "variable assigned value that is never used" warnings.
-
- 3.alpha.0.14f 01/23/95 by Dieter Bayer
- Added auto-bounding of elliptical paraboloids
- Fixed bug with distance=0 in fogs
- Fixed problems in Compute_Quadric_BBox()
-
- 3.alpha.0.14e 01/20/95 by Chris Young
- Height field bug fixed
- Removed duplicate call to close_all
- Minor BC++ 4.5 fixes
-
- 3.alpha.0.14d 01/18/95 by Dieter Bayer
- Changed calculation of attenuation for fading light sources
- (light color at fade_distance equals the specified light color)
- Fixed bug with mists/fogs and infinite rays
- Fixed bug with multiple fogs
- Fixed bug with atmosphere and area light sources
- Fixed bug with clipped polys
-
- 3.alpha.0.14c 01/13/95 by Dieter Bayer
- added fade_distance to light sources
- Changed calculation of attenuation for fading light sources
- Changed falloff_power to fade_power
- Fixed bug with overlapping rainbows
-
- 3.alpha.0.14b 01/10/95 by Chris Young
- Implemented built-in float identifiers "on", "true", "yes" with value 1.0
- Implemented built-in float identifiers "off", "false", "no" with value 0.0
- Added float functions
- acos(A) arc-cosine of A
- asin(A) arc-sine of A
- tan(A) tangent of A
- Added additive (non-filtered) transparency via 5th color channel.
- Added "transmit" keyword (for example "color red 0.6 transmit 0.7")
- Added "rgbt" and "rgbft" keywords (similar to "rgbf" but for transmit).
- The amount of the transmit value is the percent of light that is allowed
- to pass through in a non-filtered way. Note that light from the object
- itself is diminished by (1.0-transmit) so a transmit value of 1.0 means
- that the object totally disapears.
-
- 3.alpha.0.14a 01/10/95 by Dieter Bayer
- Added volume rendering to simulate atmospheric scattering
- Added light attenuation due to light source distance
- Changed sky_blend to sky_sphere
- Fixed a bug in PARSE.C with planes and 'zero' normals
- Fixed a bug in POVRAY.C that occured when diskwrite was suppressed
- Removed YZFog
- Removed some unused variables from LIGHTING.C and RENDER.C
- Removed (temporarily) support of bounded fog (this is probably something for
- version 4 because a redesign of the intersection functions for a better
- CSG handling would help pretty much)
-
- 3.alpha.0.14 01/09/95 by Chris Young
- Added declared fog, rainbow, skyblend
- Added several new keywords to parser but have not yet implemented them
- Fixed empty bounded_by or clipped_by bug
-
- 3.alpha.0.13g 01/05/95 by CY
- Adds texture_map and makes changes to tiles & material_map
- Open handle fix from Eduard
-
- 3.alpha.0.13f 01/02/95 by Xander uploaded by CY
- TRUETYPE.C changes to fix kerning
-
- 3.alpha.0.13e 01/02/95 by Dieter Bayer
- Fixed bounding box problem with clipped planes
- Changed MAX_INTERSECTIONS to MAX_FOG_HITS in ATMOSPH.C
-
- 3.alpha.0.13d 12/94 by Eduard Schwan
- Changes to Mosaic preview
-
- 3.alpha.0.13c 12/22/94 by Dieter Bayer
- changed type BLOBTYPE to type int in BLOB.C function headers.
-
- 3.alpha.0.13b 12/94 by Chris Young
- Changes for static/global stuff accidently left out of 13.
-
- 3.alpha.0.13a 12/21/94 by Dieter Bayer
- removed unneeded variable cd1 from BOUND.C
- removed unneeded function declaration from PARSE.C
- fixed some bugs in JULIA.C
- fixed bug in BLOB.C
- changed maximum blob component size to 65000. Storage data type is
- defined now to make it easy to change (currently unsigned short)
- made some minor changes to the options layout in OPTIONS.C
-
- 3.alpha.0.13 12/19/94 by Chris Young
- About a gazillion functions and variables made static and other
- changes suggested by Clint.
- Patches for fussy Unix compilers by Steve Demlow
- Sync up of all 3.0.12 patches
-
- 3.alpha.0.12h-k 12/18/94 by Dieter Bayer
- changed max. number of blob component to 65000 (values are now
- stored in unsigned shorts to save memory)
- added credit screen (has to be updated).
- added quaternion julia object by Paul Massinimo. New files JULIA.C & JULIA.H
- added Steve Anger's patch to fix infinite loop in POV_RECLLOC()
- added initializations to expressions in EXPRESS.C
- fixed memory leakages in BLOB.C, PARSE.C, POLYGON.C, VBUFFER.C
- fixed output buffer size bug (negativ buffer size if buffer was > INT_MAX byte)
- fixed default filename bug in POVRAY.C. It wasn't displayed (e.g. data.tga)
- changed max. index value (has to be smaller than 1) in Rainbow() and
- Skyblend() to suit Compute_Pigment()
- changed usage screen
- changed options screen
- changed call to Build_Bounding_Slabs() to always print number of objects
- changed blob component limit to MAX_INT
- changed 'int register' to 'register int' in EXPRESS.C
- moved usage, option, and stats stuff into OPTIONS.C/OPTIONS.H
- moved grid stuff from GRIDS.H into RENDER.C (delete GRIDS.H!)
- removed some declared but unused variables
- removed all unnecessary MATRIX referencing in function parameters. (vectors
- and arrays are always passed by reference so referencing isn't necessary.)
- removed unnecessary 'External variables' section from .c files
- (external variables are included via include files)
-
- 3.alpha.0.12g by Chris Young
- Split PARSE.C into PARSE.C & PARSTXTR.C. Added also PARSTXTR.H
- Misc static changes, bug fixes
-
- 3.alpha.0.12f 12/10/94 by Eduard Schwan
- Misc bug fixes in MEMIO.C, FRAME.H, TTF.C necessary for Mac.
-
- 3.alpha.0.12e 12/12/94 by Dieter Bayer
- Changed blob component maximum (=30000)
- Changed blob intersection list (now dynamically allocated)
- Changed command line option +UR to +UD and +UU to +UR.
- Changed calls to Fog() and Rainbow(). They are no longer called from
- Determine_Apparent_Colour(). They are only called from Trace()
- and Trace_Primary_Ray().
- Changed depth threshold for superquadric ellipsoids.
- Fixed roughness=0 bugs in PARSE.C.
-
-
- 3.alpha.0.12a thru d 12/09/94 by Chris Young
- Implemented normal_map for all normals.
- normal_map {
- [0.0 NORMAL_BODY]
- ....
- [N.N NORMAL_BODY]
- }
- Implemented slope_map for pattern-based normals.
- slope_map {
- [0.0 <HEIGHT,SLOPE>]
- ....
- [N.N <HEIGHT,SLOPE>]
- }
- Changed scale on scallop_wave to match other wave types.
- TTF bug fixes and split characters into individual objects so that
- autobounding works.
- Added exit code parameter to FINISH_POVRAY(n). Now FINISH_POVRAY(n)
- should call exit(n);
- Several incarnations of quilted taken in/out. Final version uses
- Dan's normal and CY's pigment.
- Numerous bug-fixes by Eduard and Dieter.
- Total rewrite of how pattern-based normals work. New method fixes
- bad design flaw but produces slightly different results. At least
- it works consistently and efficently.
-
-
- 3.alpha.0.12 11/19/94 by Chris Young
- Superelipsoids added by Dieter & Xander (new SUPER.C & SUPER.H)
- Major rewite of color_map code to allow pigment_map and
- to pave the way for normal_map, slope_map, & texture_map
- Implemented pigment map for all except image_map
- Rewrite of quilted pigment & normal
- Proportional spacing for TTF added by Xander
- Cylindrical camera models by Dieter
- Included IBM.OLD & CONFIG.OLD for compilers that aren't yet ported
- Fixed bug in mosaic preview by Eduard
-
-
- 3.alpha.0.11 11/01/94 by Dieter Bayer
- Added improved bounding hierarchy creation to BLOB.C.
- Added initialization of light list in LIGTHING.C.
- Added test for focal blur to VBUFFER.C.
- Added test for 'once' images in Test_Opacicty() (fixes POV3BUG.POV bug).
- Added code to ibm.c that uses gotoxy(1,24) instead of gotoxy(1,15) in
- IBM_Finish() if compiled for DJGPP to avoid segmentation violation.
- Changed polygon data structure (saves memory for copied polygons).
- Removed unnecessary workaround for POV_REALLOC() in CSG.C.
- Removed unnecessary 'Inverted' element from TTF structure.
- Removed 'Rewritten and ...' lines from function headers.
- Removed single '/* [DB ?/94] */' comments.
-
-
- 3.alpha.0.10 10/30/94 by Chris Young
- Misc lbuffer & vbuffer fixes by Dieter
- Misc memio fixes by Steve anger
- Major rewrite of pigment & normal code by CY
- Added PATTERN.C & PATTERN.H
- Moved many routines and rewrote parameter lists.
- Added normal{...} types agate, bozo, brick, checker, crackle, gradient,
- granite, hexagon, leopard, mandel, marble, onion, radial, spiral1,
- spiral2, spotted & wood.
- Note syntax for normal is that bump amount is always last. i.e.
- normal {gradient <DIRECTION>, AMOUNT ...}
- normal {mandel ITERATIONS, AMOUNT ...}
- Modified syntax for spiral1 and spiral2 such that keyword must be
- followed by float value specifying number of arms. Previously
- octaves was used. i.e. pigment{spiral1 5}
- Added wave type keywords for most pattern based pigments and normals
- ramp_wave, triangle_wave, sine_wave, scallop_wave
- Note in 3.alpha.0.9 VECT.C was renamed MATH.C & MATH.H but this caused
- conflicts with <math.h> system file. Now renamed it to POLYSOLV.C &
- POLYSOLV.H. Moved some macros from MATH.H to FRAME.H.
- Note only the Borland & DJGCC make files are current. Dependancy info
- in IBMGCC.MAK may be wrong.
-
-
- 3.alpha.0.9 09/28/94 by Dieter Bayer
- Added transformations to blob components (translation, scaling, rotation).
- Added multi-textured blob support.
- Added optional strength keyword to new blob component syntax.
- Added no_hierarchy keyword to blobs to avoid the creation of an internal
- bounding sphere hierarchy.
- Added improved color calculation for metallic surfaces.
- Added vista buffer (+uv option, +upxx option for descending method).
- Added light buffer (+ul option, +upxx option for descending method).
- Added drawing of vista rectangles; kind of a preview (+ur option).
- Added splitting of bounded unions with finite children (+su option).
- Added code to resize priority queue in BOUND.C to avoid queue overflows.
- Added code to allocate/free priority code outside Bounds_Intersect().
- Added code to BOUND.C that puts all infinite objects in the first node
- of the bounding hierarchy root. Thus the hierarchy won't "mess up".
- Added infinite flag to objects to avoid testing the bounding slab of
- infinite objects during bounding hierarchy traversal. This saves
- time because the bounding box of an infinite object will always be hit.
- Added code to Parse_Object_Mods() to calculate the bounding box of any
- bounding or clipping objects and to assign the smaller one to the object
- if the object's bounding box is larger.
- Added code to Parse_Camera() to make sure that camera vectors are
- perpendicular to each other. That is a must for the vista buffer.
- Added code to Intersect_Box() to determine which side is hit in those
- cases where intersecion points are close to each other. This fixes
- surface acne problems at the edges of a box due to the usage of the
- wrong surface normal (see CHARS.POV e.g).
- Modified BOUND.C to work with vista/light buffer.
- Fixed memory leaks in DISCS.C, LATHE.C, PRISM.C, SOR.C, and TORUS.C.
- Fixed threshold problem in normal calculation of cones/cylinders.
- Created missing .h files for most .c files.
- Lots of code "clean-ups" and re-formatting.
-
- 3.alpha.0.8 09/22/94 by CEY
- From Steve Anger:
- Memory management parts of MEMIO.C See comments in MEMIO.C for details.
-
- From Chris Young:
- Split "Information" printf function into 3 new functions "Render_Info",
- "Status_Info" and "Debug_Info".
- All printf to stdout or stderr now converted to new i/o functions such
- as Render_Info, etc.
- All exit() calls re-directed through "Error".
- Fixed +ER +EC bug reported by DMF.
- Fixed TRUETYPE.C MAC macro by Eduard.
- Major rewrite of all aspects of IBM.C including text and video.
- Text changes are work-in-progress. Requires CONIO.H macros a la Borland.
- Video requires Kendall's PMODE.LIB for all compilers. Note DJGCC is
- unsupported but has been faked with compatible macros. VESA.C no longer
- required. TIGA support deleted. Targa_Plus code needs rewritten but is
- stubbed out.
- Misc bug fixes.
-
- 3.alpha.0.7 08/31/94 by CEY
- The following items from Dieter
- - memory leackage in BLOB.C fixed (bounding hierarchy is deleted now)
- - 'CROSSBLOB' bug fixed
- - fillite light source bug fixed (as mentioned by Dan Farmer)
- - 'toroids in CSG' bug fixed (larger tolerance in Inside_Poly())
- - name Polygon changed to Polyg in POLYGON.C/POLYGON.H.
- - Only one function is now used to solve a polynomial
- c[0] * x^n + c[1] * x^(n-1) + ... + c[n-1] * x + c[n] = 0.
- Solve_Polynomial(n, c, r, sturm, epsilon)
- n - order of polynomial
- c - coefficients
- r - roots found
- sturm - use sturmian root solver (TRUE)
- epsilon - root elimination tolerance, i.e. roots with
- |x| < epsilon will be eliminated (epsilon = 0
- means that no roots will be eliminated)
- From Eduard the mosaic preview. Uses +SPnn +SEnn
- Requires new display_plot_rectangle in MACHINE.C
- Does not do file output.
- From CEY:
- Misc bug fixes from various sources.
- More work-in-progress on error messages etc.
-
- 3.alpha.0.6 08/19/94 by Dieter Bayer
- Added new camera models and camera ray pertubation.
- Added lathe primitve.
- Added polygon primitive.
- Added prism primitive.
- Added surface of revolution primitive.
- Added "rainbow" and "skyblend" (ATMOSPH.C).
- Added cylindrical blobs and blob bounding hierarchy.
- Added improved torus primitive (faster intersection testing)
- Added two spiral textures.
- Added Compute_???_BBox() to all objects.
- Added function Solve_Polynomial_With_Root_Elimination() to VECT.C that uses
- order reduction to eliminate roots at 0 (helps avoiding "surface acne").
- Added function Solve_Polynomial() to VECT.C to easily solve
- a polynomial of order n (sturm can be specified).
- Added code for tighter bounding boxes of CSG intersections.
- Added cache for shadow testing to avoid repeated tests with layered textures.
- Added test for opaque objects that speed up Filter_Shadow_Ray().
- Added 4x4-matrix inversion to MATRICES.C.
- Added new vector macros (see VECTOR.H).
- Added #defines to .H files so that they are just processed once if
- they get included more than once.
- Added memory clean-up to HFIELD.C.
- Fixed iridescence bug due to uninitialized values in Create_Finish().
- Fixed bug in sbisect() in VECT.C.
- Fixed camera bug (ray direction parallel to y-axis).
- Fixed "trace level bug". Now the correct maximum level traced is shown.
- Fixed memory leakage bug in Free_Noise_Tables().
- Fixed problems with CSG and declared height fields (most probably).
- Fixed bug in Where_Error().
- Moved Add_Pigment() from LIGHTING.C to PIGMENT.C and made all pigment
- functions static.
- Moved Perturb_Normal() from LIGHTING.C to NORMAL.C and made all normal
- perturbing functions static.
- Moved all fog functions to ATMOSPH.C and "merged" them into one function.
- Changed POV 2.x difficult_coeffs() in VECT.C to version from POV 1.0
- to solve problems with vanishing objects (new version is still there).
- Problems with surface acne should be solved by root elimination.
- Changed normal functions so that a pointer to the intersection structure
- is passed instead of the intersection point (more flexible).
- Changed normal calculation of boxes. It now uses information on the side
- hit by the ray that was derived during intersection testing.
- Changed some global functions to static.
- Changed height field intersection testing to use only one function
- for CSG and non-CSG height fields.
- Changed disc functions to get tighter bounds and to increase speed.
- Changed normal calculation of smooth triangles to increase speed.
- Renamed varibales min and sec to minutes and seconds in POVRAY.C.
- Removed unused global variable Shadow_Test_Flag.
- "Clean-up" of most primitive related files (cosmetic changes, added
- comments, small speed-ups).
- Compressed Targa now supported via +FC switch.
-
- 3.alpha.0.5 08/08/94
- Fixed vrotate bug.
- Added Dan Farmer's focal blur
- Added Dan Farmer's quilted normal pattern
- Fixed truetype problems. Note .TTF file must be in current directory.
- Cannot find TTF on +L paths.
- New error message dumps lines on parse errors.
- Relational operators < <= != = >= > added. Note relational expressions
- must be enclosed in parens.
- Logical operators & | ! added.
- Conditional expressions (c)?a:b added.
-
- 3.alpha.0.4 07/16/94
- Added Dieter's patches to remove various cache values.
- Added Dieter's patches to combine object flags into bit flags.
- Began outlining new message output functions in new MEMIO.C
- Converted Xander's TRUETYPE.C to 3.x. It doen't work yet.
- Deleted TIGA support from Borland version.
-
- 3.alpha.0.3 06/27/94
- Fixed typo in VSumSqr macro in VECTOR.H affecting crackle
- Fixed uninitalized Background_Colour in PARSE.C
- Fixed 0.0 constant in Warn in PARSE.C
- Fixed STAT.OUT that got stuck "on"
- Added Automatic Depth Control (ADC) from Dan Farmer
- Added fill lights, number of waves, fisheye, new fog types, and
- brick pigment from Dan Farmer
- Added first round rewrite of expression parser. Includes the following
- functions:
- These return float values...
- abs(A) absolute values of A
- atan2(X,Y) arc-tangent in radians of (X/Y)
- ceil(A) round up to next integer value A
- clock value of +K switch
- cos(A) cosine of A where A is in radians
- degrees(A) convert A from radians to degrees
- div(A,B) integer part of (A/B)
- exp(A) e-to-the A power
- int(A) integer part of A
- log(A) base e logarithm of A
- max(A,B) maximum of A and B
- min(A,B) minimum of A and B
- mod(A,B) A modulo B, the remainder of A/B
- pi constant 3.3.1415926535897932384626
- pow(A,B) raise A to the B power
- radians(A) convert A from degrees to radians
- sqrt(A) square root of A
- vdot(V1,V2) dot product of vectors V1 and V2
- vlength(V1) length of vector V1
- version value of version variable
- These return vector values...
- vaxis_rotate(V1,V2,D) rotate point V1 by D degrees about any
- arbitrary axis V2 (not just coordinate
- axes)
- vcross(V1,V2) cross product of V1 X V2
- vnormalize(V) scale V to unit length
- vrotate(V1,V2) rotate point V1 about coordinate axes by
- V2 amount of degrees. For example:
- vrotate(V1,30*y) rotates V1 by 30 degrees
- about y-axis.
- x, y, z constant unit vectors
- Added expression parsing to colors: White*0.536-Red*0.1
- Made "color" keyword optional everywhere except old style color maps.
-
-
- 3.alpha.0.2 06/02/94
- Added Steve Anger's memory cleanups.
- Added crackle pigment but it contains a negative sqrt bug.
- Added modified version of Dan Farmer's irid code.
- irid {FLOAT [thickness FLOAT] [turbulence FLOAT] }
- Other irid options to be added later.
- Fixed Antialias_Threshold bug from 3a.0.1
- Changed several .INI variables so the only set defaults but do not
- turn options on.
- Changed variable name in GIFDECOD.C per Eduard's request.
- Fixed spelling of sturm in PARSE.C error message.
-
-
- 3.alpha.0.1 04/28/94
- Implemented .INI file parsing system. Works with switches and .DEF
- files too.
- Eliminated case sensitivity option in TOKENIZE.C
- Eliminated +T case sensitive switch.
- Eliminated sub-options of +V switch (needs more work).
- Changed when +SR, +SC, +ER, +EC take effect when using fractional values.
- For example: +W320 +SR0.1 +W640 used to result in +SR32
- now late binding results in +SR64. Order of specifing switches no
- longer hurts.
- Now +B0 or -B0 turns off any previous +Bnnn setting. Formerly any +B setting
- could not be overridden once set. Now it can be.
-
- 3.alpha.0.0 04/06/94
- Initial 3.0 version converted all VECTOR & COLOUR structs to arrays.
- Added +Xnnn command-line switch to only check for keypress every nnn pixels.
-