JaGrLib: change-log
To do:
This section is obsolete and will not be updated! Recent todo list is maintained
in ./doc/todo.txt file (in Czech)
Done:
This section is obsolete and will not be updated! Recent technical news can be found
in Version.java Javadoc comments.
0.20-0.22 (2003/09/29):
- GUI editor was developed! Thanks to Jan Kostlivý
(GUI is still in heavy development).
Several new packages and many new source files were introduced.
- JaGrLib source tree is now completely maintained by Subversion Tigris (SVN).
"svn://cgg.mff.cuni.cz/JaGrLib/" is available for public use (read-only repository).
Contributors should use "svn+ssh://cgg.mff.cuni.cz/svn/JaGrLib/".
- All scripts were updated for plain JDK 1.4 development (compile.bat, doc.bat, run.bat, ..)
0.13 (2001/05/09):
- BinaryOperation: more readable set-operation names
- MicroFacet: assertion of intersection attributes was redesigned (with help of Solid and
SceneNode)
- RasterImage: needs double color values between 0.0 and 255.0
- TrMatrix: many transform-construction methods added
- interface GraphicsViewer: preview of raster- or vector- graphics output
- Template.CAT_* values were changed and renamed to C_*
- class RasterImagePreview: 1st version
- class Main03: ray-tracing using RasterImagePreview
- class Semaphore: inter-thread synchronization ("producer - consumer" paradigm)
- SimpleSynthesizer: another output Plug was added (to trigger repainting of output image)
- BitStream: closer co-operation with Java's InputStream and OutputStream will be possible
- Template: optional plugs /newOptInputPlug(), newOptOutputPlug()/
- class JavaBitStream: 1st version (tested on JFIF output)
- BitStream: LSB instead of MSB
- interface DataFileFormat: I/O filter for data file formats
- class JFIFFileFormat: 1st version
- RasterGraphics, RasterImage: setBufferedImage()
- all Main* classes: usage of "worker" threads, RasterImagePreview and JFIFFileFormat
- Main.* was renamed to Main00.*
- Template: preparePlugs() - more clear way to connect plugs both in Piece instance and in its
template(s)
- class RayTracing extends RayCasting: 1st version (with no transmitted light yet)
- RayCasting, RayTracing: check fo color overflow
0.12 (2001/05/02):
- class Sphere: 1st version
- class Geometry: EPSILON, INFINITY, vectorProduct, ...
- interface LightModel: another changes (normal vectors, color assignment)
- class TrMatrix: another transformation methods, matrix multiplication and inversion
- interface SceneNode: backward transforms were added
- merge routine MicroFacet.booleanOp()
- ray-scene intersections (CSGCommonNode, CSGNode, CSGLeaf)
- class StaticCSGScene: 1st version
- interface TimeDependent: used in ImageFunction, ImageSynthesizer, RTScene
- class StaticCamera: 1st version
- Geometry: several geometric and arithmetic routines were added
- class StaticPointLightSource: 1st version
- class AmbientLightSource: 1st version
- class PhongModel: 1st version
- class SimpleSynthesizer: 1st version
- class RayCasting: 1st version
- MicroFacet.assertAttributes(): improved, more attributes are handled
- LightModel.createMaterial(): reflected in PhongModel, material-data object
implements Property
- class Main02: test program for ray-casting (union of 2 spheres, 2 light sources)
- interface SceneNode: parent-handling routines
- fixed error in RasterImage.setHLine(int,int,int,double[])
- class CSGNode: cache for inverted transform matrices
0.11 (2001/04/18):
- interface PieceReference: 1st version
- class MicroFacet: 1st version
- class NotImplementedException
- interface SceneNode: 1st version
- class CSGCommonNode: 1st version
- class CSGNode, CSGLeaf: 1st versions
- interface BoundingBox: 1st version
- interface Solid: 1st version
- interface Intersectable: 1st version
- interface RTScene: 1st version
- interface RayGenerator: 1st version
- interface LightSource: 1st version
- interface LightModel: 1st version
- interface ImageFunction: 1st version
- interface ImageSynthesizer: 1st version
- interface Texture: 1st version
- class VEFDS: 1st version
- class TrMatrix: more transformation methods were added
0.10 (2001/03/21):
- interface Brep: small changes in access protocol
- interface EulerOperators: 1st version
- interface FaceRender: Brep context is passed
- interface AlphaOperation: complete set of unary and binary operators
- interface FunctionR2ToR: differential methods
- interface FunctionR2ToR2: 1st version
- interface Interpolation1D, Interpolation2D: 1st versions
- interface GeometrySearch: 1st version
- interface SampleData: 1st version
0.09 (2001/03/15):
- BitMask.clear*() methods were removed
- XTransitionList, AlphaMatrix: extension of the domain "on-demand"
- XTransitionList.*HLine() methods were implemented
- class TrMatrix: core methods
- interface FunctionR2ToR: 1st version
- interface FaceRender: 1st version
- interface Brep: 1st version
- In Czech: cook-book
0.08 (2001/02/28):
- fixed bug in XTransitionList (enumeration)
- BinaryOperation has turned into a class (boolOp() and stationaryOp() methods)
- XTransitionList: implemented all (relevant) binary set operations
0.07 (2001/01/07):
- default alpha-channel operations "B over A" into AlphaMatrix and RasterImage
- class AlphaGenerator: generator of alpha-channel test patterns
0.06 (2001/01/06):
- small change in interface Property
- interface Render extends Property (for general property settings)
- Render.LINE_JOIN, Render.LINE_CAP, Render.LINE_WIDTH, PolygonRender.POLY_INSIDE
- fixed bug in RasterImage.getPixel() and ..setPixel()
- class AlphaMatrix: simple 2D byte-array, no binary operations yet
- interface AlphaOperation: codes for all 12 binary alpha-channel compositing operations
- setAlphaOperation() added to: RasterGraphics, AlphaMask, Pen, Brush
- class SolidColorBrush: pilot SolidBrush implementation
0.05 (2000/12/05):
- interface PolygonWindow, RectangleWindow
- registry classes: TemplateRegistry, PieceRegistry
- cleanup in code of Template and Piece
- automatic registration to every Piece successor
- sample preview window (in Swing's JFrame)
- interface Property
0.04 (2000/11/24):
java -jar jagrlib.jar
- interface ValueTransferFunction was extended (to cover more color-translation tasks)
- interface BitStream, ColormapStore, Order2D, QuadTree
- changes in makefile.jmk, doc.bat, pack.bat (development is now possible both
in jBuilder 4.0 and JDK 1.3 + jEdit + JMK)
- interface EntropyCodec, EntropyHistogram
- interface Channel, Plug (they hide implementation details and allow better
versatility)
- implementations: BasicChannel (multi-channel property), BasicPlug (internal
Plug)
- interface Trigger
0.03 (2000/11/07):
- minor changes in the Web-site
- Plug and Template compatibility tests
- "building block templates" - Mesh, Template
- jBuilder 4.0 Foundation
(JDK 1.3) environment
- first BitMask implementation (X-transition list data structure)
- first RasterGraphics implementation (using Java's BufferedImage)
- first command-line test program Main.java
(draws random Bresenham line segments, saves output to JPEG file)
0.02 (2000/10/30):
- details of vector format: VectorCommand, VCommand and its inner classes,
interface VectorGraphics
- interface BinaryOperation, ValueTransferFunction
- details of raster output format: interface RasterGraphics
- interface TextRender (textExtent, kerning, textPath, createFont, getFont, putFont, ..)
- BitMask.bitBlt(), RasterGraphics.bitBlt()
- interface StrokeCallback, FillCallback
- VectorCommand.execute()
0.01 (2000/10/27):
- first WWW pages, on-line JavaDoc browsing
- basic JaGrLib concepts: Piece, Plug, Channel
- vector format concept
- sample interfaces: BitMask, AlphaMask, LineRender, LineXRender, CubicCurveRender,
CubicCurveXRender, CircleRender, etc.
- Piece specimen: LineBresenham
- links from JavaDoc into source tree (*.java)
- jEdit + JMK environment
[JaGrLib home-page]
[News, credits]
[CGG at MFF UK]
(c) 2000-2009 Josef Pelikán,
last change: $Date: 2013-11-22 23:47:16 +0100 (Fri, 22 Nov 2013) $