Gondwana Game Engine Development (master) - 2.6.1
Gondwana is a cross-platform 2.5D game and rendering engine written in C#/.NET 8. It provides fine-grained control over rendering, timing, and scene composition, with built-in support for parallax, z-ordering, pixel overhang, collision detection, and particle effects. Gondwana targets desktop and web platforms using SkiaSharp for graphics and pluggable audio backends for desktop and browser targets.
Loading...
Searching...
No Matches
Gondwana.Blazor.Rendering.BlazorGpuRenderSurfaceAdapter Class Referencesealed

Coordinates Gondwana foreground-frame requests with a Blazor WebGL render surface. More...

Inheritance diagram for Gondwana.Blazor.Rendering.BlazorGpuRenderSurfaceAdapter:
Gondwana.Rendering.RenderSurfaceAdapterBase

Public Member Functions

override void Present (SKImage bufferImage, SKRectI bufferRect, SKRect destRect)
 Not used by the WebGL path. GPU rendering and presentation both occur in the SKGLView paint callback.
void Dispose ()
 Releases the engine frame-request subscription.
Public Member Functions inherited from Gondwana.Rendering.RenderSurfaceAdapterBase
Point AdapterPxToScreenPx (PointF adapterPx)
 Converts adapter input to logical ScreenPx, retaining outside coordinates for capture/leave.
void DrawImage (SKCanvas canvas, SKImage image, SKColor clearColor)
 Presents a complete image using the same transform as pointer normalization.
void Present (SKImage bufferImage, SKRectI bufferRect, SKRect destRect)
 Presents the specified portion of the Backbuffer image to the destination rectangle on the RenderSurfaceAdapter.

Additional Inherited Members

Protected Member Functions inherited from Gondwana.Rendering.RenderSurfaceAdapterBase
 RenderSurfaceAdapterBase (int destWidth, int destHeight)
 Initializes a new instance of the RenderSurfaceAdapterBase class with the specified dimensions.
 RenderSurfaceAdapterBase (int destWidth, int destHeight, bool initialSizeAvailable)
 Constructs an adapter whose initial layout may still be pending.
void SetDestinationSize (int destWidth, int destHeight)
 Sets the destination size of the render surface and raises the Resized event if the dimensions have changed.
Properties inherited from Gondwana.Rendering.RenderSurfaceAdapterBase
PresentationTransform Presentation [get]
 Current immutable aspect-preserving mapping of Backbuffer ScreenPx to adapter pixels.
float PresentationScale [get]
 Current derived presentation scale; adapter resize does not resize the Backbuffer.
int Width [get, protected set]
 Gets the current width of the render surface in pixels.
int Height [get, protected set]
 Gets the current height of the render surface in pixels.
Events inherited from Gondwana.Rendering.RenderSurfaceAdapterBase
Action< RenderSurfaceAdapterResizedEventArgs >? Resized
 Occurs when the render surface adapter is resized.

Detailed Description

Coordinates Gondwana foreground-frame requests with a Blazor WebGL render surface.

The SKGLView owns the browser animation loop. This adapter therefore does not request another browser frame when the engine completes a foreground update; it only records that a new scene frame is due. The active SKGLView paint callback consumes that request and renders the scene immediately while the WebGL context is current.

Definition at line 15 of file BlazorGpuRenderSurfaceAdapter.cs.

Member Function Documentation

◆ Dispose()

void Gondwana.Blazor.Rendering.BlazorGpuRenderSurfaceAdapter.Dispose ( )

Releases the engine frame-request subscription.

Definition at line 77 of file BlazorGpuRenderSurfaceAdapter.cs.

◆ Present()

override void Gondwana.Blazor.Rendering.BlazorGpuRenderSurfaceAdapter.Present ( SKImage bufferImage,
SKRectI bufferRect,
SKRect destRect )

Not used by the WebGL path. GPU rendering and presentation both occur in the SKGLView paint callback.

Parameters
bufferImageThe rendered image to present.
bufferRectThe source rectangle within the rendered image.
destRectThe destination rectangle on the render surface.

Definition at line 71 of file BlazorGpuRenderSurfaceAdapter.cs.