カテゴリー別アーカイブ: 技術系

仕事やプライベートなどで調べたりした技術ネタを稀に書いてます。

Direct3D9Ex+Direct2D

珍しくDirectXな開発ネタ。
最近またネタ切れ気味で・・・

Direct3D9ExのサーフェイスをDirect2D上で描画したいってコトがあって、
色々と調べたところ、Direct3D9Ex→Direct3D10.1→Direct2Dと
順番に共有したリソースを作ってみて描けたらラッキーかなって感触。
そして意外なことにID3D10Texture2Dと共有した
ID2D1Bitmapの情報が全然なかった・・・。
結構マイナーなコトなのかな?
そもそもDirect2D自体あまり使われてない・・・?(汗

Direct2D と Direct3D の相互運用性の概要
一応MSDNの↑のサイトに
CreateSharedBitmap を使用して IDXGISurface から ID2D1Bitmap を作成することで、Direct3D シーンをビットマップに書き込み、Direct2D を使用してレンダリングできます。とは書いてあるんだけど、それしか書いてない^^;

で、とりあえず何となくで書いてみたらあっさりイケた。 続きを読む

Twenty Twelveの子テーマのwp_titleで…

久々にWordPressネタ。

去年ブログのテーマを一新して、
標準テーマ「Twenty Twelve」の子テーマを自作したんだけど、
今更な部分で気になる部分があったので直してみたー

ブログのタイトル部分をよくよく見てみると、
「みつ(@@@)の雑記 | “萌え”は俺の人生そのもの。
とWordPressでいうところのキャッチフレーズまで出てしまってる・・・

元々はブラウザのタイトル部分だけだし・・・と思って
あまり気にしていなかったんだけど、
よくよく考えるとブックマークしたり、フィードを登録したり、
グーグル先生の検索だったり、あらゆるところで出てくる・・・!

フレーズ自体は気に入ってるけど、
あちこちで出すのは痛すぎる・・・!(笑
↑のブログタイトルの下にちょこっと出てるだけで良い。

ということでタイトルからキャッチフレーズを消してみるー
続きを読む

Win8対応のプロダクトキー取得処理

VC++で作ったソフトからWindowsの
プロダクトキーを取得したいってコトがあって、色々と調べてみた。
日本語の情報自体は結構あったけど、なぜか内容がバラバラで・・・

レジストリ内の
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersionの「DigitalProductId」を使うとか、「DigitalProductId4」を使うとか、
データ位置に関しても幾つかの情報を見掛けたり・・・

ただ、どの情報を試してもWin8じゃ正常に取れない・・・!
で、延々と調べ続けて、海外のフォーラムで
ようやくそれらしい情報が!
これ とか これ がまさにそれ。

フォーラムに書いてあるコードがVBSだから、
参考にしつつVC++で書き直してみた。 続きを読む

さくらのBASE Storage

さくらインターネットが最近βサービスを開始した
さくらのBASE Storage」をウチのサーバ(さくらのVPS)で試してみたー

既にVPSで電話認証まで済ませてるから、
BASE Storage用のアカウントを作成して
ネームスペースを作るだけ。
とっても簡単。

でもサーバ側にS3を使用するための環境がないから、
とりあえずS3をマウントするための環境を構築。
と言っても、FUSEとs3fsをインストールするだけー

#【FUSE】
wget http://sourceforge.net/projects/fuse/files/fuse-2.X/2.9.3/fuse-2.9.3.tar.gz/download
tar zxf fuse-2.9.3.tar.gz
rm -f fuse-2.9.3.tar.gz
cd fuse-2.9.3
./configure --enable-shared --libdir=/usr/lib64 --prefix=/usr
make
make install
ldconfig
modprobe fuse
#【s3fs】
wget http://s3fs.googlecode.com/files/s3fs-1.74.tar.gz
tar zxf s3fs-1.74.tar.gz
rm -f s3fs-1.74.tar.gz
cd s3fs-1.74
./configure --libdir=/usr/lib64 --prefix=/usr
make
make install

で、環境完成。
続きを読む

Direct3D10+Direct2DのVSync待ち

Direct3D10上にDirect2Dで画像をスクロールさせるだけの
処理を作ってるときに、VSync周りで地味にハマった。

縁無しのウィンドウモードで動かしていると、

pRenderTarget->EndDraw();		// 描画終了
pSwapChain->Present(1, 0);		// 表示

としているにも関わらず、
実機で実行するとモニタの上部で常にティアリングが・・・。
開発してるマシンでは起こらないんだけどー
ディスプレイの周波数は、ちゃんと60Hz。

どう考えてもVSync待ちに失敗してるっぽいので、
自力でVSyncを待つ方法を調べてみる。

IDXGIOutputクラスのWaitForVBlank()メソッドが正解っぽい。
ただ情報が全然ない・・・
続きを読む