Skip to content
SiteEmail

UCohCompositor

Inherits from UActorComponent, ICompositorInterfaceUnreal

Name
UCohCompositor()
virtual voidInitializeComponent() override
virtual voidOnComponentDestroyed(bool bDestroyingHierarchy) override
virtual voidSetViewSize(int32_t Width, int32_t Height) override
Helper method for Compositors that care about size.
virtual voidOnDrawSubLayer(const renoir::ISubLayerCompositor::DrawData & DrawData) override
Called on a Worker Thread (task created by the View Layout) Since we cannot create/update textures there, we just save them for processing on the Game Thread.
virtual voidOnCompositionAdded(unsigned ViewId, const char * CompositionId, void * Metadata) override
Called on the Game Thread whenever a new composition is found in HTML Should initialize the relevant materials that the texture will be drawn into.
virtual voidOnCompositionVisibility(unsigned , const char * , void * , bool ) override
Called on the Game Thread whenever the visibility of the composition has changed.
virtual voidOnCompositionRemoved(unsigned ViewId, const char * CompositionId, void * Metadata) override
Called on the Game Thread whenever a new composition is removed from HTML Should destroy the relevant materials that the texture will be drawn into.
virtual voidProcessDrawData(const FRenoirDrawData & DrawData, uint32 ViewFrameId) override
Called on the Game Thread, used to create/update textures based on the draw data received for them Should be overridden by child classes depending on where/how they want to draw the textures.
virtual boolHasCompositions() override
Helper method to save on computation when there are no compositions.
virtual boolIsValidObject() override
Helper method to catch some invalid creation/destruction edge cases.

Public Functions inherited from ICompositorInterfaceUnreal

Name
virtual voidPrepareForAdvance(uint32 ViewFrameId)
Called on the Game Thread after a View gets advanced.
virtual voidProcessFrame_RT(uint32_t ViewFrameId)
Called on the Render Thread at the end of the frame after a View paint.
virtual voidOnCompositionTransform(unsigned , const char * , void * , const renoir::float4x4 & )
Called on the Game Thread whenever the transform of the composition has changed.
voidAdvanceCompositor(uint32 ViewFrameId)
Must be called after ensuring that View Layout tasks are completed.
virtual voidPrepareAllMeshMaterial(uint32_t ViewFrameId)
virtual voidProcessRenderData(const FRenderData & RenderData)
virtual voidCreateCompositions(uint32 ViewFrameId)
Executed during AdvanceCompositor after we have waited for cohtml::View::Advance and Layout.
virtual boolShouldSkipFrame()
Helper method to combine multiple conditions to determine if the current Compositor frame should be skipped.
virtual FCriticalSection &GetCriticalSectionFrames()
virtual const TMap< FString, FRenoirDrawData > &GetRenoirDrawDataMap() const

Protected Functions inherited from ICompositorInterfaceUnreal

Name
voidUpdateRenderData(const FRenoirDrawData & DrawData, UTextureRenderTarget2D * Texture, IRenderingBackend * InterfaceBackend, uint32 ViewFrameId)

Protected Attributes inherited from ICompositorInterfaceUnreal

Name
FCriticalSectionCriticalSectionFrames
uint32CurrentCompositorFrameId
TSet< uint32 >Frames
TMap< uint32, TArray< FRenderData > >RenderDataInfosMap
TMap< FString, FRenoirDrawData >RenoirDrawDataMap
boolbNewCompositionsReceived
UCohCompositor()
virtual void InitializeComponent() override
virtual void OnComponentDestroyed(
bool bDestroyingHierarchy
) override
virtual void SetViewSize(
int32_t Width,
int32_t Height
) override

Helper method for Compositors that care about size.

Reimplements: ICompositorInterfaceUnreal::SetViewSize

virtual void OnDrawSubLayer(
const renoir::ISubLayerCompositor::DrawData & DrawData
) override

Called on a Worker Thread (task created by the View Layout) Since we cannot create/update textures there, we just save them for processing on the Game Thread.

Reimplements: ICompositorInterfaceUnreal::OnDrawSubLayer

virtual void OnCompositionAdded(
unsigned ViewId,
const char * CompositionId,
void * Metadata
) override

Called on the Game Thread whenever a new composition is found in HTML Should initialize the relevant materials that the texture will be drawn into.

Reimplements: ICompositorInterfaceUnreal::OnCompositionAdded

virtual void OnCompositionVisibility(
unsigned ,
const char * ,
void * ,
bool
) override

Called on the Game Thread whenever the visibility of the composition has changed.

Reimplements: ICompositorInterfaceUnreal::OnCompositionVisibility

virtual void OnCompositionRemoved(
unsigned ViewId,
const char * CompositionId,
void * Metadata
) override

Called on the Game Thread whenever a new composition is removed from HTML Should destroy the relevant materials that the texture will be drawn into.

Reimplements: ICompositorInterfaceUnreal::OnCompositionRemoved

virtual void ProcessDrawData(
const FRenoirDrawData & DrawData,
uint32 ViewFrameId
) override

Called on the Game Thread, used to create/update textures based on the draw data received for them Should be overridden by child classes depending on where/how they want to draw the textures.

Reimplements: ICompositorInterfaceUnreal::ProcessDrawData

inline virtual bool HasCompositions() override

Helper method to save on computation when there are no compositions.

Reimplements: ICompositorInterfaceUnreal::HasCompositions

inline virtual bool IsValidObject() override

Helper method to catch some invalid creation/destruction edge cases.

Reimplements: ICompositorInterfaceUnreal::IsValidObject