Microsoft DirectX 8.1 (Visual Basic) |
Defines the various types of surface formats.
Enum CONST_D3DFORMAT D3DFMT_UNKNOWN = 0 D3DFMT_R8G8B8 = 20 (&H14) D3DFMT_A8R8G8B8 = 21 (&H15) D3DFMT_X8R8G8B8 = 22 (&H16) D3DFMT_R5G6B5 = 23 (&H17) D3DFMT_X1R5G5B5 = 24 (&H18) D3DFMT_A1R5G5B5 = 25 (&H19) D3DFMT_A4R4G4B4 = 26 (&H1A) D3DFMT_R3G3B2 = 27 (&H1B) D3DFMT_A8 = 28 (&H1C) D3DFMT_A8R3G3B2 = 29 (&H1D) D3DFMT_X4R4G4B4 = 30 (&H1E) D3DFMT_A8P8 = 40 (&H28) D3DFMT_P8 = 41 (&H29) D3DFMT_L8 = 50 (&H32) D3DFMT_A8L8 = 51 (&H33) D3DFMT_A4L4 = 52 (&H34) D3DFMT_V8U8 = 60 (&H3C) D3DFMT_L6V5U5 = 61 (&H3D) D3DFMT_X8L8V8U8 = 62 (&H3E) D3DFMT_Q8W8V8U8 = 63 (&H3F) D3DFMT_V16U16 = 64 (&H40) D3DFMT_W11V11U10 = 65 (&H41) D3DFMT_UYVY = 1498831189 (&H59565955) D3DFMT_YUY2 = 844715353 (&H32595559) D3DFMT_DXT1 = 827611204 (&H31545844) D3DFMT_DXT2 = 844388420 (&H32545844) D3DFMT_DXT3 = 861165636 (&H33545844) D3DFMT_DXT4 = 877942852 (&H34545844) D3DFMT_DXT5 = 894720068 (&H35545844) D3DFMT_D16_LOCKABLE = 70 (&H46) D3DFMT_D32 = 71 (&H47) D3DFMT_D15S1 = 73 (&H49) D3DFMT_D24S8 = 75 (&H4B) D3DFMT_D16 = 80 (&H50) D3DFMT_D24X8 = 77 (&H4D) D3DFMT_D24X4S4 = 79 (&H4F) D3DFMT_VERTEXDATA = 100 (&H64) D3DFMT_INDEX16 = 101 (&H65) D3DFMT_INDEX32 = 102 (&H66) End Enum
Note that render target formats are restricted to D3DFMT_X1R5G5B5, D3DFMT_R5G6B5, D3DFMT_X8R8G8B8, and D3DFMT_A8R8G8B8.
The order of the bits is from the most significant bit (MSB) first, so D3DFMT_A8L8 indicates that the high byte of this two-byte format is alpha.
All depth-stencil formats except D3DFMT_D16_LOCKABLE indicate no particular bit ordering per pixel. They are not application-lockable, and the driver is allowed to consume more than the indicated number of bits per depth channel (but not stencil channel).
Pixel formats are denoted by opaque Long identifiers. The format of these Longs has been chosen to enable the expression of IHV-defined extension formats, and also to include the well-established FOURCC method. The set of formats understood by the Microsoft® Direct3D® run time is defined by D3DFORMAT.
Note that IHV-supplied formats and many FOURCC codes are not listed in the D3DFORMAT enumeration. The formats in this enumeration are unique in that they are sanctioned by the run time, meaning that the reference rasterizer will operate on all these types. The IHV-supplied formats will be supported by the individual IHVs on a card-by-card basis.