Post-Processing

Curvature

Curvature simulates the curved glass of CRT monitors, bending the image toward the edges. This effect is essential for authentic retro display aesthetics.

Example Configuration

curvature.json
{
  "effect": {
    "postProcesses": [
      {
        "id": "pp_curvature",
        "type": "curvature",
        "enabled": true,
        "settings": {
          "curvature": 0.3
        }
      }
    ]
  }
}

Settings

PropertyTypeRangeDefaultDescription
curvaturenumber0-10.3Curve intensity (0 = flat, 1 = maximum curve)

How It Works

CRT monitors used curved glass screens, which caused the image to appear slightly warped toward the edges. This effect recreates that distortion digitally.

Suggested Presets

StyleSettings
Subtlecurvature: 0.1
Classic CRTcurvature: 0.2
Arcade Monitorcurvature: 0.35
Extremecurvature: 0.5

API Usage

render-request.json
POST /api/v1/render
{
  "state": {
    "canvas": {
      "aspectRatio": "16:9",
      "backgroundColor": "#1a1a1a"
    },
    "layers": [...],
    "selectedLayerId": null,
    "effect": {
      "effectId": "ascii-standard",
      "enabled": true,
      "postProcesses": [
        {
          "id": "pp_1",
          "type": "curvature",
          "enabled": true,
          "settings": {
            "curvature": 0.2
          }
        }
      ]
    }
  },
  "format": "png",
  "width": 1920,
  "height": 1080
}

Tips

  • Combine with scanlines and vignette for full CRT effect
  • Keep curvature subtle (0.1-0.3) for realistic look
  • Higher values create more dramatic, stylized effects
  • Works great with ASCII and pixel art effects