C++ Reference

Part of Cathode Retro is a collection of C++ headers to aid in using the shaders.

This section contains reference information about all of the various types and functions in this C++ Code.

For information on how to use these types, see the section Getting Started: C++ Helpers

All types below are in the CathodeRetro namespace.

Classes

CathodeRetro
The main class that handles the whole Cathode Retro pipeline.
Internal::RGBToCRT
Internal class that handles the CRT emulation step.
Internal::SignalDecoder
Internal class that handles the decoding of composite or S-Video scanlines.
Internal::SignalGenerator
Internal class that handles converting an input image into a set of composite or S-Video scanlines.

Constants

Internal::k_signalSamplesPerColorCycle = 4
This constant represents how many samples of signal there are per color cycle - effectively determining what the sample rate of the virtual signal is relative to the NTSC color carrier frequency.

Enumerations

MaskType
The type of CRT mask to use for the screen emulation.
SamplerType
The type of texture sampling and addressing to use for a given sampler.
ScanlineType
The scanline type (even or odd) for the current frame.
ShaderID
The ID of a shader that the CathodeRetro class is requesting from the IGraphicsDevice.
SignalType
The type of input signal that the Cathode Retro system is emulating.
TextureFormat
The format of a texture for use as an input or as a render target.

Interfaces

IConstantBuffer
The representation of a constant buffer/uniform buffer - basically, a data buffer to be handed to a shader.
IGraphicsDevice
The main interface that Cathode Retro uses to interact with the graphics device.
IRenderTarget
The representation of a render target/frame buffer object, used as the output for a render pass.
ITexture
The representation of a texture created by the graphics device.

Structures

ArtifactSettings
A description of how noisy/distorted the generated signal is, as if a bad cable or RF transmission were in use.
Color
A simple four-float-component RGBA color.
OverscanSettings
A description of how much overscan the screen has (that is, how much of the sides of the input image to cut off).
Preset<T>
A helper structure that pairs a given settings type with an associated display name.
RenderTargetView
A graphics helper that associates an IRenderTarget and an optional mipmap level index.
ScreenSettings
A description of the properties of the virtual CRT TV that is displaying the image.
ShaderResourceView
A graphics helper that associates an ITexture with a SamplerType and optional mipmap level index.
SourceSettings
A description of the properties of the hypothetical source "machine" that is generating the simulated composite or S-Video signal.
TVKnobSettings
Settings that mimic the knobs that would have been on a CRT TV.
Vec2
A simple two-float-component 2D vector.
Internal::SignalLevels
An internal description the various level values of a generated or analyzed composite/S-Video signal.
Internal::SignalProperties
An internal description of the properties of a generated composite/S-Video signal.