OpenGL

OpenGLでのストリームアウト その1

OpenGLを用いてもDirectX10のストリームアウト相当の機能を使うことが出来ます。この機能のためにまず最初に拡張されたのが GL_NV_transform_feedback というエクステンションです。 最近ではこれがEXTになったようですが、単純にNVから格が上がっただけとはいえないようです。 APIが変更されているからです。 EXT版で試行錯誤し...
DirectX

Scissorによる挙動違い(DX vs GL)

DirectXとOpenGLとで、シザーの設定時のクリア挙動が異なるようです。座標系がそれぞれ異なるってのもあるけど、 そこは上下を逆転して対処したとしても、それだけでは互換動作は不可能。 フレームバッファの縦横と、ビューポートの縦横と、シザー設定の縦横 それぞれ違う設定にしてみて、双方のAPIで実行してみるとわかりやすいかと。 DirectXではビューポー...
DirectX

Vertex Texture Fetchによるスキニング

Vertex Texture Fetchを利用して、スキニングメッシュのサンプルを動かしてみました。 ひにけにxnaさんのところでは、XNAを用いての解説があったので、 ここでは、普通のDirectX SDKとC++による組み合わせでこれをやってみたいと思います。 ■ 使用するもの SkinnedMeshのサンプルプログラム ShaderModel 3.0に...
vmware

ESXiでのディスク上限

今までやってなかったVMwareESXi4でのiSCSIの実験やNFSマウントの実験をやってみました。 これで2TBの壁を越えられるかという点に興味があります。 ■準備編 *2TB以上のiSCSIターゲット WindowsServer2008を用意して、その中でiSCSIターゲットを準備します。 以前SoftwareTargetでは2TB以上のVHDを作れな...
未分類

シェーダー定数(GLSL)

■ボーンの行列60個 どこかのブログでボーン用マトリックスパレットが60個くらいまでしか使えなかったと見たので、その理由を書いてみます。 実はその制限は単純なもので、ShaderModel3系までだと、シェーダー定数は256個のレジスタが使えることになっています。 マトリックスだとfloatの16個分なので、float4に換算すると4つ使うことになります。 ...
OpenGL

GLSLスキニング

■GLSLでスキニングシェーダー書いてみた わりとGLSLでスキニングシェーダーをやったという記事を見かけないので ここで書いてみます。 大変だった点はGLSLでは、Cのようなキャストを受け付けない点。 そのためブレンドインデックスをどうやってint型にするかで悩みました。 実際には、下記のソースコードに示すように int( )で囲ってやる程度で済む話なので...
DirectX

DirectXのデバッグランタイム不具合

Windows7 (x64)の環境で、DirectX9を用いた開発を行おうとすると、 SDKのバージョンによっては問題を引き起こすことがわかった。検索しても海外でしか、同じ症状が発見されず、また解決法も不明だったので、 問題のあるバージョンを使用しない方法でしか解決が出来ないようだ。 それでも、別バージョンを使えばOKという点はまだ救いなのかもしれない。 ■...
DirectX

R2VB

どうやら最近のNVIDIAドライバ+新しめのボードだと、 R2VB(Render To VB)は使えないようだ。チェックしてみてもNGとなってしまう。 これってGeForce6200とかで使えたという噂を聞いたけど、 そのくらい昔のハードでしか使えないってことなんだろうか。 ※ R2VB使うくらいなら DirectX10以降のストリームアウト使えってことか ...
vmware

VMwareの仮装マシンでMACアドレスを指定する

ゲストOSの構成ファイルを開き、以下の行を削除します。 ethernet.generatedAddress ethernet.addressType ethernet.generatedAddressOffset そして、設定したいアドレスを次のように書く。 ethernet.addressType="static" ethernet.address="xx...
プログラミング

WinSxS問題 その2

基本的事項 まずは知っておかなくてはいけないこと。 外部マニフェストの挙動 外部マニフェストはexeのみに適用される。 そのexeが必要とするdllらには適用されない点に注意 WindowsXP環境では、外部マニフェストのほうが埋め込みマニフェストよりも優先される 2003より優先順序が逆転した。 症状 再頒布ランタイムパッケージがインストールできない環境で...