NVIDIA IndeX API nvidia_logo_transpbg.gif Up
nv::index::IDistributed_compute_destination_buffer Class Referenceabstract

The interface class enables the asynchronous generation of 2D texture buffers and 3D volume data. More...

#include <idistributed_compute_destination_buffer.h>

Inherits mi::base::Interface_declare< 0xfaae5c5, ... >.

Classes

struct  Compute_frame_id
 Unique identifier that corresponds to the frame for which the compute was issued. More...
 

Public Member Functions

virtual mi::math::Bbox_struct< mi::Float32, 3 > get_subregion_bbox () const =0
 The interface method returns the bounding box of the subregion for which the compute technique has been invoked. More...
 
virtual mi::math::Bbox_struct< mi::Uint32, 2 > get_screen_space_area () const =0
 Returns the 2D area that the subregion covers in screen space. More...
 
virtual mi::Sint32 get_gpu_device_id () const =0
 GPU-device id if the destination buffer is located on a GPU-device. More...
 
virtual Compute_frame_id get_compute_frame_id () const =0
 Compute operations run asynchronous to a frame, which is uniquely defined by an id. More...
 
virtual void notify_compute_completion () const =0
 Notity IndeX about the completion of the compute operation performed on an instance of IDistributed_compute_destination_buffer. More...
 

Detailed Description

The interface class enables the asynchronous generation of 2D texture buffers and 3D volume data.

Once the generation of compute-destination buffers has been triggered, for example, by means of the interface class IDistributed_compute_technique, the user-defined technique can populate the buffer contents with the values required for later texture mapping and rendering. Meanwhile, the rendering system may proceed to render datasets that don't require a particular user-defined texturing technique.

In particular, the interface class enables leveraging designated compute clusters for data generation while hiding the common network transfer and latency issues.

If a compute-destination buffer has been filled the buffer can be made available to the calling rendering system.

Member Function Documentation

 get_compute_frame_id()

virtual Compute_frame_id nv::index::IDistributed_compute_destination_buffer::get_compute_frame_id ( ) const
pure virtual

Compute operations run asynchronous to a frame, which is uniquely defined by an id.

Returns
Returns the frame-id the compute task was issued under

 get_gpu_device_id()

virtual mi::Sint32 nv::index::IDistributed_compute_destination_buffer::get_gpu_device_id ( ) const
pure virtual

GPU-device id if the destination buffer is located on a GPU-device.

Returns
GPU-device id, negative values indicate that the data is currently not stored on any device.

 get_screen_space_area()

virtual mi::math::Bbox_struct< mi::Uint32, 2 > nv::index::IDistributed_compute_destination_buffer::get_screen_space_area ( ) const
pure virtual

Returns the 2D area that the subregion covers in screen space.

Based on the given screen-space area a user-defined technique can choose, for instance, the least compute-intensive generation technique.

The rendering system computes and initializes the screen-space coverage.

Returns
The screen-space area that the subregion covers defined in window coordinates.

 get_subregion_bbox()

virtual mi::math::Bbox_struct< mi::Float32, 3 > nv::index::IDistributed_compute_destination_buffer::get_subregion_bbox ( ) const
pure virtual

The interface method returns the bounding box of the subregion for which the compute technique has been invoked.

The rendering system initializes the bounding box that then can be accessed by an user-defined technique to control the texture generation.

Returns
The bounding box of the subregion, which is defined in the global coordinate system.

 notify_compute_completion()

virtual void nv::index::IDistributed_compute_destination_buffer::notify_compute_completion ( ) const
pure virtual

Notity IndeX about the completion of the compute operation performed on an instance of IDistributed_compute_destination_buffer.

This notification will let IndeX perform follow-up operations and schedule the computed data for use or rendering. This notification is sent implicitly on returning from a IDistributed_compute_technique::launch_compute call for all provided destination- buffer instances.


The documentation for this class was generated from the following file: