コンテンツにスキップ

FloatSoda.Engine

FloatSoda.Engine 名前空間の公開型です。

DesktopWindow

GLFW の可視ウィンドウへレイヤーツリーを表示するデスクトップ向けエンジンウィンドウです。 描画結果を既定のフレームバッファへ転送し、ウィンドウ固有のポインター入力を提供します。

EngineShell

エンジンの開始と終了をまとめるためのシェルです。

FramePacer

スリープとスピン待機を組み合わせ、フレームループを指定した頻度に制限します。

GLFWRawPointerSource

GLFW ウィンドウのマウス入力を RawPointerEvent に変換する入力源。 イベントは GLFW をポンプしているスレッド(レンダースレッド)で発火します。

GLView

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

IOTaskRunner

I/Oリソースに関するスレッド所属処理を、専用の単一バックグラウンドスレッドで順番に実行します。

OverlayMouseRawPointerSource

OpenVR オーバーレイのマウスイベント(ダッシュボードのレーザーポインタ)を RawPointerEvent に変換する入力源。 事前に SetOverlayInputMethod(Mouse) とピクセルサイズの SetOverlayMouseScale が 設定されている前提です。 OpenVR の仕様上マウス座標は原点左下だが、本プロジェクトの OpenGL テクスチャ (ボトムアップ格納)では SteamVR の表示時 v 軸反転と相殺され原点左上で届くことを 実測で確認済みのため、座標はそのまま使用します(y 反転すると上下鏡映になる)。 イベントは PollEvents を呼んだスレッドで発火します。

OverlayWindow

SteamVRオーバーレイを描画先とするIEngineWindowの実装です。

PostTaskRunner

一定のフレーム間隔でライフサイクルフックを呼び出す専用バックグラウンドスレッドを管理します。

RenderPostTaskRunner

GLFWイベントの処理とウィンドウへの描画を、GLFW/OpenGLコンテキストを所有するレンダースレッドで実行します。

Renderer

レイヤーツリーを GLView の Skia サーフェスへ描画します。

ITaskRunner

専用スレッドの開始、停止、およびタスク投入を統一する契約を定義します。