Overview¶
下図は OpenGL 描画に関わるコントロール等について全体を俯瞰するクラス図です。
図のように、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 オブジェクトが自動的に生成されます。 これはシーンのプラグイン機構が利用されています。