(in alphabetical order):
v1.8.x
Mattias Andersson <mattias@centaurix.com>:GR32.pas:
- Added fast integer versions of HSLtoRGB and RGBtoHSL
- Added TCustomSampler and TCustomResampler
- Added dmTransparent draw mode
- Added TBitmap32.WrapMode property
- Added TBitmap32.PixelW propertyGR32_LowLevel.pas:
- Added clamp, wrap and mirror routinesGR32_OrdinalMaps.pas:
- Initial developer
- Added TBooleanMap, TWordMap and TIntegerMapGR32_Resamplers.pas:
- Initial developer
- Added TCustomKernel and descendant classes
- Added TBitmap32Resampler and descendant classes
- Added TNestedSampler
- Added TTransformer
- Added TSuperSampler, TAdaptiveSuperSampler and TPatternSampler
- Added TKernelSampler and descendant classes
- Added auxiliary routines for convolution and morphological operations
- Optimized TKernelResampler.GetSample (with Michael)
- Added BlendTransfer routine
- Added CreateJitteredPattern routineGR32_Rasterizers.pas:
- Initial developer
- Added TRasterizer and descendant classesGR32_Transforms.pas:
- Updated Transform procedureGR32_ExtImage.pas:
- Initial developer
- Added TSyntheticImage and TRenderThread
- Added Rasterize auxiliary routineGR32_Containers.pas:
- Added TClassListExamples:
- Mandelbrot Example
- Nested Sampling Example
- Resampler Example
Andre Beckedorf <andre@metaexception.de>:
GR32.pas:
- Added MeasuringMode and changed area notification required for repaint optimizer (BeginMeasuringMode, EndMeasuringMode, OnAreaChanged)
- Added switchable back-end frameworkGR32_Containers.pas:
- Added TPointerMap and TPointerMapIterator
- Added TRectListGR32_Image.pas:
- Added support for repaint optimization to display components (TCustomPaintBox32, TCustomImage32, TCustomImgView32)
- Added property to control scrollbar visibility (TCustomImgView32.Scrollbars.Visibility)
- Added independent X and Y scale properties in TCustomImage32 along with new OnScaleChange event
- Added additional scale modes smOptimal and smOptimalScaled
- Added RepaintMode property to control whether to use repaint optimizer, direct or full scene repaintGR32_Layers.pas:
- Replaced CoordXForm property with more flexible GetViewportShift and GetViewportScale methods in TLayerCollection (e.g. for nested layers)
- Added support for repaint optimization to TCustomLayer descendants
- Added new Update methods to TCustomLayer
- Added Options property, proportional resize and OnConstrain eventGR32_LowLevel.pas:
- Initial support for FastCode routinesGR32_MicroTiles.pas:
- MicroTiles and Tiles auxiliary routines
- MicroTiles Repaint optimizer
- Adaptive balancing
- MMX optimization for MicroTileUnionGR32_Polygon.pas:
- Added additional 2x and 32x supersampling mode
- Performance optimizationGR32_RepaintOpt.pas:
- Abstract Repaint optimizer classGR32_System.pas:
- Added support for EMMX detection (used in repaint optimizer)
- Added TPerfTimer class along with global performance timer
- Added GetTickCount derivative for Linux
- Fixed AV when using Graphics32 in DLLs on WinXPExamples:
- Modified Sprites_Ex, ImgView32_Ex, GradLines_Ex, Polygons_Ex and Image32_Ex Example
Michael Hansen <dyster_tid@hotmail.com>:
GR32.pas:
- Fixed Math related additions
- Auxiliary rectangle routines
- Misc. array types
- Added TColor32Component, TColor32Components and related routines (TColorEntry updated)
- Optimized TBitmap32.ResetAlphaGR32_Layers.pas:
- Enhancements to TRubberbandLayerGR32_Lowlevel.pas:
- MMX optimized FillLongwordGR32_Filters.pas:
- ASM/MMX/EMMX optimized Invert
- Added fast CopyComponents routine for copying selected ARGB components btwn. bitmaps
- Added ASM/MMX/EMMX ApplyBitmask routine for bitwise Xor/Or/And operations using a bitmask
GR32_OrdinalMaps.pas (new unit):
- Minor tweaks for TByteMapGR32_Resamplers.pas (new unit):
- Added kmTableLinear and kmTableNearest kernel modes
- Optimized TLinearResampler
- Fixed TDraftResampler
- GetSampleFloat optimizations
- New overloaded BlendTransfer routine, supporting TBlendRegEx and MasterAlpha
- New PixelAccessMode pamTransparentEdge as a dynamic and fast alternative to SetBorderTransparent
- Minor tweaks in TPatternSampler
- Minor optimizations in pamTransparentEdge related routinesGR32_Transforms.pas:
- Added following transformation types:- TTwirlTransformation
- TBloatTransformation
- TDisturbanceTransformation
- TFishEyeTransformation
- TRemapTransformation- Additional performance tuning
GR32_VectorMaps.pas (new unit):
- Initial developer
- Added TVectorMap, supporting loading and saving in Photoshop .msh formatExamples:
- Image Warping Example
- Visualization Example
- Resample Example
- Texture blend Example
- Additional updates to various examples (see sources)
v1.7 and v1.6
Mattias Andersson <mattias@centaurix.com>:GR32.pas:
- Tweaks
- PixelF/X property
- Some minor CLX/Kylix tweaks
- Added CombineModeGR32_Image.pas:
- Ported to CLX/KylixGR32_Polygons.pas:
- Added TPolygon32.ContainsPoint methodGR32_Transforms.pas:
- Added sfCosine resampling filterGR32_Blend.pas
- Pascal and MMX version of Merge algorithm
- Added MMX versions of almost all PixelCombine functions
Andre Beckedorf <andre@metaexception.de>:
GR32.pas:
- Added Unicode text methods
- Ported to CLX/Kylix
- Added CombineMode
- Added clipping rect support
- pixel-perfect line drawing methods (LineS, LineTS, LineAS)GR32_Image.pas:
- Some part of the CLX/Kylix related changes in this unit
- Added new overrideable Mouse* methods with Layer information
- Added OverSize property in TCustomImgView32GR32_Layers.pas:
- enhancements to TRubberbandLayerGR32_Polygon.pas:
- Added option for dynamic antialias level adjustment at runtime along with 4x supersampling mode
- Added support for custom polygon fillings (TCustomPolygonFiller, TBitmapPolygonFiller) and transformations
- Added support for clipping to rect
- Added PolylineXSP and PolyPolylineXSP
- Additional performance tuningGR32_RangeBars.pas:
- Ported to CLX/KylixGR32_System.pas:
- Added support for SSE, SSE2, 3DNow and 3DNow Ext detectionGR32_Transforms.pas:
- Update to transformation classes to make them suited for general usage
Michael Hansen <dyster_tid@hotmail.com>:
GR32.pas:
- PixelF/X property
- MMX optimized GetPixelF/X FS/XS functionsGR32_Blend.pas:
- Added Difference and Exclusion PixelCombine functions (Pascal)
- Added PixelCombine function setup, to support non MMX cpus
- Worked out bugfix for "not fully opaque" problem in some blendroutinesGR32_Transforms.pas:
- Added sfDraft resampling routines
- MMX optimized sfLinear and sfDraft
- Updated Transform to use PixelX and PixelXS
Contributors:
Arioch /BDV/:
GR32.pas
- Added WinPalette function. (merged by Mattias with some modifications)Thomas Bauer:
GR32.pas:
- Some bugfixes (merged by Andre)GR32_Transforms.pas:
- FullEdge related bugfixes (merged by Andre)Soumitra Bhattacharjee:
GR32_Polygons.pas:
- Added PtInPolygon function. (merged by Mattias with some modifications)Greg Chapman:
GR32_Filters.pas:
- Report and bugfix for the CheckParams problem in ApplyLUT. (merged by Andre)Cleber:
GR32.pas:
- Added Color32ToRGB(A). (merged by Andre)
Dieter Köhler:GR32_Layers.pas:
- TLayerCollection.LocalToViewport
- TLayerCollection.ViewportToLocal
- TPositionedLayer.GetAdjustedRect (all merged by Andre)Marc Lafon:
GR32_Image.pas:
- Custom color properties for the bars (merged by Andre)Peter Larson:
GR32_Polygons.pas:
- Initial work on polygon transformation and bitmap pattern filling.
- Some optimizations in polygon setup.GR32_Transforms.pas:
- TransformPoints routine.Gerd Platl :
Documentation:
- Illustration for TPolyFillModeAndrew P. Rybin:
GR32_Image.pas:
- MouseEnter/MouseLeave (merged by Andre with some changes to match structure)J. Tulach:
GR32.pas:
- Additional handling of chroma transperancy in TBitmap32.Assign (merged by Andre with some modifications and comments).GR32_Transforms.pas:
- C++ Builder workaround (merged by Andre)Bob Voigt:
GR32_Blend.pas:
- ColorMul and ColorDiv (merged by Andre)Jens Weiermann:
GR32_Filters.pas:
- enhancements to ApplyLUT and ColorToGrayscale that preserve alpha channel (merged by Andre)Norbert Witternigg:
- updated the example project files to Borland C++ Builder 6.
Peter Wichenthaler-Sternbach:
- implemented clipping for the AggLite renderer.
Back-Ends, Repaint Optimization
Copyright ©2000-2024 Alex Denisov and the Graphics32 Team - Graphics32 2.0 - Help file built on 18 Feb 2024