Changelog for Magnum, (C) Copyright 2002-2006 by Kaya Kupferschmidt Legend: ========= + Added feature * Changed feature - Removed feature ! Fixed bug Version 0.4 12/06/2006 ========================= This release is a pure developer release. It contains many changes, most notably the new build system (scons) together with a new directory structure. Also included is a new reflection (unfisihed) and some major refactorings of classes. * Switched to scons as build system + [script] Added Label class + [script] Added Value class + [script] Added X86Assembler class + [script] Added X86Program class + [script] Added BinaryProgram class * [script] Moved Program from system to script * [script] Moved Assembler from system to script + [io] Added TeeWriter class + [io] Added TeeReader class + [io] Added TeeOutputStream class + [io] Added TeeInputStream class + [object] Added Runnable interface class * [object] Changed Referenceable to use Allocators + [object] Added StandardAllocator class + [object] Added Allocator interface class + [object] Added Aspect base template class + [object] Added AnyPointer class for holding interfaces * [object] Changed AutoPointer and Pointer to use common base class PointerBase + [xml] Added DefaultHandler class + [xml] Added LexicalHandler interface class + [xml] Added EntityResolver interface class + [xml] Added DeclHandler interface class + [xml] Added ContentHandler interface class + [xml] Added AttributeList class + [xml] Added Attribute class + [xml] Added XmlReader class + [dom] Added DocumentWriter interface class + [dom] Added DocumentReader interface class + [dom] Added Location class + [dom] Added Comment class + [dom] Added Text class + [dom] Added CharacterData class + [dom] Added CDataSection class + [dom] Added Attribute class + [dom] Added Element class + [dom] Added Entity class + [dom] Added DocumentFragment class + [dom] Added DocumentType class + [dom] Added Document class + [dom] Added Group class + [dom] Added Node class + [dom] Added new DOM package (subset of w3c DOM) + [locale] Added AsciiEncoding, AsciiEncoder, AsciiDecoder class + [locale] Added CEncoding, CEncoder, CDecoder class + [locale] Added Encoding interface class + [locale] Added Decoder interface class + [locale] Added Encoder interface class + [locale] Added new Locale package + [io] Added ASCIIPropertyReader class + [io] Added ASCIIPropertyWriter class + [io] Added ASCIIReader class + [io] Added ASCIIWriter class + [io] Added PropertyReader interface class + [io] Added PropertyWriter interface class * [gui3d] Changed Root class internals (now uses a top level Container) + [gui3d] Added Constraints class + [gui3d] Added BoxLayout class + [gui3d] Added StaticLayout class + [gui3d] Added SimpleLayout class (which emulates old behaviour) + [gui3d] Added Layout interface class * [gui3d] Renamed View to Widget * [gui3d] Renamed Context to Painter + [graphics3d] Added ResourceManager class + [graphics3d] Added AppearanceManager class + [graphics3d] Added AppearanceFactory class + [object] Added Factory template class + [text] Added Base64 class + [text] Added NumberFormat class + [text] Added DateFormat class + [text] Added Format interface class + [text] Added RegularExpression class + [text] Added Expression interface class + [io] Added BinaryWriter class + [io] Added BinaryReader class * [io] Renamed DataOutput to Writer and changed it to an interface class * [io] Renamed DataInput to Reader and changed it to an interface class + [graphics3d] Added ColourComponent class + [graphics3d] Added CumpReflectionComponent class + [graphics3d] Added ReflectionComponent class + [graphics3d] Added TextureComponent class + [graphics3d] Added ShaderComponent class + [graphics3d] Added CompoundShader class - [graphics3d] Removed fixed function pixel- and vertex shader classes + [object] Added UUID class + [debug] Added Profileable interface class * [object] Changed PropertyList to use a list instead of an Array + [base] Added throwing_cast + [graphics] Added Gradient class + [io] Added IffReader for reading all kinds of IFF chunked files ! [graphics3d] Fixed various bugs in TranslatorLWO - [graphics3d] Removed LightStack class + [graphics3d] Added ClippingPlane class + [object] Added Referenceable class (which replaces same functionality in Object) + [object] Added DeepCloner class + [object] Added ShallowCloner class + [object] Added Cloner interface class + [object] Added Cloneable interface class * Changed attach/detach semantics to set semantics at most places + [object] Added Waitable class (which replaces wait / notify functionality of Object) + [debug] Added StackTracer class + [graphics3d] Added MeshValidator class * [graphics3d] Changed Appearance to be more const-correct * [object] Changed Pointer and AutoPointer to be const-compatible + [types] Added Traits template class * [object] Exception now inherits Throwable instead Object + [object] Added Throwable and Error classes + [graphics3d] Added clone functionality to many classes ! [graphics3d] Fixed TriangleStriper from crashing + [graphics3d] Added front- and backside material support + [graphics3d] Added write functionality to TranslatorJPG + [graphics3d] Added TempGL class for easily creating a temporary OpenGL context + [graphics3d] Added transparency support in OBJ loader + [graphics3d] Added PixelBuffer class for using OpenGL pbuffers + [net] Added HttpServerConnection class + [net] Added HttpServer class + [net] Added HttpOutputStream class + [net] Added HttpConnection class * [graphics3d] Renamed Camera::setProjectionPlane to Camera::setViewPlane + [physics] Added class ParticleSystem + [physics] Added class Particle + [gui] Added Cursor class and corresponding methods in View and Window + [io] Added ResourceDirectory + [io] Added ResourceFileFactory ! [base] Finally fixed vsscanf for Windows ! [graphics] Fixed some bugs in TranslatorHDR + [graphics] Addd Image::subImage for extracting rectangular parts of an Image + [io] Added ResourceFile for accessing Windows resources without ArchiveEXE + [io] Added ArchiveEXE for accessing Windows resources + [gui] Added PopupWindow class * [gui] Changed init and exit code of Window class and removed unneeded messages + [gui] Added OpenGL::setFormat for setting a complete PixelFormat + [graphics3d] Added Context::getFormat for retrieving the pixel format of the backbuffer + [graphics3d] Added PixelFormat class + [graphics3d] Added class Glew in order to control the initialisation of GLEW + [graphics3d] Added multisampling support to Context class + [graphics3d] Added multisampling support to FrameBuffer class + [gui] Added multisampling support to OpenGL view + [application] Added ScreenSaver class + [application] Added Application::getProgramName + [gui] Fleshed out Screen class * [base] Changed String::sscanf to use a custom implementation on Windows * [graphics3d] Speeded up rendering on cards that support VBOs as an ARB extension Version 0.3 01/27/2006 ========================= The new core features of this version are: A functional media framework and some HTTP client functions. Plus lots of bugfixes mainly concerning memory leaks. See the list below for further details. ! [geometry] Fixed Frustum-AlignedBox intersection test * [gui3d] All string-controls now increase the reference counter of their font. + [graphics3d] Added PhongShader and TexturePhongShader classes + [graphics3d] Added separate specular highlights to FixedShader + [graphics3d] Added default appearance to OBJ loader + [graphics3d] Added OFF Translator for reading OFF files ! [graphics3d] Fixed bug in bounding-box calculations of FrameModels ! [geometry] Fixed bug in Transform::rrotate ! [graphics3d] Fixed crash in optimised RenderStreams ! [graphics3d] Removed memory leak in optimised StaticModel ! [graphics3d] Removed memory leaks from Translator3DS ! [container] Fixed missing destructor calls in Set and Map ! [container] Removed memory leak from PriorityHeap class ! [container] Removed memory leak from Heap class ! [container] Removed memory leak from Map class ! [container] Removed memory leak from Set class ! [container] Removed memory leak from List class ! [container] Removed memory leak from Cache class + [object] Added aissgnement operators to AutoPointer + [system] Added cycle method to Thread * [io] Added special case to InputBuffer for single byte requests * [io] Added special case to InputBuffer for large requests + [io] Added OutputBuffer for buffering output streams + [net] Added HttpInputStream class + [net] Added HttpClientConnection class + [net] Added HttpClient class * [io] Changed IO classes to make use of EndOfFile on reads + [io] Added EndOfFile to File and InputStream + [system] Added Atom class for atomic increments / decrements + [net] Added HttpVersion class + [net] Added HttpResponse class + [net] Added HttpRequest class + [net] Added MimeHeaders class + [net] Added URL class + [media] Added ReaderWAV for reading uncompressed WAV files + [media] Added ReaderOGG for decoding Ogg Vorbis streams + [media] Added Reader class + [application] Added Application::getEnvironment and Application::setEnvironment * [io] Changed IO routines to support 64bit file sizes * [base] Removed unnecessary includes from windows.h by appropriate #define's + [system] Added wait with timeout to Signal * [media] Reworked media framework * Added better support for Visual Studio 8.0 C++ compiler ! [base] Fixed String::sprintf Version 0.2 - 12/29/2006 ========================= + [scene3d] Added PickTraverser for picking + [geometry] Added line intersection routine to space * [scene3d],[object] Moved Attachments from scene3d to object ! [graphics3d] Fixed bug when creating colliders with 16bit indices + [graphics3d] Added preliminary transparency support + [input] Added P5 Glove support + [application] Added Signals / Slots a la Qt + [container] Added template specialisation for single-Allocator ! [geometry] Improved Frustum-intersection tests + [graphics3d] Added basic intersection implementation to Model class + [graphics3d] Added intersection interface for picking in Model class + [graphics3d] Added PerspectiveCamera * [graphics3d] Changed Camera class into a virtual base class + [graphics3d] Added renderAxes to GeometryRenderer class * [graphics3d] Moved Location type from ParameterBuffer to ParameterFormat + [graphics3d] Added basic transparency support to 3DS loader ! [geometry] Fixed insertion-bug in Space + [graphics3d] Added ForegroundLayer class + [graphics3d] Added SolidBackground class + [graphics3d] Added BackgroundLayer class + [graphics3d] Added Layer class + [graphics3d] Added LayerGroup class + [graphics3d] Added Viewport class + [scene3d] Added Viewport class + [graphics3d] Added updateBounds and updateCollider to Model class * [geometry] Added culling optimisation to Frustum + [geometry] Added triangle-line intersection + [math] Added Limits class (ala STL limits) - [geometry] Degeneralised Frustum class to three-dimensional case + [geometry] Added colliders + [geometry] Added sphere-line intersection + [geometry] Added box-line intersection + [geometry] Added alignedbox-line intersection + [geometry] Added cube-line intersection + [input] Added base classes for tracking + [scene3d] Added attachments Version 0.1 - 11/02/2006 ========================= + Initial release of Changelog + [scene3d] Added deep-clone for scene3d Scene-Graph