Skip to content

Releases: arrayfire/forge

v1.0.8 Release

26 Jul 14:45
82d180b
Compare
Choose a tag to compare

This fix release is a hundred percent build and cmake usage improvements and there are no bug fixes in the library.

Improvements/Modifications

  • Handled multiple import configs in Forge Config file - #230
  • Improved offline build experience for forge developers - #233
  • Added CMake presets for easy development setups - #233

v1.0.7 Release

28 Apr 10:12
Compare
Choose a tag to compare

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

05 Apr 13:43
Compare
Choose a tag to compare

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 when vcpkg 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

10 Feb 12:48
1a0f0cb
Compare
Choose a tag to compare

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

02 Mar 11:20
Compare
Choose a tag to compare

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

06 Dec 06:23
Compare
Choose a tag to compare

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

22 Jun 10:58
Compare
Choose a tag to compare

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

19 May 05:50
Compare
Choose a tag to compare
  • Fix SOVERSION numbering.
  • Add Issue and PR github markdown templates.

Forge 1.0.0 Release

18 May 11:37
Compare
Choose a tag to compare

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 and fg::Chart are the two main rendering objects that drawn on fg::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 graphs
        • fg::Plot - 2D and 3D plots
        • fg::Surface - 3D surface plots
        • fg::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

19 Dec 19:04
Compare
Choose a tag to compare
Pre-release
Merge pull request #126 from arrayfire/devel

Release 0.9.2