在空间现实显示屏上显示图像

本页面解释如何在空间现实显示屏上获取显示的图像。有关如何使用捕获图像的示例,请参阅 Second Window sample

前提条件

如何获取合成图像

SRDisplayPlugin中定义的 OnSRDRenderTextureCompletedDelegate 多播委托绑定一个函数后,您可以每帧获取在空间现实显示屏上渲染的合成图像。

  1. 准备要绑定到 OnSRDRenderTextureCompletedDelegate 的函数。定义一个以 FRHICommandListImmediate& 作为第一个参数,以 FTextureRHIRef 作为第二个参数的函数。

Note

如果您使用的是Unreal Engine 4.27,请使用 FTexture2DRHIRef 作为第二个参数。

 

void RenderingSRDisplay2DWindow(FRHICommandListImmediate& RHICmdList, FTextureRHIRef SrcTexture);

  1. 从 FSRDisplaySystem 获取 OnSRDRenderTextureCompletedDelegate 并将上一步中定义的函数绑定到它。有关如何将函数绑定到委托的更多信息,请参阅 Multicast Delegate。在此示例中,我们使用 AddRaw()

srdisplay_module::FSRDisplaySystem* SRDisplaySystem = USRDisplayFunctionLibrary::GetSRDisplaySystem(); FOnSRDRenderTextureCompletedDelegate& OnSRDRenderTextureCompletedDelegate = SRDisplaySystem->GetSRDRenderTextureCompletedDelegate(); OnSRDRenderTextureCompletedDelegate.AddRaw(FSample2DWindow::GetPlayWindow(), &FSample2DWindow::RenderingSRDisplay2DWindow);

  1. 当图像在空间现实显示屏上渲染时,绑定到 OnSRDRenderTextureCompletedDelegate 的函数将被调用。函数的第二个参数包含正在渲染的合成图像的纹理。

Developer Contact・
Commercial Use