DirectX11におけるHLSLのセマンティクス「POSITIONT」について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: DirectX11におけるHLSLのセマンティクス「POSITIONT」について

DirectX11におけるHLSLのセマンティクス「POSITIONT」について

#1

by あみゃ » 5年前

現在、DirectX11での2D描画を目指しています。
以前、DirectX9のときには、以下のように頂点データの使用目的を「POSITIONT」とすることで、頂点シェーダでの処理をスキップすることができました。

コード:

D3DVERTEXELEMENT9 decl[] = {
	{ 0,	0, 					D3DDECLTYPE_FLOAT4, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITIONT, 0 },
	{ 0,	4 * sizeof(float), 	D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD,  0 },
	D3DDECL_END() 
};
同様の処理をDirectX11で実装したいのですが、
以下のように頂点フォーマットを指定しても、頂点シェーダでの処理がスキップされません。

コード:

D3D11_INPUT_ELEMENT_DESC layout[] = {
	{ "POSITIONT", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0,  0, D3D11_INPUT_PER_VERTEX_DATA, 0 },
	{ "COLOR",     0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 16, D3D11_INPUT_PER_VERTEX_DATA, 0 },
};
DirectX11ではPOSITIONTを用いて頂点シェーダをスキップすることはできなくなったのですか?
また、DirectX11においてラスタライザステージ以前の処理をスキップすることは可能ですか?

ページトップ