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)。
とりあえずOpenGLとGUIの分離まで。
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"
参考
http://www.zetcode.com/tutorials/wxwidgetstutorial/
http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html
source
samples/opengl/cube/cube.cpp