2001-08-09  Frank Suykens  <franks@cs.kuleuven.ac.be>
	* Config.common: added -DNOPOOLS to global flags
	
2001-08-09  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* prepared for first release! Removed experimental nodes.

	* Phase fucntions not yet tested but included!

2001-08-09  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* fixed PhBToggleImage

	* fixed small clone problem with PhBImageTexture

	* fixed small clone problem with PhBBilinearInterpolation
	
2001-08-08  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* fixed small clone problem with bumpmaps

	* PhBBilineairInterpolation -> PhBBilinearInterpolation

2001-08-07  Frank Suykens  <franks@cs.kuleuven.ac.be>

	* All: Merged my changes [differentials] and Pieter's changes [see further
	in this log] into xrml 0.5.2, changed version to xrml 0.5.3
	Differentials are enabled by defining the symbol PATH_DIFFERENTIALS.

	* mipmap.C/H[new]: preliminary mipmap support. Currently the file is comiled
	but its functionality never used.

	* differentialscommon.H[new]: common stuff for path differentials

	* nodes/TextureTransorm.H/C: added vector transforms [i.e. a transformation
	to be applied to direction vectors, excluding translation,...]

	* PhBBilineairInterpolation*.C/H: added support for filtering. Currently slow box and
	gaussian filtering are supported. These take a lot of samples over the
	supplied footprint. TODO: LOD/mipmap support for all textures, separate class?

	* differentials: To find affected files for path differentials, do a grep
	on PATH_DIFFERENTIALS in PhBRML subdir.
	
2001-07-19  Pieter Peers ,pieter.peers@cs.kuleuven.ac.be>
		
	* optimized PhBBumpMap
	
2001-06-14  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* added wavelength2xyz function in PhBSpectrum. This function is
	   needed by PhBMonochromaticSpectrum, PhBBlackBodySpectrum,
	   PhBSampledSpectrum and PhBTabulatedSpectrum.
	
	* added PhBMonochromaticSpectrum node

	* added PhBBlackBodySpectrum node

	* added PhBSampledSpectrum node

	* added PhBTabulatedSpectrum node

2001-06-12  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* added PhBTextureEmiter node
	
2001-06-07  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* changed sampling on PhBNeumannReflector. New sampler gives beter
	   results.
	
2001-05-30  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* added PhBBilineairInterpolation node
	
2001-05-07  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* revised pdf in PhBHomogeneousBackground and in PhBtexturedBackground

	* included opening angle in PhBBackgroundLight

	* added jacobian method in PhBBackgroundTextureProjection

2001-05-03  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* added PhBHomogeneousBackground

	* added PhBBackgroundLight

	* fixed small bug in PhBTexturedBackground::sample

2001-04-30  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* added PhBNeumannReflector

	* added PhBAshikminReflector

	* added small optimizations to Perlin Noise

2001-04-16  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* fixed turbulence function in PerlinNoise (thanks to Karl)

2001-04-12  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* Merged with Philippes version.

	* Added example scenes
	
	* Added environment maps, including following nodes
	                     PhBSpherePhotoBackground
			     PhBLandscapePhotoBackground
			     PhBCubePhotoBackground
                             PhBTexturedBackground
			     PhBBackgroundProjection

	* Added a new temporary picture reader
		             ReadImage
	which includes an improved PPM reader and a PIC reader.

	* Added Phase Function Nodes, includes following nodes:
	                     PhBPhF
			     PhBPhaseFunction
	                     PhBHenyeyGreensteinPhaseFunction
			     PhBSchlickPhaseFunction

	* Minor changes in: PhBImageTextureBase (commented mipmap code out)
			    PhBMedium
			    PhBTexture
			    PhBToggleTexture
			    PhBPixelTexture
			    vector.H (removed anoying compile warnings)

2001-03-19  Philippe Bekaert  <philippe@mpi-sb.mpg.de>
	
	* PROGS/vrmlview: texture rendering changes + various
	options (disabling -non working- lighting etc...)

	* XRML/PhBRML/PhBImageTextureBase.*: image width 
	etc... available in base class

	* XRML/renderer.C: clean ups

	* XRML/nodes/ImageTexture.*, PixelTexture.*: initial
	implementation (ImageTexture reads ppm files)	

	* ====> release 0.5.2 (effectuated on July 3th 2001, from
	on 20010319 snapshot)

2001-03-01  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* renderer.[CH]: new flags 'require_normals' and
	'require_texcoords' control normal and texture 
	coordinate generation in the default geometry 
	handler.

	* vrmlview: accepts -input-format flags for specifying
	input file format and can now read a sequence of files
	given on the command line.

	* FILTERS/cso: further improvements

	* nodeCatalog.C: node version was checked in a wrong
	way, fixed.
	
	* ===> release 0.5.1

2001-02-28  Philippe Bekaert  <philippe@graphics.cs.uni-sb.de>

	* Array.H: array elements set using the 'set()' member function
	are no longer deleted when deleting the array.

	* Proto.[CH]; new member 'Proto* parent': if non-null, 'this'
	is an instance of 'parent'

	* FILTERS/cso: C++ output filter: writes scene graph out
	in the form of a C++ program, which can be compiled into a
	shared object.

2001-02-22  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* world.[CH], importer.H, exporter.H: minor changes

	* FILTERS. PROGS/: 
	. mgf and nff exporters and renderers moved to FILTERS 
	directory
	. new vrmlconv program that converts any supported input
	file format to any supported output file format
	. vrml2mgf, vrml2nff and ply2vrml programs depreciated

	* DOC/: documentatoni updates

	* ===> new release 0.5.0

2001-02-21  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* EVERYTHING:
	. everything embedded in a "xrml" nameclass
	. all names vrml_xxxx changed into xxxx
	. vrml.H and vrmlP.H renamed into xrml.H and xrmlP.H
	. pools memory stuff removed in memory.H
	. filters live in their own name space (e.g. vrml2_utf8, ply, ...),
	the vrml parser, previously named vrml2_utf8_parser now thus
	becomes vrml2_utf8::parser

	* nodeCatalog.[CH]: does no longer use a static array,
	because that caused problems with shared libraries on irix64

	* FILTERS/toy, PROGS/toy: small example showing how you can
	program additional import filters and programs using them.
	Based on Ingo Walds documentation "How to create a scene graph".

2001-02-20  Philippe Bekaert  <philippe@graphics.cs.uni-sb.de>

	* FILTERS/ply, PROGS/ply2vrml: Ingo Walds (wald@graphics.cs.uni-sb.de)
	ply to vrml importer filter incorporated.

	* XRML/base/Array.H, Assoc.H: new member functions
	. set(): encapsulates a C++ array into an array class object (the
	C++ array is not copied and should not be deleted for the life time of the
	array class object!)
	. concat(): concatenates an array with an other array object

	* XRML/base/world.[CH}, importer.H and all importers so far:
	. importer::parse() returns boolean whetehr parsing was succesful or not
	(world::parse() inspects this boolean in order to return the scene graph
	or a null pointer as its return value)
	. world::init() also initialises sceneGraph to an empty MFNode array.
	These changes facilitate sequential parsing of multiple files in one world
	object.

	* support for compiling shared libraries
	. MKTOOLS dir contains mklib.<arch> scripts, copied from Mesa
	(www.mesa3d.org)
	. Config.common and .site file contain variables
	MKLIB = name of script to create library from object files
	MKLIBFLAGS = compilation flags for compiling proper object files
	for inclusion in a library (only for those, not for programs!)
	LIBEXT = library file name extension (a, so, sl, ...)
	Default set for static library in Config.common. Can be overriden in
	Config.site (see e.g. Config.Linux)

	* PROGS/vrmlview:
	. disable lighting button state now consistent
	. new "use display lists" button (display lists can now also be disabled)
	. application title shows rendering speed in frames per second

2001-02-19  Philippe Bekaert  <philippe@graphics.cs.uni-sb.de>

	* source tree restructuring:
	. VRML directory renamed XRML, ==> libvrml renamed libxrml <==
	. within XRML, subdirectories:
		. base: core scene graph representation and utilities
		. nodes: VRML'97 nodes, later probably to be upgraded to vrml200x
		. PhBRML: physically based rendering extensions
		. vrml2_utf8: vrml2 utf8 encoded file format filters
		. utils: utility classes (Vec3, Mat4, Spectrum, ...)
	. new FILTERS directory: will contain additional import/export 
	filters
	. PROGS and POOLS remain as they were

	* Makefile changes: 
	. xrml library include files linked to new include/ subdirectory
	. filter include files appear in subdirectories of include
	(e.g. include/vrml2_utf8)
	. libraries are linked to lib/ subdirectory
	. binaries are linked to bin/ subdirectory
	. main Makefile install targets copy include files, libraries and
	binaries from include/, lib/ and bin/

	* XRML/base: bindables.[CH] renamed to StackManager.[CH]. It just
	sounds better ...

2001-02-15  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* SFNode.c, vrml2_utf8/parser2.C, NODES/Bindable.C: 
	initial binding of bindable nodes during parsing cleaned
	up.

	* vrml[P].H: global variables current_world etc...
	in vrml namespace moved from vrml.H to vrmlP.H

2001-02-14  Philippe Bekaert  <philippe@graphics.cs.uni-sb.de>

	* source tree structure changes (first step towards more):
	. vrml2_utf8 parser files moved to separate VRML/vrml2_utf8
	subdirectory (still part of the "core" library since these are
	the default im/exporter)
	. node utility member data type ehader files moved to separate
	subdirectory VRML/utils

	* world.C: parse now makes world being parsed current before calling
	import filter parse(). Also current file name and line number are
	saved and restored afterward.

	* PROGS/ray2vrml: rayshade to vrml file format convertor work in
	progress.

2001-02-13  Philippe Bekaert  <philippe@graphics.cs.uni-sb.de>

	* exporter.H, importer.H, world.[CH] and many other core files:
	importing and exporting now is done through vrml_world::parse() 
	and vrml_world::save() with appropriate vrml_exporter/
	vrml_importer child class object, facilitating the
	design and implementation of new import/export filters.
	Nothing needs to be changed to the core files anymore in
	order to read/write a new file format. Unfortunately, this
	implies making public several SFNode|nodeInterface members
	that were previously protected.

	* vrml2_utf8_exporter.*: VRML V2.0 utf8 exporter first version 
	finished

	* vrml2_utf8_[scanner|parser|parser2][C|H|bison|flex]: 
	VRML V2.0 utf8 parser and scanner renamed to vrml2_utf8_xxxx
	to make clear difference with (future) other import filters

	* vrml2_utf8_parser2.C: bugfix concerning reading SFImage 
	objects.

	* TODO: move the vrml2_utf8 importer and exporter to separate 
	directories

2001-02-12  Philippe Bekaert  <philippe@graphics.cs.uni-sb.de>

	* PROGS/vrml2nff: vrml'97 to NFF convertor

2001-02-09  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* vrml.H, world.[CH], node interface implementation: 
	save() member functions for saving in a VRML-like file.

	* NODEGEN/nodegen.C, */*P.C, nodeInterface.H:
	timestamp of field interface members is now set in
	assign_xxx functions instead of field::asign_here(),
	so it also gets updates if one directly calls
	assign_xxx().

	* file.[CH]: multiple changes needed for elegant
	saving:
	. file handles now have unique ID number (which can
	to used in order to test whether a node has been
	written before or not)
	. indentation and fprintf() equivalent

	* x = Vec3(bla).normalize() calls split into
	x = bla; x.normalize() to make old gcc 2.7.3 
	happy.

	* TODO: upgrade version numbers to 0.5 instead 0.4
	due to the changes above.

2001-02-08  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* vrml.H:
	. MF* types constructors cleaned up.

	* Array.H, Assoc.H, Stack.H, CmpString.H:
	. constructors cleaned up.
	. const added where appropriate.

	* Array.H:
	. append() member function returns index of
	new element rather than reference to it.
	. new append() member function for adding several
	elements in one call.

	* TOOLS/testarrayassign.C: test program demonstrating 
	how an MF* array can be constructed from SF* elements.

2001-02-06  wald  <wald@graphics.cs.uni-sb.de>	

	* DOC/index.html and DOC/howToCreateASceneGraph.html
	some documentation on how a scenegraph is generated

	* world.C: added a hook for an external parser. 
	there now is a global variable bool (*externalParser)(file,time,world),
	which is default-initialized to NULL.
	external applications (like vrmlview) can use this variable
	to 'register' their own parsers (e.g. an mgf-parser).
	external parser functions are hooked in by simply overwriting
	the externalParser variable.
	if externalParser return false, the original vrml_world::parse
	fct is called.
	THIS IS ONLY A TEMPORARY SOLUTION, and should be be changed to
	some more advanced way of hooking in different parsers (probably
	as self-initializing shared librarys)

	* world.C: new addNamedNode and make_current member functions.

2001-01-31  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* VRML/PhBRML/PhBTexturedSurface: cleanup up + fixed
	so negative texture vaues are allowed now (can occur
	with pixel textures).

2001-01-27  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* VRML/PhBRML/PhBLAfortuneReflector.C: albedo fix

2001-01-25  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* VRML/PhBRML/PhBLafortuneReflector: SFFloat 
	Cx, Cy and Cz parameters replaced by one SFVec3f C
	parameter.

	* VRML/PhBRML/PhBPixelTexture: new pixel texture node,
	can contain more than 3 channels and the values are
	given by floats (not restricted to [0,1] interval!) 
	instead of ints.

	* VRML/NODES/PointSet: extended with a normal and
	texCoord exposedField for shaded point sets
	(against the standard!!), and pointsize hint member.

	* VRML/parser.H: some redundant semicolons removed.

2001-01-23  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* VRML/PhBRML: Lafortunes modified Phong model (SIGGRAPH
	1997) implemented

2001-01-22  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* DOC/nodeapi: node class API documentation added

2001-01-19  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* DOC/nodegen: nodegen documentation added

2001-01-18  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* DOC/: documentation updated, completed and converted to
	HTML.

2001-01-11  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* PROGS/vrml2mgf: minor fixes

2001-01-04  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* PROGS/vrmlview: minor fixes

2001-01-03  Philippe Bekaert  <philippe@mpi-sb.mpg.de>

	* Makefile: separate install targets for includes/bins/libs
	
	* PhBImageTextureBase, PhBImageTexture, PhBToggleTexture:
	minor changes:
	- repeating is TRUE by default now
	- PhBImageTexture::getpixel was identical to
	PhBImageTextureBase::getpixel and has been removed
	(the render() function is not removed for clarity)

2000-12-21  Pieter Peers  <pieter.peers@cs.kuleuven.ac.be>

	* fixed small bugs in example files and in PhBImageTextureBase, and 
	        in PhBNoiseTexture

2000-12-20  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* merge with Pieters changes since 2000-11-28
	. some nodes renamed:
		PhBProceduralNoise -> PhBNoiseTexture
		PhBGrayscaleTexture -> PhBToggleTexture
		PhBProcedural3D[Checker|Spiral|Noise] -> PhB3D[Checker|...]Texture
		PhBSpherePhotoTextureProjection -> PhBSpherePhotoBackgroun
	. some nodes re-parented: 
		PhB3D[Checker|Spiral|Noise] are children of PhB3DTexture
		PhBSpherePhotoBackground is child of PhBBackground
		PhBImageTExture and PhBToggleTexture are now children of a new
			parent class PhBImageTextureBase
	. PhBSurfaceDistortion is no longer a leaf node class and has been removed
		from the nodeCatalog
	. test examples for new nodes implemented by Pieter

	* private sources regenerated: node typeId is now also set for parent
	classes so complains of nodeCatalog about non-lead nodes in the
	catalog are at least clear now.

	* VRML/vector,Float,complex,spectrum.H: const fixes for SGI

	* various other small fixes for SGI

2000-12-19  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* PhBGrayscaleTexture added (1 channels -> 2 channels complement)

2000-12-18  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* Procedural/Texture/Noise/3DTexture/3DNoise/3DChecker/3DSpiral added
		TODO: Dvalues for 3D textures
	
	* PerlinNoise class constructed for procedural use
	
2000-12-14  Pieter Peers <pieter.peers@cs.kuleuven.ac.be>

	* PhBAppearance: added bumpmap support in init_query

	* PhBImageTexture: Dvalues fucntion added
	                   nrChannels function added (inline)

	* PhBBumpMap node added

	* PhBNormalMap node added

	* PhBBrushMap node added

	* PhBShadingFrameDistortion node added

	* PhBTexture: nrChannels function added (inline)
	              Dvalues function added
	

2000-12-19  Philippe  <philippe@cs.kuleuven.ac.be>

	* vrmlview: simple animation mode

	* NODES: first implementation of interpolator nodes.

2000-12-18  Philippe  <philippe@cs.kuleuven.ac.be>

	* TimeSensor node implemented

	* other small fixes to route.C

2000-12-18  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* POOLS can also be switched off (by compiling with -DVRML_NOPOOLS)

	* Float.H, vector.H, matrix.H, complex.H, spectrum.H: "const" added
	where ever possible.

2000-12-15  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* Config and Makefiles updated: same as for RenderPark again now

	* file.C, field.C: SGI compile fixes

	* file.C: url cache bug fix

	* now uses POOLS for the memory management: GetMemoryUsage() is probably
	too pessimistic: more vrml_fake_free() calls needed in order to
	capture all frees. fake_free_calls are expensive however and should be
	avoided when possible (e.g. 0 size occurs a lot).

	* parser2.C: memory consumption halved by deleting field values 
	that were copied after reading and no further referenced.

2000-12-14  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* NODEGEN updates, affecting all nodes:
	. validate_[exposed]field functions replaced:
		. synchronize_<fieldId> member function for [M|S}FNode valued fields
		. assign_<fieldId> member functions check value range, do proper
		  assignement, and call synchronize() for [M|F]SNode valued fields
		. static assign_<nodeId>_<fieldId> functions that check whter SFNode*
		node argument is of proper type and call assign_<fieldId> member
	. previous "do-all" synchronize() member omitted
	. eventOut value is now also member of the class + there are now
	  two post_<eventOut>() member functions replacing previous <eventOut>() function:
	  one with and one without value argument
	. value argument of post_eventOut, set_[exposed]field and process_<eventIn> 
	  functions are now const references, except for SFNode*.
	. instantiate() returns 'this' for named nodes without enclosing proto and
	  calls synchronize() for [S|M}FNode values.
	. [exposed]fields, eventIns, eventOuts declared at the highest level where
	  they are defined: post_<eventOut>, assign<[exposed]field>, and
	  set_<exposedField> at base classes declared virtual and prints error message.
	  True implementation only for leaf classes (since only there the complete
	  interface is available).
	. status bits indicate what fields/eventOuts have been updated since
	  last inspection. They are declared only for leaf classes. Manipulation by
	  a user is through xxx_is_updated() and xxx_clear_update() member functions,
	  which for base classes are declared virtual and print a "stub called" error
	  message.
	. Can also handle nodes without interface members now
 	. Better handling of utility data in constructor/destructor by means of
	  new util_[init|clone|destruct]() member functions.
	. new comment delimiters in header file indicate where manual editing
	  should be restricted, so the headers can be updated automatically later
	  on without tedious manual merging.
	. major refactoring of the nodegen program itself.

	* bug fixes in node interface code.

	* PhBRML: most scatterers: normalisation field removed.

	* PhB[Cone|Sphere]TextureProjection: problem with poles fixed (Pieter Peers)
	
2000-12-11  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* List.H: linear list template class
	
	* EventManager.[CH]: event queue split off vrml_world +
	implemented by means of a linear list. Events are now dispatched
	in the same order as they are queued.
	
	* route.C: routes implemented by means of a linear list +
	split off nodeInterface.[CH]

	* link.C, nodeInterface.C: links split of from nodeInterface.C +
	forward links maintained now for PROTO declaration interface
	members. synchronize() method no longer needed for maintaining
	consistent "raw" event and field values.

2000-12-08  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* event routing and execution engine + several smaller
	improvements. Can't test event execution engine thoroughly because
	sensors and interpolator functionality must be implemented first.

	* Viewpoint binding appears to conform to NIST conformance
	tests, at least those tests not reuiring createVRMLFromURL/String
	and Anchor "jumpcut"s.
	
2000-12-07  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* file.C: url caching

	* nodeInterface.[CH], field.C, eventIn.C, eventOut.C, exposedField.C:
	event linking

2000-12-06  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* file.[CH]: vrml_file class cleaned up.
	
	* nested EXTERNPROTO support, Inline and EXTERNPROTO now
	pass all NIST VRML conformance tests, except those
	with eventIn or eventOut linking (not yet implemented)

2000-12-05  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* Inline and EXTERNPROTO support.

2000-12-04  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* parser and lexical scanner made re-entant: requires
	flex and bison, but parser need not be regenerated 
	unless bison/flex scripts are changed. Almost everything
	that could be separated out the bison script is in
	parser2.C. The parser.C file generated by bison needs
	manual editing, see Makefile.

2000-12-01  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* file.[CH]: new openFromURL method fetches URL using wget
	(needs to be installed on your system) to a temporary file and
	opens that (deleting it on close()).

	* world.[CH]: 'filename' field replaces by a vrml_file * in
	which much more information is kept + new method openFileFromURLs
	for opening files from urls relative to the url the world was
	parsed from. Use 'world->file->url' whereever 'world->filename'
	was used before (e.g. yacc.y++).

	* PhBImageTexture.C: updated to use world->openFileFromURLs().

2000-11-29  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* world.[CH], vrml.H: vrml_world class no longer defined in
	vrml.H for better data hiding

	* bindables.[CH]: bindable node stacks in vrml_world implemented
	as separate class.

	* yacc.y++: bindable node stacks are now properly initialised
	+ new 'NAME' keyword (doesthe same like 'DEF' except node is not
	added to the scene graph)

	* Bindable.[CH] and all bindables: bindable node stack stuff done

	* vrmlview: adapted so default view point is correctly determined
	as the 'bound' one after reading a file + bounding box determination
	of Grouping nodes hopefully fixed.

	* DOC: documentation updated.
	
2000-11-28  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* PhBAppearance: default_projection texture projector must return
	shading axis frame in same coordinate system as 'point' argument
	(if 'point' is in world coordinates, shading frame also must be in
	world coordinates).

	* Stack.H: new member fucntion for getting the top of the stack and for
	removing an element from the stack.
	
	* Bindable.[CH]: default implementation of BIndable::set_bind() eventIn
	according to the specs.

	* vrml.H: vrml_world class now contains bindable node stacks for each type
	of bindable node.

	* TODO: bindables and their stacks:
	. bind first encountered item of each bindable node type in an input file
	. initialise bindable node stack pointer for each type of bindable node +
	let set_bind() eventIN call BIndable::set_bind eventIn default implementation.

	* PhBRMLRGBSpectrum, PhBMonitorCalibration: new node classes for RGB spectra
	and monitor characteristics (needed for converting rgb to internal XYZ
	spectral representation)

2000-11-27  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* PhBRML: more PhBAppearance API changes
	* texturing nodes: new isTextured() member function
	* NODES/TextureTransform implemented

2000-11-22  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* PhBRML:
	. PhBSchlickReflector
	. PhBHeterogeneousSurface,
	. PhBImageTexture (Pieter P)
	. 2d texture projections nodes (PhB[Box|Sphere|Cylinder|Cone]TextureProjection)
	(Pieter P.)
	. PhBTexturedSurface (Pieter P.) scattering, emission still TODO
	. PhBFresnelBSDF
	. PhBSDF renamed PhBSimpleBSDF
	. new PhBAppearance API, TODO: bump- and displacement mapping, 2d texture xf.
	. PhBHomogeneousSurface re-implemented
	. PhB3DTexturedSurface re-implemented

	* TEST/: numerous new test scenes

	* file.[CH]: smart class for opening/closing files.
	
2000-11-10  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* PhBRML/PhBWardReflector: new scatterer (together with Pieter Peers)

	* TEST/wardtest.wrl: test scene

2000-10-12  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* PROGS/vrmlview/oglrenderer.[CH], main.C: list of predefined
	views in renderer changed to array of pointers to viewport nodes 
	instead of array of viewpoint nodes themselves. The old method
	could cause a crash, probably due to the fact that the destructor of
	the SFNode class is not yet OK (BUG)

2000-09-03  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* PROGS/vrmlview: lighting does not always seem to work. It can
	be disabled now + several other smaller fixes.

	* PROGS/vrml2mgf: important improvements in material conversion
	+ more indicative MGF object and material names

2000-09-02  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* VRML/SFNode.C (name): implemented using old-fashioned,
	but at least working, sprintf() instead of ostrstream 
	crashing on Linux

	* VRML/eventIn/Out.C: not-yet-implemented link_event()
	function now properly returns 0.

	* PROGS/vrmlview: new GUI font + 3-button mouse motion

2000-01-31  Jan Prikryl  <prikryl@cg.tuwien.ac.at>

	* VRML/NODES/Makefile.am, VRML/PhBRML/Makefile.am: auxiliary
	  libraries are not being installed anymore; header files installed
	  to $(includedir)/VRML
	* VRML/Makefile.am: header files installed to $(includedir)/VRML
	* Makefile.am: conditinal compilation of NODEGEN
	* configure.in: code for MKDEP_XTRAINC updated, conditinal
	  compilation of NODEGEN

2000-01-30  Jan Prikryl  <prikryl@cg.tuwien.ac.at>

	* NODEGEN/yacc.y++, VRML/yacc.y++: renamed from `yacc.y' to
	  correspond to GNU automake C/C++ resolution of yacc files.
	* */Makefile.am: new files
	* make.rules: new file
	* */Makefile.save: backups of the old Makefiles, reflect changes
	  in directory strucutre, changed "include" to "-include"
	* acinclude.m4: new file
	* acconfig.h: new file
	* configure.in: new file
	* mk2save: copied from Renderpark distro
	* save2mk: likewise
	* VRML/NODES: contains code from `./NODES'
	* VRML/PhBRML: contains now code from `./PhBRML'
	* VRML: contains the rest of `libvrml.a' stuff from `.'
	* AUTHORS: now up-to-date
	
1998-12-02  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* release 0.2. See BUGS and DOC/status.

1998-04-10  Philippe Bekaert  <philippe@cs.kuleuven.ac.be>

	* release 0.1
