2010-09

DirectX

テクスチャとサンプラーステートの関係

テクスチャとひとことで言った場合、この中には2つの要素が含まれていると思います。 1つは、ポリゴン表面に貼りたい画像のデータ。 そしてもう1つは、その画像に適用するフィルタ設定やUV設定といったの各設定情報。このうち後者はテクスチャフィルタやラッピングモード(アドレッシングモード)とも言われるため テクスチャの情報としてまとめられてしまうことが多いと感じます...
未分類

glGetActiveUniformの挙動

AMD製グラフィックボード搭載環境時に glGetActiveUniform関数が正常動作しない模様。 Catalystドライバが悪いのかも知れないが。 uniform sampler*のデータが取得できない。 有効なUniform変数の個数は意図通りなのに、sampler用と思われる部分でLocationIdが -1 という値が返ってくる。 NVIDIA製...
DirectX

CPU書き換えテクスチャ転送

DirectX9で、CPU上でごりごりとテクスチャ処理して VRAMに転送し、普段使うのはその転送後のテクスチャという方式を考えてみました。CPU上のテクスチャは D3DPOOL_SYSMEMで作り、 VRAM上のテクスチャは D3DPOOL_DEFAULTで作るという方法です。 この転送には、IDirect3DDevice9::UpdateTexture ...
DirectX

シェーダーリフレクション [DirectX10]

シェーダーの中身がどのようなものが詰まっているかを取得するための方法です。 なかなか情報がなくて大変でした。 やりたいこととしては、シェーダーのバイナリファイルから どのような変数およびデータ型がどの位置に存在するのかと知る方法となります。D3DX9には存在していたID3DXConstantTableのようなものを D3D10ではどうやるかという感じになるで...
vmware

ホストオンリーネットワーク

いろいろとドメイン関連の実験をしていて、 閉じたネットワークを構築したかったため、ホストオンリーネットワークの機能を使用した。 ただ、ゲストとホストの1:1対応であれば何も考えずに使えるのだけど、 ゲスト間で通信し、なおかつドメインのようなDHCPやDNSを動かしているようなときには、通常のままではうまく動かない。 なぜならば、vmwareが提供しているDH...
サーバー構築

ドメインサーバーを2003からWin2008R2へ

2003R2で構築しているドメインに、2008R2のサーバーをメンバーサーバーとして追加して、その後昇格させる方向でドメインサーバーのアップグレードを図ってみた。 ■メンバーサーバとして追加 まず、サーバー構成マネージャでドメインサーバー用の設定をした後で、 dcpromoを実行したところ、以下の失敗メッセージが出てきました。 「このActive Direc...
vmware

VT-d と ESXi と

Intel Core i5をVT-d目的で購入。 VT-dを使える環境で ESXiでPCIパススルーするために。 しかしながら、vSphere Clientで確認してみても、 ホストが対応していないと出てくる。 原因が分からずにいろいろと調べた結果、以下のことが分かった。 VT-dを使うためには、CPUだけでなくBIOSも対応している必要がある。 これが盲点...
OpenGL

レンダーバッファとレンダーテクスチャ

Framebuffer Objectで設定するレンダーバッファとレンダーテクスチャについて。どこかの記載で、レンダーバッファのほうがレンダーテクスチャよりも 高速に動く余地があるということが書いてあった。 これは以前の日記でも書いたとおり。ここでFBOにはレンダーテクスチャとレンダーバッファとそれぞれ設定するための関数が用意されているが、 同時に設定したらど...
OpenGL

FramebufferObject挙動違い -その3-

今回は今までの総合しての解決編になります。 デプスとステンシルを1つのテクスチャでOKとし、 さらにNVIDIAとAMDと双方で問題なく動く、という解法になります。 ■実装コード やはりテクスチャの作成がポイントでした。 glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH24_STENCIL8_EXT, TEXTURE_WIDT...
OpenGL

FramebufferObject挙動違い -その2-

AMD製グラフィックボード時でも正常動作できる組み合わせを発見しました。テクスチャの生成時がポイントです。 ■解決方法(AMDオンリー) glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT16, TEXTURE_WIDTH, TEXTURE_HEIGHT, 0, GL_DEPTH_COMPONENT, GL_...