toge's diary

コンピュータ関連の趣味をつらつらと。

OpenVG Reference Implementation

http://www.hybrid.fi/main/download/openvg.php

わーい、OpenVGのRI(Reference Implementation)が公開されてます。順当ですけどOpenGLでの実装みたいですね。
残念ながらWindowsのみ。Linux版が出ないかなぁ。

ちなみにJavaの世界の人は知っていると思いますが、RIっていうのはOpenVGエンジンを書く人向けの参照用実装なので、速度・安全性・汎用性は度外視です。
上のページにも書いてありますね。

Wineを使って動かしてみました。やっぱり予想通りもっさり動いてますね。
でも描画品質はなかなか良い感じです。

さてと、じゃあMinGWで実装してみましょうかね。
Studio Sixnine.のMinGW FAQを参考に。その中で使うpexportsはここらへんにあります。

../pexports/bin/pexports libOpenVG.dll | sed "s/^_//" > libOpenVG.def
i386-mingw32-dlltool -U -d libOpenVG.def  -l libOpenVG.a
i386-mingw32-g++ main.cpp -L bin -lOpenVG -L . -I /usr/include

そして初めて知るのです。MinGWglut.hが入っていません。
OpenGL・GLUTをWindowsXPで使う方法から必要なものを持ってきたり。glut.hを持って来るだけ。これでコンパイル出来たと思いいや、今度はwineで実行すると

Unhandled exception: unimplemented function libOpenVG.dll._eglGetDisplay called in 32-bit code (0x18428bfc).

なんて言われる。うーん週末にもう一回やろう。