コンテンツにスキップ

GLView クラス

GLFW の OpenGL コンテキストと、描画先となる Skia サーフェスおよび OpenGL テクスチャを管理します。 OpenGL リソースを所有するレンダースレッド上で作成、使用、破棄してください。

名前空間: FloatSoda.Engine
アセンブリ: FloatSoda.Engine.dll

public class GLView : IDisposable

object ← GLView

IDisposable

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

GLFW ウィンドウと、その OpenGL コンテキストへ接続された Skia 描画先を作成します。

public GLView(SKSizeI? initialSize = null, bool visible = false, string title = "")

initialSize SKSizeI?

描画先の初期ピクセルサイズ。null の場合は1000×1000です。

visible bool

OS 上に GLFW ウィンドウを表示する場合は true。

title string

可視ウィンドウのタイトル。

InvalidOperationException

GLFW ウィンドウ、Skia GPU コンテキスト、または Skia サーフェスを作成できない場合にスローされます。

OpenGL バックエンドに接続された Skia の GPU コンテキストを取得します。

public GRContext GrContext { get; }

GRContext

描画先のピクセルサイズを取得します。

public SKSizeI Size { get; }

SKSizeI

現在の OpenGL テクスチャを描画先とする Skia サーフェスを取得します。 リサイズすると既存のサーフェスは破棄され、新しいインスタンスに置き換わります。

public SKSurface Surface { get; }

SKSurface

描画結果を保持する OpenGL 2D テクスチャのハンドルを取得します。 リサイズすると既存のテクスチャは削除され、値が更新されます。

public int TextureHandle { get; }

int

このGLFWウィンドウがOS上に可視ウィンドウとして表示されるかどうか。 コンストラクタの visible 引数で確定し、以降は変更できません。

public bool Visible { get; }

bool

OpenGL コンテキストを現在のスレッドへ関連付け、描画先を透明色でクリアします。

public void Clear()

Skia と OpenGL の描画リソースを解放し、GLFW ウィンドウを破棄します。

public void Dispose()

Skia と OpenGL に保留されている描画コマンドを送信します。

public void Flush()

描画先のサイズを変更します。既存のテクスチャとSurfaceは破棄され、再作成されます。

public void Resize(int width, int height)

width int

新しい描画先の幅(ピクセル)。

height int

新しい描画先の高さ(ピクセル)。

ArgumentOutOfRangeException

width または height が0以下の場合にスローされます。

描画先を指定したピクセルサイズへ変更します。

public void Resize(SKSizeI size)

size SKSizeI

新しい描画先のピクセルサイズ。

ArgumentOutOfRangeException

size の幅または高さが0以下の場合にスローされます。

GLFW ウィンドウのフロントバッファとバックバッファを交換します。

public void SwapBuffers()