Init
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7e14dfe45f55a2c4ebfeaa996053da8a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,14 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public class PXR_SecureMRByteTensorData : PXR_SecureMRTensorData
|
||||
{
|
||||
public byte[] data;
|
||||
|
||||
public override byte[] ToByteArray()
|
||||
{
|
||||
return data;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b4efb5baf0eb4852ba302b21419172a2
|
||||
timeCreated: 1742250481
|
||||
@@ -0,0 +1,25 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public class PXR_SecureMRFileTensorData : PXR_SecureMRTensorData
|
||||
{
|
||||
public TextAsset fileAsset;
|
||||
|
||||
public override byte[] ToByteArray()
|
||||
{
|
||||
if (fileAsset != null)
|
||||
{
|
||||
return fileAsset.bytes;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 57d3aabc698e3d14193ef3b3b3514a0d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,19 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public class PXR_SecureMRFloatTensorData : PXR_SecureMRTensorData
|
||||
{
|
||||
public float[] data;
|
||||
|
||||
public override float[] ToFloatArray()
|
||||
{
|
||||
return data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 833a9c77186f6d44f910747e2046c202
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,19 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public class PXR_SecureMRIntTensorData : PXR_SecureMRTensorData
|
||||
{
|
||||
public int[] data;
|
||||
|
||||
public override int[] ToIntArray()
|
||||
{
|
||||
return data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 63fcdcd56ea9c1342879c35bcdcc5125
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,32 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public abstract class PXR_SecureMRTensorData : MonoBehaviour
|
||||
{
|
||||
public virtual byte[] ToByteArray()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public virtual float[] ToFloatArray()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public virtual int[] ToIntArray()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public virtual ushort[] ToUShortArray()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 44bf4283f84ec944499e0dab7994ddf9
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,75 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Unity.XR.PXR.SecureMR;
|
||||
using UnityEngine;
|
||||
public class PXR_SecureMRTextureTensorData : PXR_SecureMRTensorData
|
||||
{
|
||||
//The texture that will be converted to color and float array
|
||||
//Note: you have to mark the texture as Read/Write in the Inspector
|
||||
[SerializeField]
|
||||
private Texture2D texture;
|
||||
|
||||
private Color32[] _colorData;
|
||||
private float[] _rgbaFloatData;
|
||||
private int[] _rgbaIntData;
|
||||
private byte[] _rgbaByteData;
|
||||
|
||||
public Texture2D Texture
|
||||
{
|
||||
get { return texture; }
|
||||
set
|
||||
{
|
||||
texture = value;
|
||||
UpdateArrayData();
|
||||
}
|
||||
}
|
||||
public override float[] ToFloatArray()
|
||||
{
|
||||
return _rgbaFloatData;
|
||||
}
|
||||
|
||||
public override byte[] ToByteArray()
|
||||
{
|
||||
return _rgbaByteData;
|
||||
}
|
||||
|
||||
public override int[] ToIntArray()
|
||||
{
|
||||
return _rgbaIntData;
|
||||
}
|
||||
|
||||
private void UpdateArrayData()
|
||||
{
|
||||
if (texture == null)
|
||||
{
|
||||
_colorData = null;
|
||||
_rgbaFloatData = null;
|
||||
_rgbaByteData = null;
|
||||
_rgbaIntData = null;
|
||||
return;
|
||||
}
|
||||
|
||||
// Get raw color data from texture
|
||||
_colorData = texture.GetPixels32();
|
||||
_rgbaIntData = texture.GetPixelData<int>(0).ToArray();
|
||||
|
||||
// Convert to RGBA float array
|
||||
_rgbaFloatData = new float[_colorData.Length * 4];
|
||||
_rgbaByteData = new byte[_colorData.Length * 4];
|
||||
for (int i = 0; i < _colorData.Length; i++)
|
||||
{
|
||||
_rgbaFloatData[i * 4] = _colorData[i].r / 255f; // R
|
||||
_rgbaFloatData[i * 4 + 1] = _colorData[i].g / 255f; // G
|
||||
_rgbaFloatData[i * 4 + 2] = _colorData[i].b / 255f; // B
|
||||
_rgbaFloatData[i * 4 + 3] = _colorData[i].a / 255f; // A
|
||||
_rgbaByteData[i * 4] = _colorData[i].r; // R
|
||||
_rgbaByteData[i * 4 + 1] = _colorData[i].g; // G
|
||||
_rgbaByteData[i * 4 + 2] = _colorData[i].b; // B
|
||||
_rgbaByteData[i * 4 + 3] = _colorData[i].a; // A
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 36f03292700cd294c9f91534a11624a8
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,14 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public class PXR_SecureMRUShortTensorData : PXR_SecureMRTensorData
|
||||
{
|
||||
public ushort[] data;
|
||||
|
||||
public override ushort[] ToUShortArray()
|
||||
{
|
||||
return data;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a0d99d67fc7b4174854334e5094f0824
|
||||
timeCreated: 1742251258
|
||||
@@ -0,0 +1,130 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public class PXR_SecureMRGlobalTensor : PXR_SecureMRTensor
|
||||
{
|
||||
public PXR_SecureMRTensorData tensorData;
|
||||
|
||||
public void Initialize(Provider secureMrProvider)
|
||||
{
|
||||
if (metadata !=null && metadata is PXR_SecureMRGltfMetadata && tensorData != null && tensorData.ToByteArray() != null)
|
||||
{
|
||||
tensor = secureMrProvider.CreateTensor<Gltf>(tensorData.ToByteArray());
|
||||
}
|
||||
else if (metadata != null && metadata is PXR_SecureMRTensorMetadata tensorMetadata)
|
||||
{
|
||||
switch(tensorMetadata.usage)
|
||||
{
|
||||
case SecureMRTensorUsage.Matrix:
|
||||
CreateMatrixTensor(secureMrProvider, tensorMetadata);
|
||||
break;
|
||||
case SecureMRTensorUsage.Point:
|
||||
CreatePointTensor(secureMrProvider, tensorMetadata);
|
||||
break;
|
||||
case SecureMRTensorUsage.Color:
|
||||
CreateColorTensor(secureMrProvider, tensorMetadata);
|
||||
break;
|
||||
case SecureMRTensorUsage.TimeStamp:
|
||||
CreateTimestampTensor(secureMrProvider, tensorMetadata);
|
||||
break;
|
||||
case SecureMRTensorUsage.Slice:
|
||||
if(tensorMetadata.dataType == SecureMRTensorDataType.Int)
|
||||
{
|
||||
tensor = secureMrProvider.CreateTensor<int,Slice>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape), tensorData.ToIntArray());
|
||||
}
|
||||
break;
|
||||
case SecureMRTensorUsage.Scalar:
|
||||
CreateScalarTensor(secureMrProvider, tensorMetadata);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void CreateScalarTensor(Provider secureMrProvider, PXR_SecureMRTensorMetadata tensorMetadata)
|
||||
{
|
||||
switch(tensorMetadata.dataType)
|
||||
{
|
||||
case SecureMRTensorDataType.Float:
|
||||
tensor = secureMrProvider.CreateTensor<float,Scalar>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape), tensorData.ToFloatArray());
|
||||
break;
|
||||
case SecureMRTensorDataType.Int:
|
||||
tensor = secureMrProvider.CreateTensor<int,Scalar>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape), tensorData.ToIntArray());
|
||||
break;
|
||||
case SecureMRTensorDataType.Short:
|
||||
case SecureMRTensorDataType.Ushort:
|
||||
tensor = secureMrProvider.CreateTensor<ushort,Scalar>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape), tensorData.ToUShortArray());
|
||||
break; case SecureMRTensorDataType.Byte:
|
||||
case SecureMRTensorDataType.Sbyte:
|
||||
tensor = secureMrProvider.CreateTensor<byte,Scalar>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape), tensorData.ToByteArray());
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void CreateTimestampTensor(Provider secureMrProvider, PXR_SecureMRTensorMetadata tensorMetadata)
|
||||
{
|
||||
if(tensorMetadata.dataType == SecureMRTensorDataType.Int)
|
||||
{
|
||||
tensor = secureMrProvider.CreateTensor<int,TimeStamp>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape), tensorData.ToIntArray());
|
||||
}
|
||||
}
|
||||
|
||||
private void CreateColorTensor(Provider secureMrProvider, PXR_SecureMRTensorMetadata tensorMetadata)
|
||||
{
|
||||
switch(tensorMetadata.dataType)
|
||||
{
|
||||
case SecureMRTensorDataType.Float:
|
||||
tensor = secureMrProvider.CreateTensor<float,Color>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape), tensorData.ToFloatArray());
|
||||
break;
|
||||
case SecureMRTensorDataType.Int:
|
||||
tensor = secureMrProvider.CreateTensor<int,Color>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape), tensorData.ToIntArray());
|
||||
break;
|
||||
case SecureMRTensorDataType.Short:
|
||||
case SecureMRTensorDataType.Ushort:
|
||||
tensor = secureMrProvider.CreateTensor<ushort,Color>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape), tensorData.ToUShortArray());
|
||||
break;
|
||||
case SecureMRTensorDataType.Byte:
|
||||
tensor = secureMrProvider.CreateTensor<byte, Color>(tensorMetadata.channel,
|
||||
new TensorShape(tensorMetadata.shape), tensorData.ToByteArray());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void CreatePointTensor(Provider secureMrProvider, PXR_SecureMRTensorMetadata tensorMetadata)
|
||||
{
|
||||
if(tensorMetadata.dataType == SecureMRTensorDataType.Float)
|
||||
{
|
||||
tensor = secureMrProvider.CreateTensor<float,Point>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape), tensorData.ToFloatArray());
|
||||
}
|
||||
}
|
||||
|
||||
void CreateMatrixTensor(Provider secureMrProvider, PXR_SecureMRTensorMetadata tensorMetadata)
|
||||
{
|
||||
switch(tensorMetadata.dataType)
|
||||
{
|
||||
case SecureMRTensorDataType.Float:
|
||||
tensor = secureMrProvider.CreateTensor<float,Matrix>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape), tensorData.ToFloatArray());
|
||||
break;
|
||||
case SecureMRTensorDataType.Int:
|
||||
tensor = secureMrProvider.CreateTensor<int,Matrix>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape), tensorData.ToIntArray());
|
||||
break;
|
||||
case SecureMRTensorDataType.Short:
|
||||
case SecureMRTensorDataType.Ushort:
|
||||
tensor = secureMrProvider.CreateTensor<ushort,Matrix>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape), tensorData.ToUShortArray());
|
||||
break;
|
||||
case SecureMRTensorDataType.Byte:
|
||||
case SecureMRTensorDataType.Sbyte:
|
||||
tensor = secureMrProvider.CreateTensor<byte,Matrix>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape), tensorData.ToByteArray());
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 83d6795c88ea2634c85e930b17943585
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,13 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public class PXR_SecureMRGltfMetadata : PXR_SecureMRMetadata
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d8aa832d17484724ca18756039d17a17
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,49 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public class PXR_SecureMRLocalTensor : PXR_SecureMRPipelineTensor
|
||||
{
|
||||
public PXR_SecureMRTensorData tensorData;
|
||||
|
||||
protected override void Initialize(Pipeline smrPipeline)
|
||||
{
|
||||
base.Initialize(smrPipeline);
|
||||
|
||||
if (tensor == null || tensorData == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (metadata !=null && metadata is PXR_SecureMRGltfMetadata )
|
||||
{
|
||||
tensor.Reset(tensorData.ToByteArray());
|
||||
}
|
||||
else if (metadata != null && metadata is PXR_SecureMRTensorMetadata tensorMetadata )
|
||||
{
|
||||
switch(tensorMetadata.dataType)
|
||||
{
|
||||
case SecureMRTensorDataType.Float:
|
||||
tensor.Reset(tensorData.ToFloatArray());
|
||||
break;
|
||||
case SecureMRTensorDataType.Int:
|
||||
tensor.Reset(tensorData.ToIntArray());
|
||||
break;
|
||||
case SecureMRTensorDataType.Short:
|
||||
case SecureMRTensorDataType.Ushort:
|
||||
tensor.Reset(tensorData.ToUShortArray());
|
||||
break;
|
||||
case SecureMRTensorDataType.Byte:
|
||||
case SecureMRTensorDataType.Sbyte:
|
||||
tensor.Reset(tensorData.ToByteArray());
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: be24d60da1183fd488b2ac4f0a765421
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,14 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public class PXR_SecureMRLocalTensorReference : PXR_SecureMRPipelineTensor
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: faaee5e41e3799a409b5d25cfcf0e682
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,14 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public abstract class PXR_SecureMRMetadata : MonoBehaviour
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 91707c9ca62e23c4eb223a4cf55cd42c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,128 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
using UnityEditor;
|
||||
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public abstract class PXR_SecureMRPipelineTensor : PXR_SecureMRTensor
|
||||
{
|
||||
public void Initialize(PXR_SecureMRPipeline pxrSecureMrPipeline)
|
||||
{
|
||||
Pipeline smrPipeline = pxrSecureMrPipeline.pipeline;
|
||||
Initialize(smrPipeline);
|
||||
|
||||
}
|
||||
|
||||
protected virtual void Initialize(Pipeline smrPipeline)
|
||||
{
|
||||
if (metadata !=null && metadata is PXR_SecureMRGltfMetadata)
|
||||
{
|
||||
tensor = smrPipeline.CreateTensor<Gltf>(null);
|
||||
}
|
||||
else if (metadata != null && metadata is PXR_SecureMRTensorMetadata tensorMetadata)
|
||||
{
|
||||
switch(tensorMetadata.usage)
|
||||
{
|
||||
case SecureMRTensorUsage.Matrix:
|
||||
CreateMatrixTensor(smrPipeline,tensorMetadata);
|
||||
break;
|
||||
case SecureMRTensorUsage.Point:
|
||||
CreatePointTensor(smrPipeline,tensorMetadata);
|
||||
break;
|
||||
case SecureMRTensorUsage.Color:
|
||||
CreateColorTensor(smrPipeline, tensorMetadata);
|
||||
break;
|
||||
case SecureMRTensorUsage.TimeStamp:
|
||||
CreateTimestampTensor(smrPipeline, tensorMetadata);
|
||||
break;
|
||||
case SecureMRTensorUsage.Slice:
|
||||
if(tensorMetadata.dataType == SecureMRTensorDataType.Int)
|
||||
{
|
||||
tensor = smrPipeline.CreateTensor<int,Slice>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape));
|
||||
}
|
||||
break;
|
||||
case SecureMRTensorUsage.Scalar:
|
||||
CreateScalarTensor(smrPipeline, tensorMetadata);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void CreateScalarTensor(Pipeline smrPipeline, PXR_SecureMRTensorMetadata tensorMetadata)
|
||||
{
|
||||
switch(tensorMetadata.dataType)
|
||||
{
|
||||
case SecureMRTensorDataType.Float:
|
||||
tensor = smrPipeline.CreateTensor<float,Scalar>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape));
|
||||
break;
|
||||
case SecureMRTensorDataType.Int:
|
||||
case SecureMRTensorDataType.Short:
|
||||
case SecureMRTensorDataType.Ushort:
|
||||
tensor = smrPipeline.CreateTensor<int,Scalar>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape));
|
||||
break;
|
||||
case SecureMRTensorDataType.Byte:
|
||||
case SecureMRTensorDataType.Sbyte:
|
||||
tensor = smrPipeline.CreateTensor<byte,Scalar>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape));
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void CreateTimestampTensor(Pipeline smrPipeline, PXR_SecureMRTensorMetadata tensorMetadata)
|
||||
{
|
||||
if(tensorMetadata.dataType == SecureMRTensorDataType.Int)
|
||||
{
|
||||
tensor = smrPipeline.CreateTensor<int,TimeStamp>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape));
|
||||
}
|
||||
}
|
||||
|
||||
private void CreateColorTensor(Pipeline smrPipeline, PXR_SecureMRTensorMetadata tensorMetadata)
|
||||
{
|
||||
switch(tensorMetadata.dataType)
|
||||
{
|
||||
case SecureMRTensorDataType.Float:
|
||||
tensor = smrPipeline.CreateTensor<float,Color>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape));
|
||||
break;
|
||||
case SecureMRTensorDataType.Short:
|
||||
case SecureMRTensorDataType.Ushort:
|
||||
case SecureMRTensorDataType.Int:
|
||||
tensor = smrPipeline.CreateTensor<int,Color>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape));
|
||||
break;
|
||||
case SecureMRTensorDataType.Byte:
|
||||
tensor = smrPipeline.CreateTensor<byte, Color>(tensorMetadata.channel,
|
||||
new TensorShape(tensorMetadata.shape));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void CreatePointTensor(Pipeline smrPipeline, PXR_SecureMRTensorMetadata tensorMetadata)
|
||||
{
|
||||
if(tensorMetadata.dataType == SecureMRTensorDataType.Float)
|
||||
{
|
||||
tensor = smrPipeline.CreateTensor<float,Point>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape));
|
||||
}
|
||||
}
|
||||
|
||||
void CreateMatrixTensor(Pipeline smrPipeline, PXR_SecureMRTensorMetadata tensorMetadata)
|
||||
{
|
||||
switch(tensorMetadata.dataType)
|
||||
{
|
||||
case SecureMRTensorDataType.Float:
|
||||
tensor = smrPipeline.CreateTensor<float,Matrix>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape));
|
||||
break;
|
||||
case SecureMRTensorDataType.Int:
|
||||
case SecureMRTensorDataType.Short:
|
||||
case SecureMRTensorDataType.Ushort:
|
||||
tensor = smrPipeline.CreateTensor<int,Matrix>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape));
|
||||
break;
|
||||
case SecureMRTensorDataType.Byte:
|
||||
case SecureMRTensorDataType.Sbyte:
|
||||
tensor = smrPipeline.CreateTensor<byte,Matrix>(tensorMetadata.channel, new TensorShape(tensorMetadata.shape));
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f19678aa08d847ac924c1a54c75725e5
|
||||
timeCreated: 1741222282
|
||||
@@ -0,0 +1,14 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public abstract class PXR_SecureMRTensor : MonoBehaviour
|
||||
{
|
||||
internal Tensor tensor;
|
||||
public PXR_SecureMRMetadata metadata;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 72628110969172a4fbf8a56411d53dd0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,26 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public class PXR_SecureMRTensorMapping : MonoBehaviour
|
||||
{
|
||||
public PXR_SecureMRLocalTensorReference localTensorReference;
|
||||
public PXR_SecureMRGlobalTensor globalTensor;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 960aef176675a2b4ea75b571a5bd5071
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,18 @@
|
||||
#if !PICO_OPENXR_SDK
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Unity.XR.PXR.SecureMR
|
||||
{
|
||||
public class PXR_SecureMRTensorMetadata : PXR_SecureMRMetadata
|
||||
{
|
||||
public int[] shape;
|
||||
public int channel;
|
||||
public SecureMRTensorDataType dataType = SecureMRTensorDataType.Float;
|
||||
public SecureMRTensorUsage usage = SecureMRTensorUsage.Matrix;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 61736555113e6a2499f829bcf9fae1ff
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user