handmade.network Library
Graphics
Umbrella for all things to do with graphics programming.
Article

An introduction to shader derivative functions
An article giving an interactive introduction to derivative functions in common shading languages. By Giuseppe Portelli.

Color: From Hexcodes to Eyeballs
A grand tour of the science behind color, color perception, and how colors are generated by computer displays. By Jamie Wong.

Point in Polygon Detection Strategies
Testing whether a point is inside a polygon is a basic operation in computer graphics. Graphics Gems presents an algorithm for testing points against convex polygons (Badouel 1990). This Gem provides algorithms which are from 1.6 to 9 or more times faster for convex polygons. It also presents algorithms for testing nonconvex polygons and discusses the advantages and drawbacks of each. Faster, more memory intensive algorithms are also presented, along with an O(log n) algorithm for convex polygons. Code is included for the algorithms discussed.

Square/Disc Mappings
Various methods to convert a point on a unit square to a point on a unit disc.

The History of OpenGL Vertex Data
An article explaining how OpenGL's APIs for vertex data have evolved over time.
Paper

Mappings between Sphere, Disc, and Square
A variety of mappings between a sphere and a disc and between a disc and a square, as well as combinations of both, are used in computer graphics applications, resulting in mappings between spheres and squares. Many options exist for each type of mapping; to pick the right methods for a given application requires knowledge about the nature and magnitude of mapping distortions.
This paper provides an overview of forward and inverse mappings between a unit sphere, a unit disc, and a unit square. Quality measurements relevant for computer graphics applications are derived from tools used in the field of map projection, and a comparative analysis of the mapping methods is given.

Matrix rowcolumn sampling for the manylight problem
Computing global illumination using the manylights approach is expensive, this algorithm presents a method ("exploration") for reducing the amount of lights to be sampled.

Photon Mapping (2 Minute Papers)
Describes the Photon Mapping solution to light transport.

Polygonising a scalar field
Papers describing methods of creating a polygonal representation of a scalar field (e.g. marching cubes with voxels).

Stochastic Lightcuts
A solution to the global illumination problem by sampling from many lights. Stochastic Lightcuts is an improvement on the earlier Lightcuts algorithm. Presentation at HPG 2019.
YouTube Video

Advanced Global Illumination Using Photon Mapping
Photon mapping provides a practical way of efficiently simulating global illumination including interreflections, caustics, color bleeding, participating media and subsurface scattering in scenes with complicated geometry and advanced material models. This class will provide the insight necessary to efficiently implement and use photon mapping to simulate global illumination in complex scenes. The presentation will briefly cover the fundamentals of photon mapping including efficient techniques and datastructures for managing large numbers of rays and photons. In addition, we will describe how to integrate the information from the photon maps in shading algorithms to render global illumination.

Matrix rowcolumn sampling for the manylight problem
Computing global illumination using the manylights approach is expensive, this algorithm presents a method ("exploration") for reducing the amount of lights to be sampled.

Photon Mapping (2 Minute Papers)
Describes the Photon Mapping solution to light transport.

RayTraced Irradiance Fields (RealTime Light Probe Rendering)
[...] how to combine glossy reflection ray tracing with diffuse raytraced irradiance field probes. This creates a complete dynamic global illumination solution that scales across all DXR GPUs and minimizes light leaking without requiring manual perprobe or lightmap work by artists.

Stochastic Lightcuts
A solution to the global illumination problem by sampling from many lights. Stochastic Lightcuts is an improvement on the earlier Lightcuts algorithm. Presentation at HPG 2019.

ThinMatrix SingleChannel SDF Font Rendering
Two OpenGL tutorial videos that give an overview of the basics of setting up singlechannel SDF font rendering. Video one covers basic bitmap text rendering, and video two shows how to convert from bitmap to SDF.
Video one: https://www.youtube.com/watch?v=mnIQEQoHHCU
Video two: https://www.youtube.com/watch?v=d8cfgcJR9Tk