OpenGL

OpenGL

OpenGL 4世代での描画手順 その3

今回はテクスチャを張ってみたいと思います。また単に画面に三角形ではなく、立方体を出してみます。そのために今回は GLM というライブラリを使用することにしました。これは行列演算のために使用しています。
OpenGL

OpenGL 4世代での描画手順 その2

前回はとりあえず三角形が出せるまで、だったので今回はもう少し進めてみたいと思います。DirectX11ではシェーダー定数については定数バッファ(ConstantBuffer)というものを使って、パラメータをCPUからGPU(シェーダー)に送ります。これのOpenGL版は Uniform Buffer Object (UBO)というものに該当します。 Unif...
OpenGL

OpenGL 4世代での描画手順 その1

OpenGL も現在は 4.4 までバージョンが上がりました。自分が知っているのは 3.3 の頃までで、そのときですらジオメトリシェーダーを扱うプログラムに関して調べた程度でした。最近のものでは DirectX 11との対抗もあってか、ずいぶんと機能が増えて、また、描画の方法も従来とは変わってきたので、改めて勉強をしてみます。
OpenGL

NVIDIA ドライバを 331.65 へ更新

今までは 320.49 を使用していましたが、これ 331.65 へ更新してみました。手元のボードは GTX 650 Ti なので、これで OpenGL 4.4 の拡張がちょっとは使えるかと期待して更新を行った次第です。 あとは、Kepler世代のGPU内部には HWエンコーダーが入っていて、これ NVENC が使えるようになるかと思っての更新です。
OpenGL

OpenGL 1.1で気をつけること

OpenGL 1.1 のバージョンであれば、今ならどこでも動くだろうと思ってやむなく使うこともあるかと思います。 そんなときに意外と嵌まってしまうポイントがあるようだったので、ここに記録&公開しておきたいと思います。もしも○○も気をつけなきゃいけないポイントだよね!ということがあればコメントにでもいただけると嬉しいです。 ・ちゃんと初期化処理を行う。 ドライ...
プログラミング

NVIDIA Cgランタイムについて

またも今更な話題にはなるのですが、NVIDIAから出ているCg ToolkitのCgランタイムについてです。 NVIDIA製のグラフィックボード以外で使用することの保証はないだろう!と考え、他のプラットフォームではたまたま動いている、と考えていたのですが、どうやらそれは違うのかもと思う記事を見かけました。 以前のニュース記事なのですが、ここによると 「Com...
OpenGL

OpenGL 4.4が発表されたらしい

Siggraph開催中に、OpenGL 4.4 が発表されたらしい。 また、Tegraのほうも進化したようで・・・モバイルなのに標準のOpenGLつかえるとか。今後のTegraはすごそうです。Keplerベースになるっぽいです。 OpenGL 4.4のほうは、いくつかの拡張機能が盛り込まれるようです。 「Direct3DからOpenGL 4.4への移植を簡単...
OpenGL

GL_NV_Path_Renderingを試す その3

一応、ASCII文字は表示できたので今回は日本語文字列を表示させてみたいと思います。 日本語はUNICODEリテラルとして設定して、UNICODEにおけるBMP領域しか使わないものとして(UCS2範囲で)扱うので、UTF-16タイプでセットすることで描画できることが確認出来ました。 const wchar_t szString[] = L"日本語でテスト";...
OpenGL

GL_NV_Path_Renderingを試す -その2-

前回は図形を書いてみたので今回は文字列を書いてみます。これもまたサンプルにあったほぼまんまのように見えますが、任意の英数文字N個に出来るよう改良しています。 初期化ブロック 初期化部分です。任意の文字数と言った割には、配列サイズを大きめにとっているだけだったりします。 const char* word = "This is Path Rendering"; ...
OpenGL

GL_NV_path_rendering を試す -その1-

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