Implementing Stochastic Levels of Detail with Microsoft DirectX Raytracing

Originally published at: Implementing Stochastic Levels of Detail with Microsoft DirectX Raytracing | NVIDIA Technical Blog

Level-of-detail (LOD) refers to replacing high-resolution meshes with lower-resolution meshes in the distance, where details may not be significant. This technique can help reduce memory footprint and geometric aliasing. Most importantly, it has long been used to improve rasterization performance in games. But does that apply equally to ray tracing? The render time for rasterization…

I got a crash right away trying to run this sample.

KernelBase.dll!00007ffc276fa799()	Unknown
vcruntime140d.dll!00007ffc1ed07ec7()	Unknown
DxrLod.exe!ThrowIfFailed(HRESULT hr) Line 20	C++

DxrLod.exe!DxrLod::UpdateConstantParamsBuffer() Line 1304 C++
DxrLod.exe!DxrLod::InitShaders() Line 785 C++
DxrLod.exe!DxrLod::PopulateCommandList() Line 800 C++
DxrLod.exe!DxrLod::OnRender() Line 260 C++
DxrLod.exe!Win32Application::WindowProc(HWND__ * hWnd, unsigned int message, unsigned int64 wParam, int64 lParam) Line 137 C++
[External Code]
DxrLod.exe!Win32Application::Run(DXSample * pSample, HINSTANCE
* hInstance, int nCmdShow) Line 70 C++
* hInstance, HINSTANCE__ * __formal, char * __formal, int nCmdShow) Line 19 C++
[External Code]

This turned out to be an application bug. The application worked initially, but then a later driver update introduced an optimization that exposed the bug. The code/executable has been updated.