OpenVG-Registry
OpenVG のリファレンス実装(サンプル実装)のアーカイブファイルが最近クロノスの Web サイトからダウンロードできなくなっていることに気づきました。
OpenVG のリファレンス実装は、OpenVG をソフトウェア実装したもので、Windows で動作します。(もちろんOpenVG適合テストも合格する実装です。) GPU を用いたハードウェア実装ではないので、描画性能は低くく実用的なものではありません。OpenVG API の勉強用、OpenVG の実装例といった位置づけのものになります。また、ソースコードも公開されており、Windows 以外のプラットフォームに移植できるようにもなっています。
OpenVG のリファレンス実装は、上記 Web サイトの OpenVG 1.1 Sample Implementation, OpenVG 1.0.1 Sample Implementation のリンクから入手可能なはずですが、残念ながら現在どちらもリンク切れになっています。
ミスか何かだろうとは思うので、そのうち復活するとは思いますが、すぐに入手できずに困っている方もいるかもしれません。
幸いこれらのファイルは GitHub にも置かれているので、こちらからダウンロードすることが可能です。
OpenVG 1.1 リファレンス実装(サンプル実装)
https://github.com/KhronosGroup/OpenVG-Registry/blob/master/ri/openvg-1.1-ri.zip
OpenVG 1.1 と EGL 1.3 のライブラリとサンプルプログラムです。ソースコードと Windows 用のバイナリファイルが含まれています。
サンプルプログラムは、1.0.1 の方とほぼ同じ Tiger です。使用している OpenVG API は全く同じで OpenVG 1.1 で追加された機能は使われていません。違いは GLUT を使わない実装に変更されているぐらいです。(このため、拡大表示機能は削除されています。)
OpenVG 1.0.1 のTigerより描画は速いのですが、OpenVG 以外の処理が異なっているのが主な原因と考えられます。
libOpenVG.dll の他、tiger.exe も含まれているため、自分でビルドしなくとも実行することができます。(VC++ のランタイムはスタティックリンクされているようです)
OpenVG 1.0.1 リファレンス実装(サンプル実装)
https://github.com/KhronosGroup/OpenVG-Registry/blob/master/ri/openvg-1_0_1-ri.zip
OpenVG 1.0.1 と EGL 1.2 のライブラリとサンプルプログラムです。ソースコードと Windows 用のバイナリファイルが含まれています。
GLUT を使っているため、libOpenVG.dll, tiger.exe の他、glut32.dll も含まれていますが、実行するには VC++ 6.0 のランタイム(しかも Debug 版) が必要なため、現在このバイナリを動かせる人はほとんどいないでしょう。私は新しいバージョンの VC++ でバイナリファイルを作り直して動かしました。
プロジェクトは古い VC++6.0 で作られているので、最近の Windows でビルドするには、より新しいバージョンの VC++ を使う必要があります。その場合、新しい VC++ でビルドするには多少の手直しが必要になるかもしれません。また、ビルドするには、GLUT のヘッダファイルと glext.h を用意する必要があります。
OpenVG 1.1 の Tiger より描画は遅いのですが、’1’〜’4′ のキーを押すと1〜16倍に拡大表示する機能が付いています。(OpenGL 1.2 以上をサポートする GPU が必要)
拡大表示機能は OpenVG の機能を使って実現したものではないことに注意してください。ただ、この拡大機能は OpenVG でパスがどのように塗りつぶされているか、どのように線が引かれているかを確認するのには便利な機能です。
コメントを投稿するにはログインしてください。