Skip to content

v0.9.1

Choose a tag to compare

@MarkLeone MarkLeone released this 05 Feb 23:37
· 94 commits to master since this release
  • The DemandLoader API has changed to simplify the handling of multiple GPUs and the management of the corresponding CUDA contexts.
  1. Previously a single DemandLoader instance managed multipe GPUs, and several methods took a deviceIndex parameter specifying which GPU should be operated on.
  2. Now the client application should create a CUDA context and call createDemandLoader() for each GPU.
  3. When calling DemandLoader methods, the client application must ensure that the current CUDA context matches the context that was active when that DemandLoader was created.
  • The demand texturing library now supports cascading texture sizes. This feature can be turned on by setting the useCascadingTextureSizes field in the demand loading Options struct. When enabled, cascading texture sizes instantiates hardware sparse textures at a small initial size, and then expands them as needed to fill tile requests. Creating sparse textures in this way has the benefits that:
  1. It increases the virtual texture that can be defined in the demand texturing system, from 4 TB to over 100 TB in some scenes.
  2. It reduces startup time for scenes with many tetxures since small sparse textures take less time to instantiate than large ones.
  3. The error message was improved when loading a texture sampler fails during request processing.
  • A Tile structure was introduced to clearly distinguish tile coordinates vs. pixel coordinates.

  • A MipMapImageSource adapater was added that adapts a single level image source into a mipmapped image source, using point sampling to generate smaller mip levels.

  • A TiledImageSource adapater was added that adapts a non-tiled image source into a tiled image source by fetching mip levels into a memory buffer and serving tiles from there.

  • The MockOptix google mock class was expanded to cover the entire OptiX API.

  • PNG and JPEG image source tests were enabled when OpenImageIO is available.

  • The Demand Geometry library received some bug fixes related to updating internal data structures.

  • The Demand Material library was extracted from the Demand Geometry Viewer sample.