GraphicsBindingSimD3d11 Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Graphics API binding for local simulation.
public ref class GraphicsBindingSimD3d11 : Microsoft::Azure::RemoteRendering::GraphicsBinding
public class GraphicsBindingSimD3d11 : Microsoft.Azure.RemoteRendering.GraphicsBinding
type GraphicsBindingSimD3d11 = class
inherit GraphicsBinding
Public Class GraphicsBindingSimD3d11
Inherits GraphicsBinding
- Inheritance
Remarks
This graphics binding is used to render a monoscopic remote image on a normal desktop application. With no sensors to provide head movement available, this binding requires the user to provide a current camera update each frame. The basic setup works as follow:
1. Remote and local content is rendered onto an off-screen color / depth render target called 'proxy' using the proxy camera provided by the Update function. The proxy needs to be created matching the resolution of the back-buffer. Before any rendering takes place, InitSimulation() needs to be called with the proxy texture handles, as well as a D3D device to fully initialize the simulation.
2. Each frame, before any rendering takes place, Update is called with the current camera transform and the returned proxy transform is applied to the proxy camera.
3. At the start of rendering into the proxy, BlitRemoteFrameToProxy() needs to be called, this fills the remote color and depth information into the proxy render targets. Any local content can now be rendered onto the proxy using the proxy camera.
4. Once the back-buffer is bound, only ReprojectProxy() needs to be called and no other rendering should take place.
5. Repeat with step 2 until session ends.
6. Call DeinitSimulation() after the remote session has ended.
Properties
Api |
The derived graphics binding that this instance can be cast to. (Inherited from GraphicsBinding) |
Methods
BlitRemoteFrameToProxy() |
Blits the current remote frame to the currently bound render target. |
DeinitSimulation() |
Deinitializes the simulation. Needs to be called after a remote rendering session has ended. |
GetLastFrameStatistics(FrameStatistics) |
Retrieves the last frame's statistics. (Inherited from GraphicsBinding) |
GetPoseMode() |
Gets the current pose mode. (Inherited from GraphicsBinding) |
GetRemoteFocusPoint(Float3, Float3, Float3) |
Retrieves the remote focus point. |
InitSimulation(IntPtr, Int32, Int32, Single, Boolean, Boolean, Boolean) |
Initializes the simulation. Needs to be called before a remote rendering session is started. This is an alternative initialization call, where no proxy targets are configured. Therefore, local pose mode will be forced and ReprojectProxy() will essentially become a no-op. The caller is expected to bind the final render target before calling BlitRemoteFrameToProxy(). |
InitSimulation(IntPtr, IntPtr, IntPtr, Single, Boolean, Boolean, Boolean) |
Initializes the simulation. Needs to be called before a remote rendering session is started. |
ReprojectProxy() |
Reprojects the proxy color texture onto the back-buffer. |
SetPoseMode(PoseMode) |
Set the pose mode. (Inherited from GraphicsBinding) |
Update(SimulationUpdateParameters, SimulationUpdateResult) |
Needs to be called every frame. |