Table of Contents

Class GLFrameProcessor

Namespace
VisioForge.Core.OpenGL
Assembly
VisioForge.Core.OpenGL.dll

This class creates a hidden OpenGL context and encapsulates processing. It uploads input frame data into an input texture, renders a full-screen quad with a custom shader (here applying a grayscale conversion), and then reads back the processed result.

public class GLFrameProcessor : IDisposable

Inheritance

Implements

Inherited Members

Constructors

GLFrameProcessor(GLShaderSettings)

Initializes a new instance of the VisioForge.Core.OpenGL.GLFrameProcessor class.

public GLFrameProcessor(GLShaderSettings settings)

Parameters

settings GLShaderSettings

The settings.

Methods

Dispose(bool)

Releases unmanaged and - optionally - managed resources.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

true to release both managed and unmanaged resources; false to release only unmanaged resources.

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()

~GLFrameProcessor()

Finalizes an instance of the VisioForge.Core.OpenGL.GLFrameProcessor class.

protected ~GLFrameProcessor()

ProcessFrame(nint, int, int)

Processes the frame.

public void ProcessFrame(nint data, int width, int height)

Parameters

data nint

The data.

width int

The width.

height int

The height.

UpdateSettings(GLShaderSettings)

Updates the settings.

public void UpdateSettings(GLShaderSettings settings)

Parameters

settings GLShaderSettings

The settings.

UpdateUniforms()

Updates custom float uniforms in the shader. Pass a Dictionary where keys are uniform names and values are the float values to set.

public void UpdateUniforms()