@@ -6,10 +6,40 @@ codes can easily overflow the essential MR logics. Hence,
66to simplify the major logics in our samples, and also to
77ease the usage of SecureMR, we build these utility classes.
88
9+ These SecureMR utility classes are designed for handling tensor
10+ operations, pipeline execution, and rendering commands in a flexiable
11+ manner, using smart pointers to automatically manage the lifecycles,
12+ type casting and templates to ease the intialization and data transferring,
13+ and auxiliary functions to group multiple consecutive
14+ OpenXR API calls.
15+
916## Dependencies
1017
1118The utility classes depend only on PICO's OpenXR library.
1219
20+ ## Architecture
21+
22+ 1 . Adapter (` adapter.hpp ` )
23+ - Provides template-based wrapper classes for handling OpenXR objects,
24+ - Embeds the ` ...CreateInfo ` structures for the wrapped OpenXR objects to minimize the configuration efforts,
25+ - Automatically initializes the wrapped OpenXR objects and destroys them during destruction.
26+ 1 . Framework Session (` session.h ` , ` session.cpp ` )
27+ - Manages the OpenXR session for SecureMR,
28+ - Loads OpenXR SecureMR APIs to member function pointers on demand during the run time,
29+ - Handles session initialization and cleanup.
30+ 1 . Tensor Management (` tensor.h ` , ` tensor.cpp ` )
31+ - Defines tensor attributes such as dimensions, channels, and data types,
32+ - Manages tensor creation and destruction using SecureMR API calls,
33+ - Interacts with the Pipeline to process tensor-based computations.
34+ 1 . Render Commands (` rendercommand.h ` , ` rendercommand.cpp ` )
35+ - Encapsulates OpenXR SecureMR operators for rendering,
36+ - Allows using literal value or C++ variables as operands besides tensors,
37+ - Provides an interface for integrating rendering into SecureMR workflows.
38+ 1 . Pipeline (` pipeline.h ` , ` pipeline.cpp ` )
39+ - Encapsulates data-processing operators in the OpenXR SecureMR extension,
40+ - Supports the invokation of Render Commands,
41+ - Manages the submission of SecureMR pipelines.
42+
1343## Key usage
1444
1545NOTE: the utility classes are encapsulation of the
0 commit comments