【C++】 DirectX初心者質問スレ Part23 【C】
■ このスレッドは過去ログ倉庫に格納されています
0128デフォルトの名無しさん
2009/05/26(火) 23:34:18データを見てみました。
D3DXLoadMeshFromXで読み込んだところ、
メッシュのFVFは( D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_DIFFUSE )になり、
メッシュ内の頂点バッファのデータにも頂点色(Diffuse)が存在しました。
(Xファイル内の頂点色と同じ値でした)
また、DrawSubsetによる描画でも頂点色が反映されました。
ただし、Ambientは頂点データに存在しないのでマテリアルのものが使われました。
(陰の部分に頂点色が反映されない)
あと、2個目のサブセットのマテリアルのEmissiveに、黒以外の値が入っているので
描画時にそれが使われて自己発光していました。(白っぽく表示された)
ということで…、
pDevice->SetRenderState( D3DRS_AMBIENTMATERIALSOURCE, D3DMCS_COLOR1 );
で、頂点色(Diffuse)をAmbientとして使う設定にし、
マテリアルのEmissiveを黒(0.0f, 0.0f, 0.0f, 1.0f)にすれば、
たぶん>107さんが意図している表示になると思います。
■ このスレッドは過去ログ倉庫に格納されています