OFLIM
A darkroom console that simulates black-and-white film: 19 emulsions, optical lens filters, push and pull development, and silver halide grain computed on the GPU.
Develop a print
A reduced port of OFLIM's shader, running in your browser with its filter weights and 400 TX curve.

OFLIM turns a digital photograph into a black-and-white print by modelling what film does to light: spectral response, characteristic curves, lens filters and grain.
Each of the 19 emulsions carries its own profile, and the result can be compared against the original with a split view or by holding Space.
Sensitometry in a fragment shader
The pipeline converts colour through filter weights, applies exposure in stops, compresses shadows and highlights along a D-Log E toe and shoulder, then pivots contrast around 18% middle grey.
Grain with no visible tiling
Noise is Gaussian, generated with Box-Muller into a 1024 pixel texture and sampled twice, the second octave at a golden-ratio frequency of 0.618. Stacking the two hides the repeat that a single tiled texture would show.
Two render tiers
Editing happens on a 2048 pixel preview so sliders stay responsive with very large negatives. Export runs a dedicated offscreen WebGL pass at full resolution.
Grain follows the film format
Crystal size scales with the negative, from coarse half frame through 35mm and 120 down to ultra-fine 4×5 sheet film.