ページ 11

HLSLでグローバル構造体への代入

Posted: 2014年2月26日(水) 20:38
by Milla
HLSL側

コード:


typedef struct _LIGHT{
	float4 Diffuse,
	/*その他 必要な情報*/
}LIGHT;

LIGHT light;

C++側

コード:


LPD3DXEFFECT pEffect; // 実体化済み
D3DLIGHT9    light;

pEffect->SetValue("light", &light, sizeof(D3DLIGHT9));

このような構造体での代入が上手くいきません。
そもそも、これで構造体の代入が可能なんでしょうか?

Re: HLSLでグローバル構造体への代入

Posted: 2014年2月26日(水) 21:28
by milla
解決しました。
D3DVECTOR型の中身がfloat * 3でwが定義されてないことによるサイズ違いでの代入ミスでした。
(HLSL側のposやdirをめんどくさくてfloat4で定義していた)

お騒がせしました。