Developer Documentation

Forge is a suite of artist tools for creating 2d/3d content. They are developed with an emphasis on clarity and simplicity.

Popular content creation applications are monolithic, they all tend to do a large number of things rather poorly. This project aims to provide individual, purpose-built tools that each solve a particular problem well.

Forge is the name of both the overarching project, and the foundation library that Forge tools are built upon. The library provides a common framework for programmers to develop digital content creation1 tools (sometimes abbreviated as DCCs). It includes basic support for: linear algebra; geometry processing; shading and rendering; and so on. It also provides a fundamental module for building responsive graphical user interfaces.

Getting Started

Instructions for developers who want to begin using Forge as the foundation for a new tool.

Reference Documentation

API documentation for the Forge foundation library.

Project Organization

An overview of the project structure — links to key pages and relevant development tools.

Code Style Guide

Guide to writing conventional code for Forge. The guide intentionally avoids mention of formatting style, focusing instead on practical points conducive to maintaining a consistent and organized project.

Contribution Guide

Brief document describing standard contribution workflow and suggested best practices.

Design Documentation

Motivation and Development Philosophy

Document describing the governing motivation and mentality for Forge development.

Programming Graphical User Interfaces

Design notes for the Forge immediate-mode GUI module.

  1. While "content creation" is nowadays often associated with edited or streamed video content produced by content creators, in this case we are referring to the creation of digital assets targeting games, visual effects, animation, and computer graphics in general. ↩︎