forge

High Performance Visualization

Downloads
34
Stars
219
Committers
16
forge - v1.0.8 Release Latest Release

Published by 9prady9 about 3 years ago

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
forge - v1.0.7 Release

Published by 9prady9 over 3 years ago

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

Build Fixes

  • Fixed internal CMake targets for static library builds - #225
  • Fixed CUDA examples cmake target link keyword - #226

Breaking Changes

None

forge - v1.0.6 Release

Published by 9prady9 over 3 years ago

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

forge - v1.0.5 Release

Published by 9prady9 over 4 years ago

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.

forge - v1.0.4 Release

Published by 9prady9 over 5 years ago

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.

forge - v1.0.3 Release

Published by 9prady9 almost 6 years ago

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.

forge - v1.0.2 Release

Published by 9prady9 over 6 years ago

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.

forge - Fix Release for Forge v1.0

Published by 9prady9 over 7 years ago

  • Fix SOVERSION numbering.
  • Add Issue and PR github markdown templates.
forge - Forge 1.0.0 Release

Published by 9prady9 over 7 years ago

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

forge - Pre-stable release v0.9.2

Published by 9prady9 almost 8 years ago

forge - Pre-stable release v0.9.0

Published by 9prady9 about 8 years ago

forge - af3.2.0

Published by shehzan10 almost 9 years ago

This tag is pointer to ArrayFire 3.2.0 Release