Revision Difference
Enums/IMAGE_FORMAT#566109
<enum>
<realm>Client</realm>
<description>Enumerations used by <page>Global.GetRenderTargetEx</page>. Clientside only.⤶
<note>Some additional image formats are accepted by GetRenderTargetEx, but don't currently have enums in Lua and aren't listed here. See [VTF Enumerations.](https://developer.valvesoftware.com/wiki/Valve_Texture_Format#VTF_enumerations)</note></description>⤶
<description>⤶
Enumerations used by <page>Global.GetRenderTargetEx</page> to determine the byte format of each pixel in the <page text="Render Target">render_rendertargets</page>.⤶
</description>⤶
<items>
<item key="IMAGE_FORMAT_DEFAULT" value="-1"></item>⤶
⤶
<item key="IMAGE_FORMAT_RGBA8888" value="0">Red, Green, Blue, Alpha, 8 bit per pixel.</item>
⤶
<item key="IMAGE_FORMAT_ABGR8888" value="1">Probably legacy format. Alpha, Red, Green, Blue, 8 bit per pixel.</item>⤶
⤶
<item key="IMAGE_FORMAT_RGB888" value="2">Red, Green, Blue, 8 bit per pixel.</item>⤶
⤶
<item key="IMAGE_FORMAT_BGR888" value="3">Legacy format. Blue, Green, Red order, 8 bit per pixel.</item>
⤶
<item key="IMAGE_FORMAT_RGB565" value="4">Red, Green, Blue, 5 bit per pixel for Red and Blue channels, 6 bits for Green. Effectively uses less video memory.</item>⤶
⤶
<item key="IMAGE_FORMAT_ARGB8888" value="11">`IMAGE_FORMAT_RGBA8888` with different byte order. Legacy format.</item>⤶
⤶
<item key="IMAGE_FORMAT_BGRA8888" value="12">`IMAGE_FORMAT_RGBA8888` with different byte order. Legacy format.</item>
⤶
<item key="IMAGE_FORMAT_RGBA16161616" value="25">RGBA, but 16 bits per pixel. Was meant to be used for "Integer mode" for HDR. Probably legacy format.</item>⤶
⤶
<item key="IMAGE_FORMAT_RGBA16161616F" value="24">RGBA, but floating point 16 bits per pixel. Is used for "Float mode" HDR.</item>⤶
<item key="IMAGE_FORMAT_DEFAULT" value="-1">⤶
</item>
<item key="IMAGE_FORMAT_RGBA8888" value="0">⤶
Red, Green, Blue, Alpha, 8 bit per pixel.⤶
</item>
<item key="IMAGE_FORMAT_ABGR8888" value="1">⤶
Probably legacy format. Alpha, Red, Green, Blue, 8 bit per pixel.⤶
</item>
<item key="IMAGE_FORMAT_RGB888" value="2">⤶
Red, Green, Blue, 8 bit per pixel.⤶
</item>⤶
<item key="IMAGE_FORMAT_BGR888" value="3">⤶
Legacy format. Blue, Green, Red order, 8 bit per pixel.⤶
</item>⤶
<item key="IMAGE_FORMAT_RGB565" value="4">⤶
Red, Green, Blue, 5 bit per pixel for Red and Blue channels, 6 bits for Green. Effectively uses less video memory.⤶
</item>⤶
<item key="IMAGE_FORMAT_ARGB8888" value="11">⤶
`IMAGE_FORMAT_RGBA8888` with different byte order. Legacy format.⤶
</item>⤶
<item key="IMAGE_FORMAT_BGRA8888" value="12">⤶
`IMAGE_FORMAT_RGBA8888` with different byte order. Legacy format.⤶
</item>⤶
<item key="IMAGE_FORMAT_RGBA16161616" value="25">⤶
RGBA, but 16 bits per pixel. Was meant to be used for "Integer mode" for HDR. Probably legacy format.⤶
</item>⤶
<item key="IMAGE_FORMAT_RGBA16161616F" value="24">⤶
RGBA, but floating point 16 bits per pixel. Is used for "Float mode" HDR.⤶
</item>⤶
</items>
⤶
</enum>⤶
⤶
<enum>⤶
<realm>Client</realm>⤶
<description>The following enums do not exist in game and are listed for reference.</description>⤶
<items>⤶
<item key="IMAGE_FORMAT_I8" value="5">Grayscale format (black and white), 8 bits per pixel. Not working on Proton.</item>⤶
⤶
<item key="IMAGE_FORMAT_IA88" value="6">Grayscale format (black and white) with alpha support, 8 bits per pixel/channel. Not working on Proton.</item>⤶
⤶
<item key="IMAGE_FORMAT_A8" value="8">Unknown legacy format. 8 bit alpha? Same as `I8` besides assigned meaning/name to the channel?</item>⤶
⤶
<item key="IMAGE_FORMAT_BGRX8888" value="16">Unknown legacy format. Same as `BGRA8888`, but without defining meaning to the 4th channel?</item>⤶
⤶
<item key="IMAGE_FORMAT_BGR565" value="17">`RGB565`, but reverse color order. Legacy format.</item>⤶
⤶
<item key="IMAGE_FORMAT_BGRX5551" value="18">Unknown legacy format.</item>⤶
⤶
<item key="IMAGE_FORMAT_BGRA4444" value="19">Unknown legacy format.</item>⤶
⤶
<item key="IMAGE_FORMAT_BGRA5551" value="21">Unknown legacy format.</item>⤶
⤶
<item key="IMAGE_FORMAT_R32F" value="27">Single color channel, 32bit float per pixel.</item>⤶
⤶
<item key="IMAGE_FORMAT_RGBA32323232F" value="29">32bit floating point RGBA.</item>⤶
</enum>⤶
⤶
# Additional Values⤶
⤶
In addition to the enum values listed above, there are several additional image formats that can be used to create Render Targets but **do not** have Lua variables defined for them.⤶
⤶
To use these additional enums, use the numerical value directly ⤶
(E.g. use `5` instead of `IMAGE_FORMAT_I8`)⤶
⤶
The values below may not be an completely exhaustive list. ⤶
For more information on these formats, see [VTF Enumerations.](https://developer.valvesoftware.com/wiki/Valve_Texture_Format#VTF_enumerations)⤶
⤶
## General⤶
⤶
The following enum values are from the base Source Engine and do not have Lua variables defined for them simply because they are used less frequently than other formats.⤶
⤶
| Enum Name | Value | Description |⤶
| ---- | ----- | ----------- |⤶
| IMAGE_FORMAT_I8 | 5 | Grayscale format (black and white), 8 bits per pixel. Not working on Proton as of 2026/01/11. |⤶
| IMAGE_FORMAT_IA88 | 6 | Grayscale format (black and white) with alpha support, 8 bits per pixel/channel. Not working on Proton. |⤶
| IMAGE_FORMAT_A8 | 8 | Unknown legacy format. 8 bit alpha? Same as `I8` besides assigned meaning/name to the channel? |⤶
| IMAGE_FORMAT_BGRX8888 | 16 | Unknown legacy format. Same as `BGRA8888`, but without defining meaning to the 4th channel? |⤶
| IMAGE_FORMAT_BGR565 | 17 | `RGB565`, but reverse color order. Legacy format. |⤶
| IMAGE_FORMAT_BGRX5551 | 18 | Unknown legacy format. |⤶
| IMAGE_FORMAT_BGRA4444 | 19 | Unknown legacy format. |⤶
| IMAGE_FORMAT_BGRA5551 | 21 | Unknown legacy format. |⤶
| IMAGE_FORMAT_R32F | 27 | Single color channel, 32bit float per pixel. |⤶
| IMAGE_FORMAT_RGBA32323232F | 29 | 32bit floating point RGBA. |⤶
| IMAGE_FORMAT_DXT1 | 13 | Compressed texture format. See https://en.wikipedia.org/wiki/S3_Texture_Compression. |⤶
| IMAGE_FORMAT_DXT3 | 14 | Compressed texture format. Do not use. See https://en.wikipedia.org/wiki/S3_Texture_Compression. |⤶
| IMAGE_FORMAT_DXT5 | 15 | Compressed texture format. Better quality than DXT1, supports alpha. See https://en.wikipedia.org/wiki/S3_Texture_Compression. |⤶
<item key="IMAGE_FORMAT_DXT1" value="13">Compressed texture format. See https://en.wikipedia.org/wiki/S3_Texture_Compression.</item>⤶
<item key="IMAGE_FORMAT_DXT3" value="14">Compressed texture format. Do not use. See https://en.wikipedia.org/wiki/S3_Texture_Compression.</item>⤶
<item key="IMAGE_FORMAT_DXT5" value="15">Compressed texture format. Better quality than DXT1, supports alpha. See https://en.wikipedia.org/wiki/S3_Texture_Compression.</item>⤶
⤶
</items>⤶
⤶
</enum>⤶
⤶
<enum>⤶
<realm>Client</realm>⤶
<description>The following enums is for `main` and `dev` <page>Global.BRANCH</page> from [Team Fortress 2 engine branch](https://developer.valvesoftware.com/wiki/Team_Fortress_2_engine_branch). It's do not exist in game and are listed for reference.</description>⤶
<items>⤶
<item key="IMAGE_FORMAT_NV_DST16" value="30">Hardware 16 bit Depth texture formats for shadow depth mapping. Used in <page>Global.ProjectedTexture</page>.</item>⤶
⤶
<item key="IMAGE_FORMAT_NV_DST24" value="31">Hardware 24 bit Depth texture formats for shadow depth mapping.</item>⤶
⤶
<item key="IMAGE_FORMAT_NV_INTZ" value="32">Hardware depth format. Allow to read depth as color texture. See [D3D9 GPU Hacks](https://aras-p.info/texts/D3D9GPUHacks.html).</item>⤶
</items>⤶
⤶
</enum>⤶
⤶
<enum>⤶
<realm>Client</realm>⤶
<description>The following enums is for `x86-64` <page>Global.BRANCH</page> and added from [Counter-Strike: Global Offensive engine branch](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_engine_branch). It's do not exist in game and are listed for reference.</description>⤶
<items>⤶
<item key="IMAGE_FORMAT_D16" value="39">Hardware 16 bit Depth texture formats for shadow depth mapping.</item>⤶
⤶
<item key="IMAGE_FORMAT_D16_SHADOW" value="47">Hardware 16 bit Depth texture formats for shadow depth mapping. Used in <page>Global.ProjectedTexture</page>.</item>⤶
⤶
<item key="IMAGE_FORMAT_D24X8_SHADOW" value="48">Hardware Depth-stencil texture formats for shadow depth mapping. 24 bit depth + 8 bit stencil.</item>⤶
⤶
<item key="IMAGE_FORMAT_INTZ" value="67">Hardware depth format. Allow to read depth as color texture. See [D3D9 GPU Hacks](https://aras-p.info/texts/D3D9GPUHacks.html).</item>⤶
</items>⤶
⤶
</enum>⤶
⤶
## Team Fortress 2⤶
⤶
The following enum values are available on the `main` and `dev` <page text="branches">Global.BRANCH</page> and are originally from [Team Fortress 2's engine branch](https://developer.valvesoftware.com/wiki/Team_Fortress_2_engine_branch). ⤶
⤶
| Enum Name | Value | Description |⤶
| ---- | ----- | ----------- |⤶
| IMAGE_FORMAT_NV_DST16 | 30 | Hardware 16 bit Depth texture formats for shadow depth mapping. Used in <page>Global.ProjectedTexture</page>. |⤶
| IMAGE_FORMAT_NV_DST24 | 31 | Hardware 24 bit Depth texture formats for shadow depth mapping. |⤶
| IMAGE_FORMAT_NV_INTZ | 32 | Hardware depth format. Allow to read depth as color texture. See [D3D9 GPU Hacks](https://aras-p.info/texts/D3D9GPUHacks.html). |⤶
⤶
## Counter-Strike: Global Offensive⤶
⤶
The following enum values are available on the `x86-64` <page text="branch">Global.BRANCH</page> and are originally from [Counter-Strike: Global Offensive's engine branch](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_engine_branch)⤶
⤶
| Enum Name | Value | Description |⤶
| ---- | ----- | ----------- |⤶
| IMAGE_FORMAT_D16 | 39 | Hardware 16 bit Depth texture formats for shadow depth mapping. |⤶
| IMAGE_FORMAT_D16_SHADOW | 47 | Hardware 16 bit Depth texture formats for shadow depth mapping. Used in <page>Global.ProjectedTexture</page>. |⤶
| IMAGE_FORMAT_D24X8_SHADOW | 48 | Hardware Depth-stencil texture formats for shadow depth mapping. 24 bit depth + 8 bit stencil. |⤶
| IMAGE_FORMAT_INTZ | 67 | Hardware depth format. Allow to read depth as color texture. See [D3D9 GPU Hacks](https://aras-p.info/texts/D3D9GPUHacks.html). |⤶
Garry's Mod
Rust
Steamworks
Wiki Help