Overview

下図は OpenGL 描画に関わるコントロール等について全体を俯瞰するクラス図です。

../../_images/overview1.png

図のように、OpenGLに関わる部分は3段階のレイヤー(MoNo.OpenGL, MoNo.Graphics, MoNo.Wpf)に分かれています。

namespace description
MoNo.OpenGL OpenGL の薄いラッパー
MoNo.Graphics カメラ、ビュー操作、シーングラフ
MoNo.Wpf WPF 対応と DataBinding

MoNo.OpenGL.GLControl では、OpenGLで描画可能なFormsコントロールについて説明します。 このコントロールはOpenGL描画を行うための最低限の実装しかされていませんので、これを直接利用する機会はあまりないと思われます。

MoNo.Graphics.GLViewControl では、CAD/CGアプリケーション構築のために便利な機能が追加されたコントロールについて説明します。 カメラ設定に従ってモデルビュー行列が自動的に設定され、マウスによるビュー操作が実装されています。

MoNo.Wpf.GLViewport では、WPF対応されたOpenGLコントロールについて説明します。 GLViewport は XAML 中に埋め込むことができ、更に SceneGraph 等も XAML に埋め込むことが可能です。 SceneGraph は Entry が成すツリー構造となっており、Entry の Object プロパティにエンティティを設定すると、対応する IScene オブジェクトが自動的に生成されます。 これはシーンのプラグイン機構が利用されています。