> DxLibModelViewerではマテリアル項目の拡散光から、輝度を0にし黒い状態にすることが出来ます。
> このような色の変化をプログラム上から変更したいのですが可能でしょうか?
はい、可能です
例えば以下のように全てのマテリアルに対して拡散光を 0 にすることで
DxLibModelViewer で各マテリアルの拡散光の輝度を 0 にしたのと同等の効果を得ることが出来ます
( アルファだけは 1.0f にしてあります )
// マテリアルの数だけ繰り返し
for( int i = 0; i < MV1GetMaterialNum( ModelHandle ); i++ )
{
// 拡散光を0にする
MV1SetMaterialDifColor( ModelHandle, i, GetColorF( 0.0f, 0.0f, 0.0f, 1.0f ) );
}
関数の説明についてはこちらをご覧ください m(_ _)m
// モデルで使用しているマテリアルの数を取得する
int MV1GetMaterialNum( int MHandle ) ;
https://dxlib.xsrv.jp/function/dxfunc_3d_model_1.html#R5N1
// 指定のマテリアルのディフューズカラーを変更する
int MV1SetMaterialDifColor( int MHandle, int MaterialIndex, COLOR_F Color ) ;
https://dxlib.xsrv.jp/function/dxfunc_3d_model_1.html#R5N3