2017-07-10 16 views
0

瞬間、私は次の方法でプログラム的にテクスチャを作成しようとしています: 私は十六進の1次元配列を持っている:Direct3dではこのようなテクスチャがサポートされていますか?

 char array = { 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f } 

と私が作るビットを使用してこのテクスチャを作成したいですバイナリでF = 1111と7 = 0111なのでこの配列を上にします。視覚的に、それは次のようになります。基本的に

1 1 1 1 1 1 1 0 
    1 1 1 1 1 1 0 1 
    1 1 1 1 1 0 1 1 
    1 1 1 1 0 1 1 1 
    1 1 1 0 1 1 1 1 
    1 1 0 1 1 1 1 1 
    1 0 1 1 1 1 1 1 
    0 1 1 1 1 1 1 1 

、配列の各要素は、行を表すであろう、と文字のいずれかを構成する8ビットの各要素を表すことになります。 0の場合、に、満たされない場合は1になります。私はそれからいくつかの外部の仕組みに応じて色を塗りつぶします。私は、MSDNでこのDXGI_formatが見つかりました:

DXGI_FORMAT_R1_UNORM 

1ビットになりますので、私は、この手順と同様のものが可能である推測しています。

答えて

0

Direct3Dでサポートされている1ビット形式はありません。 DXGI_FORMAT_R1_UNORM形式は、Direct3D 10時代の一部の初期のGDIフォントサポート用に作成されましたが、Direct3Dハードウェアによるテクスチャ作成にはフォーマット自体はサポートされていません。

最小のフォーマットについては、DXGI_FORMAT_R8_UNORMがあります。ここで、1から255バイトに拡張し、0を0バイトにします。

生のピクセル形式を扱う一連のコードについては、DirectXTexをご覧ください。 ConvertコードベースにDXGI_FORMAT_R1_UNORMのようなモノクロフォーマットを展開するためのコードがあります。

関連する問題