Wed Apr 23 17:27:01 1997  Michael Pichler  <mpichler@fiicmhp02.tu-graz.ac.at>

        * kwagen: ge3d_int_* texture image formats (ge3dCreateTexture)
        * ge3dWireCube untextured
        * ge3dCreateTexture able to return additional info (e.g. coloring)
        * eyedistance for ge3d_setcamera absolute again
        // ge3d_1_5alpha, ge3d_1_5 (used for VRweb 1.5[alpha])


Fri Mar 14 17:09:41 1997  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * kwagen: hint_ccw


Wed Feb 12 16:18:28 1997  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * take-over of kwagen's screendoor transparency implementation
          and additional stereo view parameters
        * blended transparency; no transparency when lighting turned off


Tue Jan  7 14:30:11 1997  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * polygon antialiasing activated for OpenGL (poor results though)
        * ge3dMaterial: glColor must be set to diffuse part for GL_COLOR_MATERIAL
        * front-to-back polygon aa. (requires Alpha-planes and sorted polygons)


Wed Dec 18 11:48:51 1996  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * warning on invalid light index removed from ge3d_switchlight


Tue Oct 15 17:34:00 1996  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * Mesa version: no texture filtering/mipmapping by default (for speed)
          int ge3dCurrentTextureMipmapping ()


Mon Sep  9 18:49:52 1996  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

	* ge3d_apply_material: when GL_COLOR_MATERIAL is enabled, must use glColor
	  instead of glMaterial to set diffuse color component
	  (thus may always use glColor)


Mon Jun 17 17:40:05 1996  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * ge3d_apply_material got aware of same material indices
	* use of GL_COLOR_MATERIAL if only diffuse material component changes


Wed May  8 12:22:27 1996  Michael Pichler  <mpichler@fiicmhp02.tu-graz.ac.at>

        * ge3dAlphaTest (float threshold): alpha test for transparent textures
        * ge3dTextureMipmapping (int quality /* 0 to ge3d_maxmipmap_quality */)
        * ge3dGlobalAmbient (const colorRGB*): global ambient light intensity;
          defaults to (0.2, 0.2, 0.2)
        * hint_ambientcolor: when set, ge3d_fillcolor sets ambient color too
        // ge3d1_2


Tue Apr 30 16:13:52 1996  Michael Pichler  <mpichler@fiicmsg01.tu-graz.ac.at>

        * ge3dLoadTextureMatrix (const matrix4D), ge3dGetTextureMatrix (matrix4D)


Tue Mar 26 17:34:13 1996  Michael Pichler  <mpichler@fiicmss03.tu-graz.ac.at>

        * ge3d_get_matrix added  // ge3d1_1_4 (used for SrcVers1_2pl2)


Thu Feb 15 18:59:07 1996  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * ge3dPolygon supports texturing with 3 new arguments:
          const point2D* texvertlist, int, ntexverts, const int*, texvindexlist
        * ge3dCube supports texturing
        * ge3d_setmode restructured
        * texturing of quadrics (Sphere, Cone, Cylinder)
        * new function ge3dTextureRepeat (s, t)  for repeat/clamp flags
        * new functions for texture matrix manipulation:
          ge3dLoadTextureIdentity (); ge3dMultTextureMatrix (const matrix4D)
        * hidden line for quadrics                                // ge3d1_1_3


Wed Feb  7 19:19:49 1996  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * ge3d_setmode needs to create gluquadobj if not yet done (bugfix)


Mon Jan 29 16:49:46 1996  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * ge3d_setmode no longer checks previous mode setting
          (caused shaded wireframe bug and multi-window problem)
          be sure not to call it too often (depth buffer clear!)  // rel1_1_2


Tue Nov  7 10:57:59 1995  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * SpotLight bugfixes
        * ge3dMaterial: additional const materialGE3D* argument  // ge3d_1_0_4_7
        * ge3dMaterial: float* argument discarded  // ge3d_1_0_4_8  // rel1_1


Mon Oct 16 10:48:21 1995  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * ge3d_setcamera and ge3d_ortho_cam: additional up-vector argument
          (optional), vectors passed by reference.  // ge3d_1_0_4_3


Wed Oct 11 16:45:17 1995  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * ge3dCamera: changed enums of ge3d_camera_t to allow calls of
          ge3dCamera that do not change the modelview or projection matrix
          ge3drc.h to prevent linking against wrong lib version  // ge3d_1_0_4_2


Fri Sep  8 11:30:06 1995  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * texturemapping (with lighting); hint_texlighting

        * shininess range bug fixed (0.0 to 128.0)


Tue Sep  5 19:01:22 1995  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * texture mapping (without lighting) implemented for ge3dFaceSet


Fri Sep  1 14:51:45 1995  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * copying alpha values very inefficient, also not correct
          (would need depth sorting of polygons);
          partially removed for efficiency
          will use polygon stipple for fast (faked) alpha values
          and RGBA arrays throughout QvLib with A set to 1.0

        * no normal vectors needed when lighting turned off


Tue Aug  8 17:18:00 1995  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * hint_lighting for LightModel Basecolor
          (ge3d_apply_material uses only diffuse color in that case)


Thu Jun 29 19:21:36 1995  Michael Pichler  <mpichler@fiicmsg02.tu-graz.ac.at>

        * new header material.h contains definition of materialsGE3D
        * ge3dFaceSet supports several material bindings
        * ge3d_apply_material as helper function
        * ge3d_wire_material for multiple wireframe materials


Tue May 23 11:02:45 1995  Michael Pichler  <mpichler@merkur.tu-graz.ac.at>

        * new: ge3dSphere, ge3dCylinder
        * new: ge3dSpotLight

        * ge3d_hints (ge3d_need_no_depth_buffer) to turn off Z-buffering
        * ge3dFaceSet: argument facenormals added


Fri May 12 12:19:16 1995  Michael Pichler  <mpichler@merkur.tu-graz.ac.at>

        * new: ge3dLineSet, ge3dPointSet


Tue May  9 12:19:40 1995  Michael Pichler  <mpichler@merkur.tu-graz.ac.at>

        * new: ge3dMultMatrix, ge3dRotate (radians!),
               ge3dLoadIdentity, ge3dPushIdentity


Wed May  3 10:35:49 1995  Michael Pichler  <mpichler@fiicmal01.tu-graz.ac.at>

        * ge3d.h: new constants mat_* for ge3dMaterial (float*)

        * new function ge3dCamera for both perspective and orthographic
          camera with arbitrary orientation


Tue May  2 16:12:07 1995  Michael Pichler  <mpichler@merkur.tu-graz.ac.at>

        * new function ge3dFaceSet similar to ge3dPolyhedron for VRML faces.


Thu Mar  2 15:23:35 1995  Michael Pichler  <mpichler@merkur.tu-graz.ac.at>

        * ge3d.h: ge3d_texturing added to ge3d_mode_t;
          new functions ge3dTexturingSupport and ge3dAntialiasingSupport


Mon Jan 30 17:31:52 1995  Michael Pichler  <mpichler@merkur.tu-graz.ac.at>

        * texturing of (general) faces (redefinition of type face)
        * ge3dPolyhedron has additional parameter for texture coordinate list
          macro ge3d_polyhedron for backward compatibility
          (have to do the same for ge3d_polygon/ge3dPolygon)

        * ge3dAntialiasing (ge3d_antialiasing_t) generalizes ge3dLineAntialiasing
          Params: ge3d_aa[lines/polygons/all] or 0 (to turn off)

Mon Jan 23 11:10:24 1995  Michael Pichler  <mpichler@merkur.tu-graz.ac.at>

        * ge3d_line (x0, y0, z0, x1, y1, z1);
        * ge3dLine (const point3D*, const point3D*);


Fri Jan 20 12:15:31 1995  Michael Pichler  <mpichler@fiicmal01.tu-graz.ac.at>

        * ge3dLineAntialiasing (int);


Wed Jan 11 11:28:44 1995  Michael Pichler  <mpichler@fiicmal01.tu-graz.ac.at>

        * ge3dTexturedPolygon (int, point3D*, point2D*, int);


Tue Jan 10 18:46:22 1995  Michael Pichler  <mpichler@fiicmal01.tu-graz.ac.at>

        * new prototypes for texture mapping:
          ge3dCreateTexture, ge3dFreeTexture, ge3dDoTexturing, ge3dApplyTexture


Mon Jul 11 11:24:12 1994  Michael Pichler  (mpichler@fiicmhp01.tu-graz.ac.at)

        * cleaned up interface to functions defining light sources:
          void ge3dSetLightSource (int index, const colorRGB* color,
                 const vector3D* pos, float positional, int camlgt);
          void ge3dLightSource (int index, const colorRGB* color,
                 const matrix mat, float positional, int camlgt);
          the work is internally done by ge3d_set_light_source ().


Wed Jul  6 17:34:51 1994  Michael Pichler  (mpichler@fiicmsg01.tu-graz.ac.at)

        * new functions for dealing with overlay planes:

          int ge3dRequestOverlay ();  to request overlay bitplanes,
          void ge3dBitplanes (ge3d_normal_planes|ge3d_overlay_planes);
            to set active bitplanes,
          void ge3dClearOverlay ();  to clear overlay bitplanes
          void ge3dMapColori (int index, short r, g, b);  and
          void ge3dMapColorRGB (int index, const ColorRGB*);
            to set color map entries for overlay pl. (r, g, b up to 255)
          void ge3dColorIndex (int index);  to activate a color entry.


Mon May 30 19:38:34 1994  Michael Pichler  (mpichler@fiicmsg01)

	* ge3dFilledRect: filled rectangle using current light sources
	  5th argument for z plane


Tue Mar 15 17:47:08 1994  Michael Pichler  (mpichler@fiicmsg01)

	* ge3dLightSource now gets a transformation matrix
	  and has flags for positional/directional light and
	  may be relative to camera or not.
	  ge3dSetLightSource becomes anachronism.


Mon Feb 28 15:09:13 1994  Michael Pichler  (mpichler@pluto)

	* void ge3dPolyLines2D (float* p); draw sequence of 2D polylines
          (useful for wireframe text outlines)


Wed Feb 16 14:41:45 1994  Michael Pichler  (mpichler@mars)

	* BUGFIX: ge3dShadedPolygon has to switch
	  shademodel to GOURAUD


Thu Jan 27 15:17:17 1994  Michael Pichler  (mpichler@venus)

	* ge3dSetLightSource (int, colorRGB*, point3D*)


Mon Jan 24 18:15:22 1994  Michael Pichler  (mpichler@fiicmsg01)

	* new:  "color.h" - struct colorRGB

        * new:  ge3dShadedPolygon (int n, const point3D*, const colorRGB*)

	  draws a filled polygon with n vertices, color for
	  each vertex given.


Thu Jan 13 13:25:22 1994  Michael Pichler  (mpichler@fiicmsg01)

	* new:  ge3dCube (p, q)

          draws a cube in the current drawing mode,
          p must be the vertex with minimum x, y, z,
	  q the vertex with maximum x, y, z.

	* new:  ge3d_rectf (x1, y1, x2, y2)

          draws a *filled* rectangle in 2D space (z = 0),
          points like ge3d_rect, filling like ge3d_circf.

	* for more readability (and efficiency) passing const point3D*
          or vector3D* instead of three floats to some functions.
          For example: ge3d_moveto (a, b, c) --> ge3dMoveTo (p)
          Sorry, C does not allow to overload functions or to use
          references instead of pointers.

          new functions:
          ge3dMoveTo, ge3dLineTo, ge3dWireCube, ge3dText,
          ge3dTransformMcWc, ge3dTransformVectorMcWc, ge3dTranslate;
	  ge3dWireCube (macro).

          (old functions still supported.)
