コンテンツにスキップ

CSharpで始めるOpenGLプログラミング/プロジェクトを作成する

出典: フリー教科書『ウィキブックス(Wikibooks)』

このページでは、OpenGLプログラミングを行う際のプロジェクトの作成方法を解説します。

プロジェクトを作成する

[編集]
  1. MonoDevelopを起動し、「ファイル」メニューから「新しいソリューション(S)...」をクリックします。
  2. 「新しいプロジェクト」ダイアログが開きます。左側のリストで「.NET」を選択し、右側のリストで「コンソール プロジェクト」を選択した後、「次へ」をクリックします。
  3. プロジェクト名に適当な名前(TestOpenGLなど)を入力し、「作成」ボタンをクリックします。

OpenTKパッケージを追加する

[編集]

C#からOpenGLを使用するため、OpenTKというライブラリを使用します。

  1. ソリューションリストの中の、先ほど作成したプロジェクトの配下にある「パッケージ」を右クリックし、「パッケージの追加(P)...」をクリックします。
  2. 出現したダイアログの右上のテキストボックスに"OpenTK"と入力します。
  3. OpenTKパッケージにチェックを入れ、「パッケージを追加」ボタンをクリックします。

MainWindowクラスを作成する

[編集]

OpenGLで図形を描画するためのウィンドウを表すクラス "MainWindow"を作成します。

  1. ソリューションリストの中の、作成したプロジェクトを右クリックし、「追加▶新しいファイル(F)...」をクリックします。
  2. 出現したダイアログで、左側のリストで"General"を選択し、中央のリストで"空のクラス"を選択します。名前には"MainWindow"と入力します。
  3. 「新規(N)」ボタンをクリックしてダイアログを閉じます。MainWindow.csというファイルが作成されます。
  4. MainWindow.csとProgram.csを書き換えます。

MainWindow.csは次のような内容にしてください:

using System;
using OpenTK;
using OpenTK.Graphics;
using OpenTK.Graphics.OpenGL;
namespace Test3DProject
{
    public class MainWindow : GameWindow
    {
        public MainWindow(int width, int height, GraphicsMode mode, string title)
            : base(width, height, mode, title)
        {
        }

		protected override void OnLoad(EventArgs e)
		{
            base.OnLoad(e);
		}

		protected override void OnUpdateFrame(FrameEventArgs e)
		{
            base.OnUpdateFrame(e);
		}

		protected override void OnRenderFrame(FrameEventArgs e)
		{
            base.OnRenderFrame(e);
            GL.ClearColor(0.0f, 1.0f, 0.0f, 1.0f); //緑色をセットする
            GL.Clear(ClearBufferMask.ColorBufferBit); //バッファ一面を緑色にする

            SwapBuffers();
		}

		protected override void OnUnload(EventArgs e)
		{
            base.OnUnload(e);
		}
	}
}

Program.csはmainメソッドを次のようにします:

        public static void Main(string[] args)
        {
            var window = new MainWindow(500, 500, OpenTK.Graphics.GraphicsMode.Default, "Test");
            window.Run();
        }

実行してみる

[編集]

MonoDevelopの左上にある「▶」(実行)ボタンをクリックするとプログラムが起動します。 うまくいけば緑色で塗りつぶされたウィンドウが出現します。