プログラミング

プログラミング

エクスプローラサムネイル画像のシェル拡張を作成中です (3)

IThumbnailProviderを継承して、エクスプローラーのサムネイル画像用拡張を作成しているわけですが、1つ問題が出てきました。入力となるファイルについて、IInitializeWithStream ではファイルの全体サイズがわからないためちょっと使い勝手が悪く、IInitializeWithFileを継承して実装することで今までは作業していました。...
プログラミング

NVIDIA Cgランタイムについて

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

エクスプローラサムネイル画像のシェル拡張を作成中です (2)

前回に引き続き、PVR形式のファイルに対応作業をしていました。メジャーどころの対応をひとまず行ってようやくエクスプローラーで確認出来るようになりました。 PVR形式は今現在、2種類ほどのフォーマットバージョンに対応する必要があります。 バージョン2と呼ばれる従来のバージョンでは、52バイトがヘッダで先頭ではなく途中に "PVR!" というタグが出現するフォー...
プログラミング

今更ですが、Subversion 1.8出てた。ついでにGitLabにも動きが

8月になってしまって、今更感がありますが6月下旬に Subversion 1.8 系が出ていたようです。 とうとう分散リポジトリ対応なのか?!と思って詳細を見てみるとそんなことはないようです。管理用内部ファイル群はまた更新されるようです。ファイルサイズが小さくなったり、ファイル移動の管理がちょっと変わっていたりするようです。 Subversion 1.8.1...
プログラミング

エクスプローラサムネイル画像のシェル拡張を作成中です

Windows エクスプローラーシェル拡張としてのサムネイル画像を生成するプログラムを作成中です。今まで解析した画像関連のデコーダーをこのプログラムに集約させてみようかと思っています。 作成を始めたばかりですが今のところ、このような感じになっております。一応表示できているものはできてます。 そして、サムネイル画像を生成したらプレビューの方にも反映されるようで...
OpenGL

OpenGL 4.4が発表されたらしい

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

なんでもSSEのほうが早いとは限らない

SSEを使用するプログラム作成に今、ハマってます。というかちゃんと勉強を始めてみたところなのですが、意外とシンプルなアルゴリズムでもSSE2などを使ったからといって必ずしも早くなるとは限らないというのを体験しました。 やってみたのは、32bitのARGBの色並びをRGBAに並び替えるというものです。 普通にCPUでやると、 色を左8ビットシフト、アルファを右...
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を使ったときに動...