RTX Texture Streaming (RTXTS) is an SDK to provide efficient texture streaming solutions while optimizing storage size and memory bandwidth.
RTXTS is distributed in source code along with a sample, a runtime library and an integration guide.
Directory | Details |
---|---|
/docs | Documentation and integration guide |
/libraries | Submodule path for TiledTextureManager |
/src | Sample showcasing usage of RTXTS |
/shaders | Shaders for the sample |
/media | Media files for the sample (automatically downloaded) |
Requirements:
- Windows 11 SDK
- CMake
- Microsoft Visual Studio 2022 or Microsoft Visual Studio Code with a CMake extension
- A DirectX 12 capable GPU with Sampler Feedback support
- This SDK does not currently support Vulkan API due to a lack of sampler feedback support
How to Build:
- This repository uses Git submodules. Ensure the submodules have been populated with
git submodule update --init --recursive
- Use CMake to generate the Visual Studio solution or load the project in VS Code
- During the build configuration CMake will attempt download the required media assets automatically
- Media are acquired from https://github.com/NVIDIA-RTX/RTXGI-Assets
- Build the solution
Run the rtxts-sample
project. The sample will look for scenes in the media
subfolder and by default will try to load /media/Bistro.scene.json
Once the application is running, most of the SDK settings can be accessed via the UI window on the left hand side. The camera can be moved using W/S/A/D keys and rotated by dragging with the left mouse cursor. Press shift while moving to increase speed. Right click on a material in the scene to bring up a visualization of the albedo texture mip chain and its currently allocated state.
The "Memory Savings" stat in the sample represents the amount of memory saved by allocating only the requested tiles, versus all tiles in all loaded textures.
- Currently, only block compressed textures are supported for tiled resources. This is a limitation in the sample code, not of any of the used APIs.
- The G-Buffer rendering pixel shader is annotated with
[earlydepthstencil]
. This is currently required to preserve Early-Z acceleration in the presence ofWriteSamplerFeedback
usage. - The sample is mainly intended to demonstrate RTX Texture Streaming and might not load or render all GLTF scenes correctly.
Please report any issues directly through the GitHub issue tracker, and for any information or suggestions contact us at rtxts-sdk-support@nvidia.com