Forge

Overview

## About Forge

A prototype of the OpenGL interop library that can be used with ArrayFire. The goal of Forge is to provide high performance OpenGL visualizations for C/C++ applications that use CUDA/OpenCL.

## Upstream dependencies

- glbinding
- GLFW
- freetype
- FreeImage - optional. Packages should ideally turn this option ON.
- On `Linux` and `OS X`, fontconfig is required.

Above dependecies are available through package managers on most of the Unix/Linux based distributions. We have provided an option in `CMake` for `Forge` to build it's own internal `freetype` version if you choose to not install it on your machine.

We plan to provide support for alternatives to GLFW as windowing toolkit, however GLFW is the default option. Should you chose to use an alternative, you have to chose it explicity while building forge.

Currently supported alternatives:

- SDL2

Alternatives to GLFW which are currently under consideration are given below:

- Qt5

## Example Dependencies

- CPU examples doesn't need any additional dependencies.
- CUDA Interop examples requires CUDA toolkit
- OpenCL Interop examples requires OpenCL libraries.
  - AMD
  - INTEL
  - NVIDIA

#### Email

- Engineering: techn.nosp@m.ical.nosp@m.@arra.nosp@m.yfir.nosp@m.e.com