XII Release 0.1.0
Loading...
Searching...
No Matches
xiiRemoteEngineProcessViewContext Class Reference

Copyright (c) Theophilus Eriata. All Rights Reserved. More...

#include <RemoteViewContext.h>

Inheritance diagram for xiiRemoteEngineProcessViewContext:
[legend]

Public Member Functions

 xiiRemoteEngineProcessViewContext (xiiEngineProcessDocumentContext *pContext)
 Creates a view context for a remote process. This creates a window and view that can be used to render the editor viewport in a remote process.
 ~xiiRemoteEngineProcessViewContext ()
 Destroys the view context and the associated window and view.
void Redraw (bool bRenderEditorGizmos) override
Public Member Functions inherited from xiiEngineProcessViewContext
 xiiEngineProcessViewContext (xiiEngineProcessDocumentContext *pContext)
 Copyright (c) Theophilus Eriata. All Rights Reserved.
void SetViewID (xiiUInt32 uiId)
xiiEngineProcessDocumentContext * GetDocumentContext () const
virtual void SetupRenderTarget (xiiSharedPtr< xiiGALSwapChain > pSwapChain, xiiGALTextureView *pRenderTargetView, xiiUInt16 uiWidth, xiiUInt16 uiHeight)
virtual void SuspendRendering ()
 Consumes this frame's redraw request without discarding camera or pipeline state.
xiiRegisteredWindowHandle GetWindowHandle () const
xiiViewHandle GetViewHandle () const
void SetRenderPipelineProfile (const xiiPlatformProfile *profile)
void SetRenderPipelineResourceReference (xiiStringView resource)

Protected Member Functions

virtual void HandleViewMessage (const xiiEditorEngineViewMsg *pMsg) override
 Handles view messages from the editor process. This is used to update the camera and render target of the view based on the messages received from the editor process.
virtual xiiViewHandle CreateView () override
 Sets up the render target for the view. This is called when the view is created and whenever the render target needs to be updated, e.g. when the window is resized.
Protected Member Functions inherited from xiiEngineProcessViewContext
xiiView * GetView () const
xiiResult ResolveRenderPipeline (xiiRenderPipelineUsage::Enum usage, xiiRenderPipelineResourceHandle &out_pipeline)
void UpdateRenderPipeline (xiiView &view)
xiiResult DrawGrid (float fSpacing, const xiiTransform &transform=xiiTransform::MakeIdentity(), bool bGlobal=true)
 Submits reusable grid geometry to this view's regular debug-render passes.
xiiResult PickGizmoAtPixel (xiiUInt32 x, xiiUInt32 y, xiiViewPickingResultMsgToEditor &out_result) const
void SendViewMessage (xiiEditorEngineViewMsg *pViewMsg)
void HandleWindowUpdate (xiiWindowHandle hWnd, xiiUInt16 uiWidth, xiiUInt16 uiHeight)
void OnSwapChainChanged (xiiSharedPtr< xiiGALSwapChain > pSwapChain, xiiSizeU32 size)
virtual void SetCamera (const xiiViewRedrawMsgToEngine *pMsg)

Static Protected Attributes

static xiiUInt32 s_uiActiveViewID = 0U
 Copyright (c) Theophilus Eriata. All Rights Reserved.
static xiiRemoteEngineProcessViewContext * s_pActiveRemoteViewContext = nullptr

Additional Inherited Members

Static Public Member Functions inherited from xiiEngineProcessViewContext
static bool FocusCameraOnObject (xiiCamera &inout_camera, const xiiBoundingBoxSphere &objectBounds, float fFov, const xiiVec3 &vViewDir)
 Focuses camera on the given object.
Protected Attributes inherited from xiiEngineProcessViewContext
xiiCamera m_Camera
xiiViewHandle m_hView
xiiUInt32 m_uiViewID
xiiRegisteredWindowHandle m_hEditorWindow

Detailed Description

Copyright (c) Theophilus Eriata. All Rights Reserved.

A view context used for rendering views in a remote process. It creates a window and view that can be used to render the editor viewport in a remote process.

Member Function Documentation

◆ CreateView()

xiiViewHandle xiiRemoteEngineProcessViewContext::CreateView ( )
overrideprotectedvirtual

Sets up the render target for the view. This is called when the view is created and whenever the render target needs to be updated, e.g. when the window is resized.

Implements xiiEngineProcessViewContext.

◆ HandleViewMessage()

void xiiRemoteEngineProcessViewContext::HandleViewMessage ( const xiiEditorEngineViewMsg * pMsg)
overrideprotectedvirtual

Handles view messages from the editor process. This is used to update the camera and render target of the view based on the messages received from the editor process.

Reimplemented from xiiEngineProcessViewContext.

◆ Redraw()

void xiiRemoteEngineProcessViewContext::Redraw ( bool bRenderEditorGizmos)
overridevirtual

Reimplemented from xiiEngineProcessViewContext.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Editor/EditorEngineProcessFramework/EngineProcess/RemoteViewContext.h
  • /home/runner/work/XII/XII/Source/Editor/EditorEngineProcessFramework/EngineProcess/Implementation/RemoteViewContext.cpp