DENOISER III NOT ENOUGH RAM CODE
Please read this OptiX 7.1.0 chapter and look carefully at the diagrams and code listing there: In that case the denoiser invocation is on a smaller size than that input size.
DENOISER III NOT ENOUGH RAM FULL
The row stride will take care to access the proper input pixels of the full image. You can then do tiled denoising on that full input image by setting up the proper OptixImage2D for the tiles with overlap by calculating the start address and size as required. If you normally setup your denoising on full images you simply give the full input image size to the setup, you don’t have more data after all. Otherwise you allocate not enough memory. That’s why the docs say output sizes in optixDenoiserComputeMemoryResources need to be the same or bigger than input sizes in optixDenoiserSetup. That actually sounds confusing, but the optixDenoiserComputeMemoryResources is used to calculate the required memory, which needs to be the same size or bigger than the input image in optixDenoiserSetup. That’s one of the things changed between OptiX 7.0.0 and 7.1.0. I don’t see these quotes inside the OptiX 7.1.0 online documentation.ĮDIT: Found it inside the API reference. The overlap only applies to the inner edges.
![denoiser iii not enough ram denoiser iii not enough ram](https://i.ytimg.com/vi/ER_tpJf5mwk/mqdefault.jpg)
Tiles at the borders of the full image do not have overlap outside the full image. Means if you have 32x32 tiles, you need at least two rows of these tiles around your center tile to fulfill the required 64 pixels overlap around it. The overlap size in pixels is the overlap between two adjacent tiles at each edge. I would not recommend to do this at all, see below.Īt the comments for optixDenoiserComputeMemoryResources. That isn’t going to work, because you wouldn’t have enough data for the second and second to last row or column of your full image. Means in you case, for the inner tiles it would be 64 + 32 + 64 and for the tiles at the edges it’s 32 + 64. It’s the single overlap to adjacent data, means a 64 pixel wide border around the center tile.
![denoiser iii not enough ram denoiser iii not enough ram](https://developer.nvidia.com/sites/default/files/akamai/designworks/optix/Denoiser/UnityOptixDenoise.png)
![denoiser iii not enough ram denoiser iii not enough ram](https://cdn.shopify.com/s/files/1/0550/8654/7130/products/3610006_1000x.jpg)
Is it correct to pass tile width/height (without overlapping) to optixDenoiserComputeMemoryResources?.Are the results from tiled and non-tiled denoiser match?.
![denoiser iii not enough ram denoiser iii not enough ram](https://www.bhphotovideo.com/images/images2000x2000/red_giant_mbt_denoiser_a_magic_bullet_denoiser_ii_academic_1169039.jpg)
But I’m not confident that my implementation is correct.