Can someone help me understand the concept of the DXGI_FORMAT enumeration?

I am trying to make my first direct x game but I am having some difficulty trying to understand some of the concepts. The concept that is really getting to me is the DXGI_FORMAT structure. I am not sure what is going on in this particular structure.

One of the members of the structure is DXGI_FORMAT_R8G8B8A8_UNORM and the explanation of this member is as follows...

"A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits per channel including alpha."

I am not sure how to start understanding this. I know what a 32-bit unsigned integer is, but the keywords: four-component, normalized, channel and alpha are difficult for me to grasp the concept.

Can anyone help me by giving a simple explanation of this member?




Here is the page that contains the structure itself

https://msdn.microsoft.com/en-us/library/windows/desktop/bb173059%28v=vs.85%29.aspx

"Four-component" means that each pixel has four components, "component" referring to the mathematical meaning in linear algebra: the orthogonal projection of a vector onto an axis.
A "normalized integer" is an integer that's used to store a floating point value. In the case of 8-bit unsigned integer, 0 <=> 0.0 and 255 <=> 1.0.
A channel is a component of a color. In an additive color space, a color is represented by a triplet of reals in the interval [0;1], representing intensities of some ideal primary colors. A full color is formed by adding combining these three colors at the intensities given by the triplet. Following the particular configuration of the human eye, these colors are usually red, green, and blue. Images in additive color spaces will most usually one (brightness), three (RGB), or four (RGBA) channels.
Alpha (the A in RGBA) is the transparency channel. A pixel with alpha=0 is invisible; a pixel with alpha=1 is completely opaque; and a pixel with alpha=0.5 has equal parts of its own color and of the color of whatever pixel is "behind" it.
Last edited on
Topic archived. No new replies allowed.