The Image Viewer can be opened by double clicking on any of texture thumbnails, render target thumbnails, depth buffer or swapchain images in any of the client layouts.
The Image Viewer is a modal window that provides a number of controls for displaying and analyzing images locally on the client. If the image being viewed is also present on the HUD, then any changes made in this viewer will also be mirrored on the HUD version of the image.
- The image is displayed in this window. There are two supported display zoom modes. Use the 'F' key to toggle between them
- In "Fit to Window" mode, the image is scaled to fit the available space, preserving the aspect ratio
- In the regular mode, the image is initially displayed at native resolution and may be zoomed and panned.
- Click & Drag will move the image around in the window.
- Zoom is controlled via the mousewheel or the '+' & '-' keys
- Right click on the image to bring up a context menu to show / hide the visualization controls.
These allow you to modify the way the image looks on the client and also on the HUD. Controls will be disabled if not supported on the current image type
- The R, G, B, A buttons toggle display of the Red, Green, Blue and Alpha channels in the image.
- Y (gamma) - Gamma Correct applies gamma correction to the texture for better client-side visualization.
- Fit to Window toggles between scaling the image to fit the window and showing the image at its native resolution.
- PiP (picture-in_picture) controls the display of a smaller image in the bottom right hand corner that shows the position of the zoomed in area.
- MipMap Selection contains the mipmap levels available to that texture (if applicable). Selecting a mipmap level will change which level is being displayed.
- The option 'AutoMipMap' allows the server to select which mipmap level is best for the viewing the texture at a given size. If textures displayed on the HUD are smaller than native size, they may use a smaller mip map level than the image displayed in the client. Select a specific level to make the HUD and client consistent.
- Index controls which image is displayed from a texture array.
- Min and Max can be used to visualize a specific range of values within the texture.
- Data View - displays the color values as a grid of numerical values.
- Y flip - inverts the image in the Y axis.
- Description will open a panel that displays the data about the shader resource view. The tooltip on the Description button will also briefly show the same information.
The following image shows the description panel displayed alongside the image.
The following image shows the image being displayed with data view. The mipmap controls continue to work in this mode and we can clearly see the cross shape of the cubemap.
Moving the mouse over an image in the Image Viewer will display the color value in the status bar at the bottom of GPU PerfStudio. Please note that color picking for compressed formats (BC1 - BC7) is not currently supported.
Below is an image showing a color value in the status bar.
DXGI formats supporting accurate color picking:
- DXGI_FORMAT_R32G32B32A32_FLOAT
- DXGI_FORMAT_R32G32B32A32_UINT
- DXGI_FORMAT_R32G32B32A32_SINT
- DXGI_FORMAT_R32G32B32_FLOAT
- DXGI_FORMAT_R32G32B32_UINT
- DXGI_FORMAT_R32G32B32_SINT
- DXGI_FORMAT_R16G16B16A16_FLOAT
- DXGI_FORMAT_R16G16B16A16_UNORM
- DXGI_FORMAT_R16G16B16A16_UINT
- DXGI_FORMAT_R16G16B16A16_SNORM
- DXGI_FORMAT_R16G16B16A16_SINT
- DXGI_FORMAT_R32G32_FLOAT
- DXGI_FORMAT_R32G32_UINT
- DXGI_FORMAT_R32G32_SINT
- DXGI_FORMAT_R32G8X24_TYPELESS
- DXGI_FORMAT_D32_FLOAT_S8X24_UINT
- DXGI_FORMAT_R8G8B8A8_UNORM
- DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
- DXGI_FORMAT_R8G8B8A8_UINT
- DXGI_FORMAT_R8G8B8A8_SNORM
- DXGI_FORMAT_R8G8B8A8_SINT
- DXGI_FORMAT_R16G16_FLOAT
- DXGI_FORMAT_R16G16_UNORM
- DXGI_FORMAT_R16G16_UINT
- DXGI_FORMAT_R16G16_SNORM
- DXGI_FORMAT_R16G16_SINT
- DXGI_FORMAT_D32_FLOAT
- DXGI_FORMAT_R32_FLOAT
- DXGI_FORMAT_R32_UINT
- DXGI_FORMAT_R32_SINT
- DXGI_FORMAT_D24_UNORM_S8_UINT
- DXGI_FORMAT_R24_UNORM_X8_TYPELESS
- DXGI_FORMAT_R8G8_UNORM
- DXGI_FORMAT_R8G8_UINT
- DXGI_FORMAT_R8G8_SNORM
- DXGI_FORMAT_R8G8_SINT
- DXGI_FORMAT_R16_FLOAT
- DXGI_FORMAT_D16_UNORM
- DXGI_FORMAT_R16_UNORM
- DXGI_FORMAT_R16_UINT
- DXGI_FORMAT_R16_SNORM
- DXGI_FORMAT_R16_SINT
- DXGI_FORMAT_R8_UNORM
- DXGI_FORMAT_R8_UINT
- DXGI_FORMAT_R8_SNORM
- DXGI_FORMAT_R8_SINT
- DXGI_FORMAT_A8_UNORM
- DXGI_FORMAT_R8G8_B8G8_UNORM
- DXGI_FORMAT_G8R8_G8B8_UNORM
- DXGI_FORMAT_B8G8R8A8_UNORM
- DXGI_FORMAT_B8G8R8X8_UNORM
- DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
- DXGI_FORMAT_B8G8R8X8_UNORM_SRGB
OpenGL formats supporting accurate color picking:
- Sent as Format: GL_LUMINANCE Type: GL_UNSIGNED_BYTE
- GL_INTENSITY:
- GL_INTENSITY4:
- GL_INTENSITY8:
- GL_INTENSITY12:
- GL_INTENSITY16:
- Sent as Format: GL_LUMINANCE Type: GL_UNSIGNED_BYTE
- GL_LUMINANCE:
- GL_LUMINANCE4:
- GL_LUMINANCE8:
- GL_LUMINANCE12:
- GL_LUMINANCE16:
- Sent as Format: GL_LUMINANCE_ALPHA Type: GL_UNSIGNED_BYTE
- GL_LUMINANCE_ALPHA:
- GL_LUMINANCE4_ALPHA4:
- GL_LUMINANCE6_ALPHA2:
- GL_LUMINANCE8_ALPHA8:
- GL_LUMINANCE12_ALPHA4:
- GL_LUMINANCE12_ALPHA12:
- GL_LUMINANCE16_ALPHA16:
- Sent as Format: GL_DEPTH_COMPONENT Type: GL_FLOAT
- GL_DEPTH_COMPONENT:
- GL_DEPTH_COMPONENT16:
- GL_DEPTH_COMPONENT32:
- Sent as Format: GL_DEPTH_STENCIL Type: GL_UNSIGNED_INT_24_8
- GL_DEPTH_STENCIL:
- GL_DEPTH_COMPONENT24:
- GL_DEPTH24_STENCIL8:
- Sent as Format: GL_STENCIL_INDEX Type: GL_UNSIGNED_BYTE
- GL_STENCIL_INDEX:
- GL_STENCIL_INDEX1:
- GL_STENCIL_INDEX4:
- GL_STENCIL_INDEX8:
- GL_STENCIL_INDEX16:
- Sent as Format: GL_RGBA Type: GL_UNSIGNED_BYTE
- Sent as Format: GL_RGBA Type: GL_UNSIGNED_BYTE
- GL_ALPHA:
- GL_ALPHA4:
- GL_ALPHA8:
- GL_ALPHA12:
- GL_ALPHA16:
- GL_RGB:
- GL_R3_G3_B2:
- GL_RGB9_E5:
- GL_UNSIGNED_INT_5_9_9_9_REV:
- GL_RGB4:
- GL_RGB5:
- GL_RGB10:
- GL_RGB12:
- GL_RGB16:
- GL_RGBA:
- GL_RGBA2:
- GL_RGBA4:
- GL_RGB5_A1:
- GL_RGB10_A2:
- GL_RGBA12:
- GL_RGBA16:
- GL_RGBA32UI:
- GL_RGB32UI:
- GL_RGBA16UI:
- GL_RGB16UI:
- GL_RGBA8UI:
- GL_RGB8UI:
- GL_RGBA32I:
- GL_RGB32I:
- GL_RGBA16I:
- GL_RGB16I:
- GL_RGBA8I:
- GL_RGB8I:
- GL_RGB2_EXT:
- GL_RG:
- GL_RG_INTEGER:
- Sent as Format: GL_R8 Type: GL_UNSIGNED_BYTE
- GL_R8:
- GL_R16:
- GL_R8I:
- GL_R8UI:
- GL_R16I:
- GL_R16UI:
- GL_R32I:
- GL_R32UI:
- Sent as Format: GL_RG Type: GL_UNSIGNED_BYTE
- GL_COMPRESSED_RED_RGTC1:
- GL_COMPRESSED_RG_RGTC2:
- Sent as Format: GL_RG Type: GL_BYTE
- GL_COMPRESSED_SIGNED_RED_RGTC1
- GL_COMPRESSED_SIGNED_RG_RGTC2
- Sent as Format: GL_RGBA Type: GL_UNSIGNED_BYTE
- GL_RG8
- GL_RG16
- GL_RG8I
- GL_RG8UI
- GL_RG16I
- GL_RG16UI
- GL_RG32I
- GL_RG32UI
- Sent as Format: GL_RGBA Type: GL_FLOAT
- GL_UNSIGNED_INT_10F_11F_11F_REV
- GL_R11F_G11F_B10F
- GL_R16F
- GL_RGBA32F
- GL_RGB32F
- GL_RGBA16F
- GL_RGB16F
- GL_R32F
- GL_RG16F
- GL_RG32F
- GL_COMPRESSED_TEXTURE_FORMATS_ARB
- GL_COMPRESSED_RGB_S3TC_DXT1_EXT
- GL_COMPRESSED_RGBA_S3TC_DXT1_EXT
- GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
- GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
- GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
The following keyboard commands are supported while the mouse cursor is over the image
- 'R' - toggle Red Visualization control
- 'G' - toggle Green Visualization control
- 'B' - toggle Blue Visualization control
- 'A' - toggle Alpha Visualization control
- 'C' - toggle Gamma Correction control
- 'F' - toggle "Fit to Window" option
- '+' - Scale image up by a factor of 2. Maximum scale is x64. Disabled when "Fit to Window" is enabled.
- '-' - Scale image down by a factor of 2. Minimum scale is x1 (i.e. each screen pixel corresponds to a single image pixel). Disabled when "Fit to Window" is enabled.
- '0' - When viewing a Cubemap, display the entire cubemap
- '1' - When viewing a Cubemap, display only face #1
- '2' - When viewing a Cubemap, display only face #2
- '3' - When viewing a Cubemap, display only face #3
- '4' - When viewing a Cubemap, display only face #4
- '5' - When viewing a Cubemap, display only face #5
- '6' - When viewing a Cubemap, display only face #6
- An image can be saved by making sure that the Image Viewer has focus then select the "File->Save As" option from the main file pull down menu.
- Images will be saved in PNG format.