GL_NV_path_rendering を試す -その1-


今回からちょっとしばらくは、NVIDIAのPath Rendering拡張をいじってみます。
これはベクターグラフィックス描画をNVIDIAのドライバがやってしまうという拡張で、GPU支援が受けられるため従来のCPUレンダリングと比べると圧倒的に高速に動作するようです。
 今のところは、NVIDIAのグラフィックスボード搭載機種でOpenGLを使ったときに動作させられるようです。

流れ

具体的にはパスを描画して塗りつぶし、輪郭(アウトライン)の描画、という2ステップで行うようです。どちらのステップもOpenGLで描画の際には、ステンシルバッファを使用して、ある矩形をステンシル参照しつつ塗りつぶすという動作をしているように見受けられます。
 また、このパスレンダリングは従来のグラフィックスパイプラインとは別のパイプラインを通るようです。

サンプル提供されているチュートリアルそのままですが、これから紹介していきたいと思います。

まずパス用のオブジェクトを用意して、そこにSVG形式での文字列(コマンド)をセットします。ちなみにPostScript形式も扱えるようです。

まずパスにより塗りつぶしを行い、その後輪郭を書くという処理を行っています。これらを適用するとこんな絵になります。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする