Releases: arrayfire/forge
v1.0.8 Release
This fix release is a hundred percent build and cmake usage improvements and there are no bug fixes in the library.
Improvements/Modifications
v1.0.7 Release
Bug Fixes
- Fix angle computation bug for trackball - #227
Improvements/Modifications
- Use glad, glm system packages automatically if available - #226
- A very basic wire-ball of two loops is shown when rotation is being done to better hint the user of the direction of rotation - #227
- Add custom Cursors for zoom and rotation modes to visually aid the user - #227
Given below are some sample gifs that show arcball hints and custom cursors
Fig.1 - Pan and Scale |
Fig.2 - Per Cell Rotation in Grid Layour |
Build Fixes
- Fixed internal CMake targets for static library builds - #225
- Fixed CUDA examples cmake target link keyword - #226
Breaking Changes
None
v1.0.6 Release
This fix release in majority constitutes of build system changes.
- Removed Hunter package manager support
- Added offline build support: Users can use
forge-full-<VER>.tar.bz2
tar ball to build on systems without network connection. Note that you do need to have the required dependencies installed,FG_BUILD_OFFLINE
only informs cmake to avoid cloud connection during build. - Added
vcpkg.json
manifest file to automatically install dependencies under the build folder whenvcpkg
is used. Users can just do the following to fetch and build the project in a single command
cmake -S <source_dir> -B <build_dir> -DVCPKG_MANIFEST_DIR=<source_dir>/vcpkg -DCMAKE_TOOLCHAIN_FILE=<vcpkg_cmake_location>
Bug Fixes
- Fix OpenGL dependency linking in examples - #220
- Remove OpenCL examples - #221
- Fix cpu bubblechart & surface data consistent in all computes - #222
Improvements/Modifications
- Removed Hunter Package Manager Support - #211
- Enable offline build support using cmake option -
FG_BUILD_OFFLINE
- #220
Build Fixes
- Fix CUDA examples kernel launch call formatting upon observing issue with certain compilers - #217
- Fix find OpenGL cmake module in examples - #219
- Fix Freetype build issue with versions higher than 2.8 - #219
Breaking Changes
None
v1.0.5 Release
Bug Fixes
- Fixed a bug related to chart axes labels regeneration - #202
- Fixed out of bounds access error in FreeType error lookup - #208
- Fixed Doxygen warnings of obsolete config options
Improvements/Modifications
- Added an internal API to disable axes rendering for certain type of renderings, this change has no user impact - #205
Build Fixes
- Fixed cl2.hpp header download CMake script - #201
- Code clean, Warning fixes, Removal of dead code - #198 , #208
- Fixed build-type/build-configuration setup for CMake generators - #209
Breaking Changes
Renamed ComputeCopy.h
helper header to compute_copy.h
and moved it under forge subdirectory - #209 . This change only effects the users who use this helper header to handle data copy from compute buffers to OpenGL buffers.
v1.0.4 Release
Bug Fixes
- Fix a bug where glDeleteBuffer was being called on default frame buffer object - #190
Improvements
- Removes unncessary use of an extra Pixel Buffer Object in save frame buffer implementation - #190
- Improved
colormap_impl
class implementation.
Build Fixes and Modifications
- glad replaced glbinding as GL function loader - #191
- glm is no longer a dependency to be installed by user as it is a submodule in forge - #192
- A work around fix for Freetype::Freetype target on Ubuntu 16.04 - #193
- Rectified and cleaned up target exports, both build tree & install tree - #195
- Avoid attempting to install dlls on static builds on windows platform - #195
- Arial font is the default font rendered on Windows starting with this release.
From this release forward, release binaries are automatically generated by ci builds and uploaded to github release notes for new tags.
v1.0.3 Release
Bug Fixes
- Fix chart grid rendering and colors - #185
Build Fixes and Modifications
- Fix freetype link target if hunter enabled - #185
- glbinding upstream version has been bumped up to v3.0.2 - #184 .
- Modified cmake targets to enable forge's usage as submodule in different git projects.
Note: The change to glbinding 3.0 has a catch. There is a new library that gets shipped along with glbinding
, glbinding-aux
. It is an auxiliary library provided by cginternals to handle additional meta information about types etc. This is not used by forge when you build in Release mode and hence is not needed in Release. In any other mode where debug symbols are included, this shall be included and is required.
v1.0.2 Release
Bug Fixes
- Removed throw statements from destructors - #154
- Removed experimental glm/transform header which was causing compilation issues with glm-0.9.9 - #180
- Removed unused glm header( was known to cause build issues with latest gcc compiler) - #161
- Fixed compiler warnings by MSVC compiler - #158
- Corrected install paths for CMake targets - #167
- Fixed CMake variable names to be consistent with documentation - #167
- Fixed inclusion of forge targets in the config file - #168
- Fixed cmake script that locates freetype - #171
Build Fixes and Modifications
- Marked all install cmake variables as advanced - #169
- Removed autoresolution of dependencies in favor of manual install commands - #179
- Fixed FindFreeImage script to handle dlls - #179
- Fixed for dependencies configuration in hunter - #162
- Moved stranded variable/fn definitions into appropriate namespaces - #163
- Added option build forge with static stdc++ & gcc libs - #164
- Refactored CMake build options to have
FG
prefix - #165 - Removed x11 dependency as direct dependency of forge - #166
- Modified NSIS template to add installation path to Windows registry enabling automatic detection of forge in downstream CMake projects - #182
We also made lot of refactring internally to switch from old cmake style to the Modern cmake as detailed by Daniel Pfeifer. Our CMake files look a lot modular and scalable after this change. We have also added support for cpack so that installers for any platform can be generated using cpack -G <generator>
command. CPack support has been tested on Windows and Linux only so far.
We thank the following community members for their contributions.
Fix Release for Forge v1.0
- Fix SOVERSION numbering.
- Add Issue and PR github markdown templates.
Forge 1.0.0 Release
First stable release of Forge library.
Features
- Forge has both C++ and C API. We recommend the C++ API, written atop C API, as the C API is intended to enable easy write of bindings for other languages.
- Full documentation of the library can be found here.
- Forge exposes all it's objects and function via the namespace
fg
. It has the following main classes.fg::Window
- objects of this class provide the rendering canvas over which other objects are rendered.fg::Image
andfg::Chart
are the two main rendering objects that drawn onfg::Window
fg::Image
is a rendering of a simple image to Window.fg::Chart
is base object to which other plotting objects (listed below) are appended and rendered in the order of addition with alpha blending.fg::Histogram
- bar graphsfg::Plot
- 2D and 3D plotsfg::Surface
- 3D surface plotsfg::VectorField
- 2D and 3D vector fields
fg::Font
- provides the choice of selecting the font for your program's rendering. You may skip using this class and the library will defer to the default fonts.fg::Error
- This is the exception object that you should use to catch the errors thrown by Forge.
- Forge being a rendering only library, provides only the logic for rendering. However, we do provide helper functions through ComputeCopy.h headers for the user's convenience.
- You can find the list of examples here. These examples use the above
ComputeCopy
header.
Known Issues
Pre-stable release v0.9.2
Merge pull request #126 from arrayfire/devel Release 0.9.2