• Introduction
    • Introduction
  • How It Works
    • How NTSC Works
      • Understanding NTSC
      • Classic Black & White TV
      • Vertical Sync and Interlacing
      • Adding Color
    • Generating a Fake NTSC Signal
    • Decoding a Fake NTSC Signal
    • Reducing Emulated Temporal Aliasing
    • Faking a CRT Display
  • Getting Started: C++ Helpers
    • Introduction and Initial Setup
    • Implementing the Required Interfaces
    • Using the Main CathodeRetro Class
  • Getting Started: The Shaders
    • Generator
    • Decoder
    • CRT Emulation
  • C++ Reference
    • Classes
      • CathodeRetro
      • Internal::RGBToCRT
      • Internal::SignalDecoder
      • Internal::SignalGenerator
    • Constants
    • Enumerations
      • MaskType
      • SamplerType
      • ScanlineType
      • ShaderID
      • SignalType
      • TextureFormat
    • Interfaces
      • IConstantBuffer
      • IGraphicsDevice
      • IRenderTarget
      • ITexture
    • Structures
      • ArtifactSettings
      • Color
      • OverscanSettings
      • Preset<T>
      • RenderTargetView
      • ScreenSettings
      • ShaderResourceView
      • SourceSettings
      • TVKnobSettings
      • Vec2
      • Internal::SignalLevels
      • Internal::SignalProperties
  • Shader Reference
    • Utility Shader Headers
      • box-filter
      • lanczos
      • language-helpers
      • noise
      • tracking-instability
    • Utility Shaders
      • basic-vertex-shader
      • copy
      • downsample-2x
      • gaussian-blur
      • tonemap-and-downsample
    • Generator Shaders
      • apply-artifacts
      • gen-phase
      • rgb-to-svideo-or-composite
    • Decoder Shaders
      • composite-to-svideo
      • filter-rgb
      • svideo-to-modulated-chroma
      • svideo-to-rgb
    • CRT Shader Headers
      • distort-coordinates
    • CRT Shaders
      • generate-aperture-grille
      • generate-screen-texture
      • generate-shadow-mask
      • generate-slot-mask
      • rgb-to-crt