31 lines
1.1 KiB
C++
31 lines
1.1 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Math/MathFwd.h"
|
|
|
|
/**
|
|
* Interface class that allows for setting the transform data for a Head Mounted Display (HMD).
|
|
* The transform and projection matrix for each eye can be individually set.
|
|
*/
|
|
class PIXELSTREAMING2HMD_API IPixelStreaming2HMD
|
|
{
|
|
public:
|
|
/**
|
|
* @brief Set the transform for the HMD.
|
|
* @param Transform The transform for the HMD to set.
|
|
*/
|
|
virtual void SetTransform(FTransform Transform) = 0;
|
|
|
|
/**
|
|
* @brief Set the eye views, including the eye positions and their respective projection matrices
|
|
* @param Left The transform of the left eye relative to the HMD transform.
|
|
* @param LeftProj The Projection matrix of the left eye.
|
|
* @param Right The transform of the right eye relative to the HMD transform.
|
|
* @param RightProj The Projection matrix of the right eye.
|
|
* @param HMD The transform for the HMD to set.
|
|
*/
|
|
virtual void SetEyeViews(FTransform Left, FMatrix LeftProj, FTransform Right, FMatrix RightProj, FTransform HMD) = 0;
|
|
};
|