

Method instructs the GPU to use the provided shading rate image during the render target synthesis process. The ID3D12GraphicsCommandList5::RSSetShadingRateImage The next step is to feed the resulting shading texture to the DirectX® API. At the end of this process, each pixel is given one of the possible shading rate values: 1×1, 1×2, 2×1, or 2×2. The results of both tests are unified into one value. The shading rate is determined independently for pixels neighboring horizontally and vertically. The resulting texture is called “shading rate image.” Each pixel of that texture is a value that informs the GPU what shading rate it should apply to the corresponding tile. Structure in the ShadingRateImageTileSize field. Information about that is provided by DirectX® through the D3D12_FEATURE_DATA_D3D12_OPTIONS6 The size of those tiles depends on the GPU vendor. The results of the VRS calculations are stored in a resized render target that reflects the number of tiles the input data was divided into. The algorithm divides the image into small tiles and classifies which tiles of the image contain pixels that are similar enough to be rendered at a lower sampling rate without any visible negative impact on the image quality. The base information source image is the last rendered frame. Passing the resulting classification mask to the VRS DX12® API to render the new image frame.Applying image tile classification feedback from additional sources (e.g.Classification of image tiles based on pixel luminance variance.Dividing an information source image into tiles.The algorithm can be divided into a few basic steps: The algorithmįidelityFX VS is a compute shader that analyzes an information source image in real-time, classifying which areas of the image can be rendered at a lower sampling rate. The library is open source and can be downloaded here. , which is a part of the DirectX® 12 Ultimate feature set.

To use the AMD FidelityFX Variable Shading library, a GPU must support D3D12_VARIABLE_SHADING_RATE_TIER_2 AMD FidelityFX Variable Shading provides an open source header implementation to easily integrate Variable Rate Shading into your game. For this assumption to work, it is crucial to ensure that the end-user will not see the difference between the original and the post-processed image. Variable Rate Shading aims to take advantage of this phenomenon by working under the assumption that it is not always necessary to compute every single pixel of a frame to get a decent result. The human visual system is great at picking out high fidelity detail, which means you can try and optimise areas that don’t have as much. As display resolution goes up, the cost of rendering each frame of a game does too, so looking for novel ways to increase performance without significantly reducing image quality become key. 4K displays are common, just like a variety of widescreen or multi-monitor setups. Modern gaming tends to push the screen resolution higher and higher. Build up your base, collect samples and research new inventions to survive.Variable Rate Shading is an exciting new technique that allows the developer to utilize GPU cycles much more efficiently with the goal of reducing GPU work where it doesn’t contribute to the final frame. You are an elite scientist/commando inside an advanced Mecha-Suit capable of dimensional rift travel. The Riftbreaker™ is a base-building, survival game with Action-RPG elements.
