UCohCompositor
Inherits from UActorComponent, ICompositorInterfaceUnreal
Public Functions
Section titled “Public Functions”| Name | |
|---|---|
| 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. |
| virtual void | OnDrawSubLayer(const renoir::ISubLayerCompositor::DrawData & DrawData) override Should be called on the layout thread. Since we cannot create/update textures there, we just save them for processing on the GameThread. |
| virtual void | OnCompositionAdded(unsigned ViewId, const char * CompositionId, void * Metadata) override Called on GameThread whenever a new composition is found in the HTML. Should initialize the relevant materials that the texture will be drawn into. |
| virtual void | OnCompositionVisibility(unsigned , const char * , void * , bool ) override Called on Game Thread whenever the visibility of the composition has changed. |
| virtual void | OnCompositionRemoved(unsigned ViewId, const char * CompositionId, void * Metadata) override Called on GameThread whenever a new composition is found in the HTML. Should destroy the relevant materials that the texture will be drawn into. |
| virtual void | ProcessDrawData(const FDrawData & DrawData, int32_t IndexToProcess) override Called on the GameThread, 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 bool | HasCompositions() override Helper method to save on computation when there are no compositions. |
| virtual bool | IsValidObject() override Helper method to catch some invalid creation/destruction edge cases. |
Additional inherited members
Section titled “Additional inherited members”Public Classes inherited from ICompositorInterfaceUnreal
| Name | |
|---|---|
| struct | FFrameState |
Public Types inherited from ICompositorInterfaceUnreal
| Name | |
|---|---|
| using uint32_t | FrameId |
Public Functions inherited from ICompositorInterfaceUnreal
| Name | |
|---|---|
| virtual uint32_t | PrepareForAdvance() Should be called once per frame, before the View gets advanced. Will update the current frame. |
| void | SignalFrameComplete(uint32_t FrameId) Should be called when the view’s advance/layout is finished, so we can start processing the composited elements of the page we’ve received during the layout/advance. |
| virtual void | EnqueueRenderingCommands(uint32_t FrameId) Usually called at the end of the frame during paint. |
| virtual void | OnCompositionTransform(unsigned , const char * , void * , const renoir::float4x4 & ) Called on GameThread whenever the transform of the composition has changed. |
| void | AdvanceCompositor() Will block until the view’s advance/layout is finished, then start processing the DrawData(s) collected during (likely done by child classes) |
| virtual void | PrepareAllMeshMaterial(uint32_t FrameId) |
| virtual void | ProcessRenderData(const FRenderData & RenderData) |
| virtual void | CreateCompositions() Executed during AdvanceCompositor after we have waited for cohtml::View::Advance and Layout. |
| virtual void | DiscardCurrentFrameState() Helper method to discard the current compositor frame. |
| virtual bool | ShouldSkipFrame() Helper method to combine multiple conditions to determine if the current compositor frame should be skipped. |
| virtual void | CompleteFrameState(uint32_t CompositorFrame) Should be called when the cohtml::View::Advance and Layout is completed, so that work can be done on the Game Thread. |
| virtual FrameId | GetCurrentCompositorFrameId() |
| virtual FFrameState * | GetCurrentFrameState() |
| virtual FCriticalSection & | GetCriticalSectionFrameStates() |
| virtual const TMap< FString, FDrawData > & | GetDrawDataInfoMap() const |
Protected Functions inherited from ICompositorInterfaceUnreal
| Name | |
|---|---|
| UTexture2D * | CreateTexture(const FDrawData & DrawData, IRenderingBackend * InterfaceBackend, int32_t IndexToProcess) |
Protected Attributes inherited from ICompositorInterfaceUnreal
| Name | |
|---|---|
| FCriticalSection | CriticalSectionFrameStates |
| FrameId | CompositorFrameId |
| TMap< FrameId, FFrameState > | FrameStates |
| TMap< FrameId, TArray< FRenderData > > | RenderDataInfosMap |
| TMap< FString, FDrawData > | DrawDataInfoMap |
Public Functions Documentation
Section titled “Public Functions Documentation”function UCohCompositor
Section titled “function UCohCompositor”UCohCompositor()function InitializeComponent
Section titled “function InitializeComponent”virtual void InitializeComponent() overridefunction OnComponentDestroyed
Section titled “function OnComponentDestroyed”virtual void OnComponentDestroyed( bool bDestroyingHierarchy) overridefunction SetViewSize
Section titled “function SetViewSize”virtual void SetViewSize( int32_t Width, int32_t Height) overrideHelper method for compositors that care about size.
Reimplements: ICompositorInterfaceUnreal::SetViewSize
function OnDrawSubLayer
Section titled “function OnDrawSubLayer”virtual void OnDrawSubLayer( const renoir::ISubLayerCompositor::DrawData & DrawData) overrideShould be called on the layout thread. Since we cannot create/update textures there, we just save them for processing on the GameThread.
Reimplements: ICompositorInterfaceUnreal::OnDrawSubLayer
function OnCompositionAdded
Section titled “function OnCompositionAdded”virtual void OnCompositionAdded( unsigned ViewId, const char * CompositionId, void * Metadata) overrideCalled on GameThread whenever a new composition is found in the HTML. Should initialize the relevant materials that the texture will be drawn into.
Reimplements: ICompositorInterfaceUnreal::OnCompositionAdded
function OnCompositionVisibility
Section titled “function OnCompositionVisibility”virtual void OnCompositionVisibility( unsigned , const char * , void * , bool) overrideCalled on Game Thread whenever the visibility of the composition has changed.
Reimplements: ICompositorInterfaceUnreal::OnCompositionVisibility
function OnCompositionRemoved
Section titled “function OnCompositionRemoved”virtual void OnCompositionRemoved( unsigned ViewId, const char * CompositionId, void * Metadata) overrideCalled on GameThread whenever a new composition is found in the HTML. Should destroy the relevant materials that the texture will be drawn into.
Reimplements: ICompositorInterfaceUnreal::OnCompositionRemoved
function ProcessDrawData
Section titled “function ProcessDrawData”virtual void ProcessDrawData( const FDrawData & DrawData, int32_t IndexToProcess) overrideCalled on the GameThread, 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
function HasCompositions
Section titled “function HasCompositions”inline virtual bool HasCompositions() overrideHelper method to save on computation when there are no compositions.
Reimplements: ICompositorInterfaceUnreal::HasCompositions
function IsValidObject
Section titled “function IsValidObject”inline virtual bool IsValidObject() overrideHelper method to catch some invalid creation/destruction edge cases.
Reimplements: ICompositorInterfaceUnreal::IsValidObject
© 2026 Coherent Labs. All rights reserved.