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... | |
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.
|
pure virtual |
Compute operations run asynchronous to a frame, which is uniquely defined by an id.
|
pure virtual |
GPU-device id if the destination buffer is located on a GPU-device.
|
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.
|
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.
|
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.