NVIDIA works tirelessly on helping to develop advancements in industry-standard APIs and game engines in order to drive graphics innovation in games, empowering game developers to add next-generation graphics features such as ray tracing, NVIDIA DLSS, mesh shaders and variable rate shading into their projects as quickly as possible.
NVIDIA released a new suite of tools today, including:
- NVIDIA RTXGI SDK
The RTX Global Illumination (RTXGI) SDK is now available. With the RTXGI SDK, game developers and artists can leverage the power of ray tracing to achieve multi-bounce global illumination without bake times, light leaks, or prohibitive run-time performance requirements.
RTXGI is supported on any DXR-enabled GPU, and is an ideal starting point to bring the benefits of ray tracing to your games and applications.
If you’re a developer, you’ll benefit from a fully managed data structure that supports any material and lighting model. The SDK provides optimized memory layouts and compute shaders, support for multiple coordinate systems, and hooks for engine and gameplay events to prioritize lighting updates.
If you’re an artist, you’ll be able to speed up your workflow significantly, thanks to real-time lighting updates in-game and in-editor. No UV parameterization or probe blockers are needed, and early access features provide automatic probe placement and dynamic performance optimization.
Key Highlights of the RTXGI SDK v1.0 release include:
- Full Source Code. We are providing full source code so you can easily integrate RTXGI into your tools and customize it to your specific needs.
- No Baking, No Leaks. Dramatically speed up your iteration time with real-time ray traced lighting. No more waiting for bakes. No more obsessing over light probe positioning either; no light or shadow leaking.
- Any DXR GPU. RTXGI runs on a broad range of hardware. All DXR-enabled GPUs are supported, including GeForce RTX 20 Series, GTX 1660 Series, and GTX 10 series.
- Tuned & Optimized. Easy to integrate and fast to provide results, right out of the box. Performance optimized to fit in 60Hz frame budge
- NVIDIA Texture Tools Exporter
Today, we’re releasing the free NVIDIA Texture Tools Exporter, the new version of our DDS texture compression tool, available both as a standalone application and as a plugin for Adobe Photoshop.
This all-new release adds support for modern, CUDA-accelerated Texture Tools 3.0 compression (including ASTC, BC7, and BC6s), support for more than 130 DXGI and ASTC formats, linear-space, slope-space, and premultiplied alpha mipmapping, command-line and Photoshop automation, and a unified user interface.
Using GPU-accelerated block compression, you can reduce the size of your textures – whether it’s to make a game download faster, or to ship a title on a fewer number of disks, or to be able to fit more materials and objects into memory in a ray tracer.
But on top of that, GPUs can render from these textures while storing them compressed – meaning a ray tracer could use this to fit more textures and materials into memory, or a game engine could use this to render larger worlds than otherwise. It’s even possible to load block-compressed textures faster than many other formats, as their data can be copied almost directly into GPU memory and then used from there.
If you’re generating mipmaps at runtime, you can save time by using the NVIDIA Texture Tools Exporter to generate mipmaps instead.
Mipmapping also now uses mathematically correct filtering – so color images are processed using linear-space, premultiplied alpha colors, while normal maps use slope-space filtering to correctly filter height map features. Three different downsampling filters – box, tent, and Kaiser-windowed sinc – are also supported.
Fully Automatable
Artists can open and save DDS files directly from Adobe Photoshop using the NVIDIA Texture Tools Exporter plug-in. This plug-in also supports Photoshop Actions – so you can record an action to convert an image to a normal map and compress it using BC7, for instance, and then bind that to a hotkey.
The standalone version also has a command-line and batch scripting interface in addition to a GUI. If you have a sequence of commands, such as:
nvtt_export.exe input1.png --format bc7 --output output1.dds nvtt_export.exe input2.png --format bc7 --output output2.dds nvtt_export.exe input3.png --format bc7 --output output3.dds
Then you can turn this into a single batch file by removing nvtt_export.exe from each line:
# This is a simple batch file, named batch.nvdds input1.png --format bc7 --output output1.dds input2.png --format bc7 --output output2.dds input3.png --format bc7 --output output3.dds
And then run it using:
nvtt_export.exe --batch batch.nvdds.
This will also be faster than launching nvtt_export.exe for each file, since the exporter only needs to be opened and closed once.
Transparency, Cube Maps, Normal Maps, and More
The new NVIDIA Texture Tools Exporter supports textures with transparency (BC7, ASTC), HDR images and cube maps in unfolded and linear formats (BC6s), normal maps (BC7, BC5, BC3n), and much more.
For more information and to download the free NVIDIA Texture Tools Exporter, go to https://developer.nvidia.com/nvidia-texture-tools-exporter!
Vulkan Game Developers Get New Tools
NVIDIA embraces industry-standard APIs, and Vulkan is no exception. Today, NVIDIA added Vulkan support to two of its most popular game development tools.
- Nsight Aftermath
Vulkan developers dealing with GPU Crashes now have a great new tool; Nsight Graphics 2020.2 extends Nsight Aftermath support to Vulkan! You can now generate GPU crash dump files from your Vulkan application and get detailed feedback on the GPU state at the time the exception occurred. You can load the dump file into Nsight Graphics to visualize this information and look at the state of markers you placed in your code to pinpoint the problem, as well as view the source code of shaders contributing to the issue.
You can get the latest Nsight Aftermath SDK here: https://developer.nvidia.com/nsight-aftermath
- Nsight Graphic
Nsight Graphics 2020.2 is now available for download. We’ve added a number of features that dramatically expand the functionality of our tools when it comes to Vulkan, as well as making some great improvements to developer workflows for Microsoft Visual Studio users.
By popular demand, GPU Trace can now profile Vulkan based applications! When profiling applications using Vulkan, it’s possible to get primary and secondary command buffer timings, as well as barriers, synchronization objects and user markers correlated to the GPU unit utilization and throughput metrics.
We’ve added a new ‘Advanced Mode’ to allow for advanced metrics collection. In this mode, GPU Trace will capture metrics over multiple frames, focusing on different metric sets for each frame. With ‘Advanced Mode’, you’ll have access to many more critical counters to aid in profiling.
Make sure your application has minimal changes over the course of the frames used to collate the metrics data to avoid divergence. To ensure those frames are executing as similar a workload as possible, we recommend pausing your simulation (or any updates that may alter the final image over those frames). To learn more about Advanced Mode, please read the docs.
While we’ve already had support for most of the new Vulkan 1.2 extensions, the addition of 3 new extensions means that we are now fully compatible with Vulkan 1.2 for captures, frame debugging and frame profiling. Specifically, we’ve added support for these 3 extensions:
- VK_KHR_buffer_device_address
- VK_KHR_separate_depth_stencil_layouts
- VK_KHR_timeline_semaphore
We’ve also added support for 2 additional OpenGL extensions:
- ARB_compute_variable_group_size
- NV_representative_fragment_test
Nsight Graphics now provides quick and easy access to powerful graphics debugging and profiling from Microsoft Visual Studio via a new integration plugin. Utilizing the debug settings you have already set up in Visual Studio, this integration is a simple gateway to setup and launch your activity in Nsight Graphics. Just select the NSIGHT menu, the version of Nsight Graphics you want to use, and the Nsight Graphics action of interest. Note that in Visual Studio 2019 the NSIGHT entry appears by default in the Extensions menu and may be customized to be placed in the file menu with the ‘Extensions Menu’ customization offered by Visual Studio 2019 16.4 or later.
You can find out how to install this extension here: https://developer.nvidia.com/nsight-tools-visual-studio-integration
For more details on Nsight Graphics 2020.2, check out the release notes.
Don’t forget to check out our new release of NVIDIA Nsight Systems 2020.2.