1999-09-24  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/primitive.c (make_patch): fixed to work with a
 	single-triangle patch

	* scheme-core/run-sart.scm: added sart> prompt and verbosity

1999-09-07  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* examples/uv.scm: New example file

	* render/primitives/heightfield.c (check_box_rec): removed a bug
 	(negation that shouldn't have been there)

1999-09-05  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/primitives/patch.c (Transform_Patch): 
	* render/primitives/tessel.c (Transform_Tessel): fixed incorrect
	distances calculation

	* render/primitives/tessel.c (tessel_uv): fixed uv textures

1999-09-03  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/render.c: (ray_uv): (ray_vertices): (get_ip3):
	(get_p2): new functions

	* render/primitives/heightfield.c (Eval_HF): 
	* render/primitives/patch.c (Eval_Patch): 
	* render/primitives/hyper.c (Eval_Hyper): 
	* render/primitives/tessel.c (Eval_Tessel): support for uv
	(tessel_uv): new func

	* render/polygon.c (smooth_triangle): takes another parameter
	(for r->uv smoothing)

	* render/primitives/implicit.c (Eval_Implicit): 
	* render/primitives/heightfield.c (Eval_HF): 
	* render/primitives/sphere.c (Eval_Sphere): Fixed normal
	evaluation so that texture doesn't get inadvertantly affected
	by transform-primitive!
		

1999-08-29  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* scheme-core/display.scm (do-map): pass jitter to square-iterate!

	* render/mathutils.c: made NRAND macros public

	* render/display.c (get_point_col): fixed jitter random generation

	* render/render.c (c_get_ray_rad): fixed outer vols

	* render/volume.c (eval_univol): added check for infinite ray

1999-08-27  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/defs.h: added UNALLOC, for cases where gc is overridden
 	and heap size needs to be increased

	* render/mathutils.c: misc. bugfixes

	* render/primitive.c (make_implicit): misc. bugfixes

	* render/display.c (square_iter): got rid of alloca

	* render/primitives/implicit.c: fixed misc. bugs, now renders
 	stably

	* render/primitive.c (make_implicit): fixed sigbus

1999-08-26  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/primitive.c (make_implicit): new function

	* render/bsp.h: added prototype for get_vector_dims

	* render/primitives/primitive.h: added prototypes for implicit.c

	* render/primitives/Makefile.am (libprim_la_SOURCES): added implicit.c

	* render/Makefile.am (libsart_la_LIBADD): added implicit.c

	* render/geom-types.h: added implicit to GeomPrimitive

	* render/primitives/implicit.c: fixed to compile

1999-08-25  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/primitives/implicit.c (Eval_Implicit): Added calc_gradient

	* render/primitives/hyper.c (Eval_Hyper): removed commented code

	* render/primitives/common.c: added support for Implicits

1999-08-18  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/primitives/implicit.c: new file

	* render/geom-types.h: Added GeomImplicit

1999-08-17  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* scheme-core/display.scm (do-map): fixes for new get-ray-radiance
	semantics.

	* render/primitives/tessel.c (TesselInBox): replaced >= with >

	* render/wtree.c (add_to_node): added (char*) cast for non-gcc

	* render/subdivide.c (GeomInBox): replaced < with <= (not necessarily
	a good idea)
	(SplitBSPNode): added MONITOR_SUBDIVISION - check whether an object
	ended up in at least one child node

	* render/render.c (process_shadow_ray): fix to SmobColorDistance

	* render/display.c: new file (from algebra.c)

	* render/contour.c: new file (work in progress on blobs reimp)

	* render/color.h: new file

	* render/color.c: new file (from algebra.c)

	* render/bsp.h: renamed cplus, cfilter, cscale; cfilter now takes
	an additional argument

	* render/algebra.c: removed color-related and display-related functions

	* render/boxes.c (LineBoxIntersect): bugfix

	* render/primitives/polygon.c (Box_Polygon): bugfix for boundary cases

1999-05-25  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/primitives/tree.c (RayInt_Tree): fixed ignore_id bug

	* render/indirect.c: rewritten, for Greg Ward's algorithm

	* render/wtree.c: added lwtrees, lots of new functions

1999-02-07  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* examples/zbuffer.scm: removed the call to set-radiosity-table-size
	(obsolete function)

1998-11-15  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/blob.c: New file

	* render/primitive.c (make_patch): removed CONTP test, because it
	won't deal with make_dmatrix result

1998-07-19  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/render.c (init_ray_vector): 
	(store_ray): tracking guile-snap (scm_make_vector lost an argument)

1998-07-07  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/indirect.c (process_bucket): fixed dist=0 case

	* render/hashtable.c (hash_foreach): added

	* render/indirect.c: Changed ITable to woth with HashTable type
	(init_bucket):
	(free_table_aux):
	(free_table):
	(is_same_loc):
	(make_table):
	(add_indirect_entry):
	(ITable_mark): 
	(hash_loc): improved somewhat
	(get_indirect): scans the neighboring buckets, calculates
 	correctly now (or so I hope), calculates statistics
	(get_rad_stats): added

	* render/primitives/polygon.c (Box_Polygon): fixed boundary
 	condition

	* configure.in: added check for build-guile

	* render/Makefile.am (sart_LDADD): added GUILE_LIBS check

1998-07-04  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* scheme-core/shapes.scm (make-box): added

	* render/algebra.c (get_bilin): array now falls into [0,1]
 	interval

	* scheme-core/textures.scm (create-mipmap): added
	(mip-from-origin): 
	(mipmap-texture): 

	* render/primitives/tree.c (RayInt_Tree): fixed csg support

	* render/zbuffer.c (get_zbuffer_point): fixed csg support

	* examples/zbuffer-csg.scm: new file

	* examples/pattern-test.scm: new file

	* scheme-core/textures.scm (imagemap-texture):
	(load-ppm): added

	* render/algebra.c (convolve_lsubr): added character support
	(convolve_lsubr): fixed char->unsigned char

1998-06-30  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/render.c (init_intersections): 
	(ray_eval_rec): 
	(handle_backtrack): 
	(c_get_ray_rad): 
	(forw_ray_d): made it use csg_sector

	* render/render.h: added ray.csg_sector

	* render/bsp.c (RayObjectIntersect): replaced cached_o->csg
	with cached_cont->csg, as a first step in allowing use of
	trees for csg components.

1998-06-27  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/volume.c (eval_isosurf): fixed eval_isosurf (ignoring
 	problem)

1998-06-26  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/algebra.c (square_iter): bug with procedure_p call

	* render/volume.c (eval_univol): removed . rest
	(univol): 
	(isosurf): 
	(eval_isosurf): 
	(anyvol): 
	(eval_anyvol): 

	* render/render.c (get_iors): use procedure properties
	(eval_surface_texture): remove pair check

	* render/volume.c (eval_anyvol): 
	(eval_isosurf): 

	* render/render.c (eval_surface_texture): calls scm_procedure_property
	(c_get_ray_rad):
	(is_light):

	* render/indirect.c (get_indirect): calls scm_procedure_property

	* render/render.c (true_section): 
	(cross_intersection): Changed CSG_MINUS. Hopefully it works now.
	(set_mat_option): 
	(get_mat_option): removed

1998-06-25  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/render.c (enclose_scene): fixed buglet with multiple csg
 	parenting
	(handle_backtrack): returns the correct ray->object now

	* render/mathutils.c (Intersect3Planes): unbroke compile

	* scheme-core/display.scm (do-map): added camera aperture

	* render/mathutils.c (noise_subr1): added SCM_NIMP to asserts
	(snoise3_subr1): 
	(snoise_subr1): 
	(fnoise_lsubr): 
	(fnoise3_lsubr): 

1998-06-24  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* scheme-core/imageproc.scm (pipe-convolve-forward): filter-proc added

	* scheme-core/display.scm (make-color-filter): added

	* scheme-core/display.scm (filter-rendering): added

	* render/mathutils.c (Intersect3Planes): added

1998-06-19  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* scheme-core/display.scm (show-progress-default):
	(assq-get):
	display-options: 
	(do-map):
	(antialias-filter):
	(output-as-ppm):
	(render-image):
	(make-eye-zbufferres-factor): almost complete rewrite - there's still
	some work left to be done

	* render/algebra.c (clamp_cv): added

	* scheme-core/imageproc.scm (pipe-to-array): rest argument in pipes
	(pipe-convolve):
	(pipe-convolve-forward):

	* render/algebra.c (get_point_col): added parsing of the new
	get_ray_rad output
	(square_iter): added stubs for the new parameters. They do
	do nothing yet.

	* render/render.c: added ambient_infinity
	(get_ray_rad): added check for ambient_infinity
	(c_get_ray_rad): added procedure support for ambient
	(set_infinity): added

	* render/indirect.c (get_indirect_lighting): ambient may be a proc

1998-06-16  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* scheme-core/imageproc.scm (pipe-convolve-forward): tested, debugged
	(array-to-pipe): fixed
	(array-slices): added

1998-06-15  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* scheme-core/*.scm: added doc strings to many procedures

1998-06-12  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* scheme-core/imageproc.scm (pipe-convolve-forward): added

	* render/mathutils.c (scale_accumulate): added

1998-06-11  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* scheme-core/imageproc.scm (wavelet-synthetize!): proper edge handling
	(wavelet-analyze!): same
	(pipe-convolve): added
	(convolve-array!): added

1998-06-06  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* scheme-core/shapes.scm (curve->polygon): added
	(closed-prism): added

1998-06-03  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/algebra.c (convolve_lsubr): modified to accept non-zero
	lower bound for filter

1998-06-02  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* scheme-core/math.scm (orthogonalize): Moved from display.scm

	* scheme-core/optargs.scm: added the file

	* render/main.c (inner_main): adds sart data dir to %load-path,
	enabling use-module

	* render/Makefile.am: changed libpath.h

	* scheme-core/Makefile.am: Moved datadir
	

1998-06-01  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* scheme-core/polyhedra.scm: changed references to slib's hash
	to work with Guile's

	* scheme-core/*: Removed the slib files

1998-05-25  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* .: added lots of new files... Okay, so I'm lazy :)

1998-05-07  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/primitive.c (make_patch): various bugfixes. patch
 	primitive now works

	* render/polygon.c (get_normal): fixed EPS -> EPS * EPS in zero check

	* render/mathutils.c (point_cyl_sq_distance): added

	* render/algebra.c (RGB_print): 
	(freecol): 
	(HSV_print): fixed warnings
	: added Channels_smob

	(colorp): fixed bug

	(Channels_print): Added

1998-04-23  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/mathutils.c (interpolate_data): added thunk evaluation

	* render/algebra.c (get_bilin): added

1998-04-14  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/render.c (c_get_ray_rad): added check for outer volume

	* render/render.h: added scm_outer_mat in Scene struct

	* render/render.c (set_outer_mat): added
	(make_scene): added initialize for scm_outer_mat

	* render/primitives/heightfield.c (RayInt_HF): Fixed
 	transform-primitive!

1998-04-13  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* configure.in: added check for nsl and socket

	* render/Makefile.am: added nsl and socket

1998-03-13  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/render.c (init_intersections): ignore_out set to none (it
 	may be a problem in the future but works for now)

	* render/primitives/sphere.c (Box_Sphere): testing vs radius SQUARED

Wed Mar  4 17:09:48 1998  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/lightsource.c (LightCallback): fixes ignores

	* render/primitives/sphere.c (RayInt_Sphere): bugfix

	* render/primitive.c (RayPrimitiveIntersection): bugfix

	* render/algebra.c: removed rgb-pixel
	(rgb_vect): added

Fri Jan 30 14:34:07 1998  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* scheme-core/math.scm ((rotate-axis-deg vec x)): added rotate-*-deg

	* render/bsp.c (RayObjectIntersect): maxdist calculated correctly

Thu Jan 29 16:06:36 1998  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/primitives/polygon.c (Box_Polygon): fixed boundary

	* render/boxes.c (LineBoxIntersect): fixed boundary condition

Wed Jan 28 15:30:05 1998  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/lightsource.c: fixed highlights (sq undeclared)

	* render/bsp.c (RayTreeIntersect): fixed BSP tree traversal
	when some coordinate of the origin is 0

	* render/primitive.c (RayPrimitiveIntersection): fixed stupid
 	order-of-evaluation bug

	* render/volume.c (measure_light): fixed to compile

Fri Jan 23 16:45:16 1998  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/volume.c (measure_light): new feature (NOT DEBUGGED YET)

Fri Jan 16 12:57:02 1998  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/zbuffer.c (get_zbuffer_point): set ignore_*_out

	* render/render.c (find_intersecting_object): do ignores
	(cast_ray): sets ignore_*
	(init_intersections): same
	(ray_eval_rec): same
	(c_get_ray_rad): same

	* render/primitives/tree.c (RayInt_Tree): handle ignore output

Thu Jan 15 17:37:59 1998  Miroslav Silovic  <silovic@zesoi.fer.hr>
	
	* render/primitives/hyper.c (RayInt_Hyper): added ignore_out

	* render/primitives/patch.c (RayInt_Patch): same

	* render/primitive.c (RayPrimitiveIntersection): added autoignore
	for simple primitivs (polygons and points for now)

	* render/primitives/primitive.h: added simple_primitive

	* render/primitives/common.c: added simple_primitive table entry

	* render/primitives/heightfield.c (check_triangle_pair): forbid
 	ignores
	(check_or_subdivide): fixed to work with the above
	(RayInt_HF): outputs ignores

	* render/primitives/sphere.c (RayInt_Sphere): correct handling of
 	all cases

Sat Jan 10 18:32:11 1998  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/render.c (init_intersections): forbid ignores

	* render/primitive.c (RayPrimitiveIntersection): added ignore check

	* render/primitives/hyper.c (check_hyper): same

	* render/primitives/patch.c (check_patch): same

	* render/primitives/tessel.c (check_tessel): same

	* render/primitives/sphere.c (RayInt_Sphere): same (but zbufffered
 	version may still need it)

	* render/render.h: added ignore_id and ignore_sphere to Raystruct

	* render/primitives/tessel.c: Moved tref, tessel_verts,
 	check_tessel and TesselInBox from primitive.c

Fri Jan  9 14:58:38 1998  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* scheme-core/shapes.scm (ensure-zbuffered-sphere): added

	* scheme-core/display.scm(make-eye-zbuffer): added call to
 	ensure-zbuffer-sphere
	(set-zbuffer-mode): added

	* render/render.c (set_gl_z): $set-zbuffer-mode renamed

	* render/boxes.c: New file.
	(PointInBox): Moved from bsp.c
	(RayBoxIntersect): 
	(PointBoxSqDistance): Moved from primitive.c
	(LineBoxIntersect): 
	(TransformBox): 

Thu Jan  8 14:23:31 1998  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* render/bsp.c (RayTreeIntersect): replaced boxtest with distance

Tue Jan  6 14:34:50 1998  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* .: Put everything to CVS

	* .: Added CVS ignores

	* .: Added two branches

Sat Jan  3 00:06:42 1998  Miroslav Silovic  <silovic@zesoi.fer.hr>

	* examples/Makefile.am: new file

	* scheme-core/shapes.scm ($sphere-primitive): added a small offset
 	to $sphere-primitive

	* render/Makefile.am (libpath.h): added rule

	* render/main.c (inner_main): automagically finds run-sart.scm

	* examples/tree3.scm: Reworked to look cooler and demonstrate its
 	proper purpose

	* examples/sphere.scm: added demo for edge effects

	* render/render.c (forw_ray_d): added
	(eval_isosurf): call to check_call for ior
	(eval_anyvol): same
	(eval_univol): same

	* render/lightsource.c: new file

	* render/lightsource.h: new file

	* render/lightsource.c (LightCallback): Changed to pass
 	LightSourceBox, and lightlist is not a global any more, solving gc
 	trouble
	(SampleBox, CreateLightList): Same
	(PBSDistance): moved from render/primitive.c

	* render/bsp.h: Moved prototypes to render/lightsource.h

	* render/materials.c: moved stuff to render/lightsource.c

	* render/lightsource.c (CreateLightList, LightCallback): Modified
 	to correctly handle polygons

	* ChangeLog: Started in earnest

	
