wxWidgetsのOpenGL雛形

次なる3Dプログラミングのテーマを決めた。
ボーンとかモーションとかそっち方面。
最近流行ってきている様子のmqo+keynoteによるmqoのmikoto方式のデータを
扱えるようにしてみたい。
モデルデータを公開されている人もいるので実験してみるのにも
楽しげだ。
ゆくゆくはモデラーとかレンダラのテストベッドにできるとよいのだけど
とりあえずはボーンの動く仕組みをマスターしておくことにしたい。


主にLinux上で開発を遂行する都合上wxWidgetsを使う。
main.cpp

#include "frame.h"

class MyApp : public wxApp
{
  public:
    virtual bool OnInit()
    {
      TopFrame *frame = new TopFrame(wxT("MQO viewer"));
      frame->Show(true);

      return true;
    }
};

IMPLEMENT_APP(MyApp)


コードをgist管理下にいれてみた(4/2)。

とりあえずOpenGLGUIの分離まで。
ToDo:
MQOの読み込み実装(OnOpenの続き)。

premake4.lua

wxGLCanvasを使う

-- premake4.lua
solution "wxMQO"
  configurations { "Debug", "Release" }

  -- A project defines one build target
  project "wxMQO"
    kind "WindowedApp"
    language "C++"
    files { "**.h", "**.cpp" }

    if os.is("windows") then
      flags {
        "UNICODE", "WinMain"
      }

      defines { -- if build for DLL
        "WXUSINGDLL"
      }

      includedirs {
        "C:/wxWidgets-2.8.9/include"
        , "C:/wxWidgets-2.8.9/include/msvc"
      }

      libdirs {
        "C:/wxWidgets-2.8.9/lib/vc_dll"
      }

      links {
        "shell32", "user32", "Advapi32", "gdi32", "Rpcrt4"
        , "Ole32", "Comdlg32", "comctl32", "Oleaut32"
      }
    else

      buildoptions {
        "`wx-config --cflags`"
      }

      linkoptions {
        "`wx-config --libs gl`"
      }
    end

    configuration "Debug"
      defines { "DEBUG" } -- -DDEBUG
      flags { "Symbols" }
      targetdir "debug"
      targetname "wxMQO"

    configuration "Release"
      defines { "NDEBUG" } -- -NDEBUG
      flags { "Optimize" }
      targetdir "release"
      targetname "wxMQO"