いつもDXライブラリにお世話になっております。
以下の条件下で、DrawTriangleによって表示される「色」が、
想定のものと違って描画される現象を確認しましたので、ご報告させていただきます。
・[環境]ディスプレイのカラーは32bit(True Color)
・DXライブラリはVer3.05a(最新ファイルの更新日時が5/29 14:09頃)
・SetGraphModeでカラービット数を32に設定
・SetUse3DFlag(FALSE);でソフトウェア描画にする
・SetDrawBrightで輝度設定を行う
現象の再現に使用したソースは以下の通りです。
設定通りならば赤色の三角形が描画されると思うのですが、
こちらの環境では、青色の三角形が表示されることを確認しました。
---------------------------------------------
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
// 画面モードを設定
ChangeWindowMode(TRUE) ; // ウィンドウモード
SetGraphMode(640 , 480 , 32);// 【!】 この1行だけをコメントアウトした場合、
// 想定通り赤い三角形が描画されます。
SetUse3DFlag(FALSE); // 【!】 この1行だけをコメントアウトした場合、
// 想定通り赤い三角形が描画されます。
if( DxLib_Init() == -1 ){ return -1;} // DXライブラリ初期化処理
// 輝度を真っ赤に設定
SetDrawBright( 255,0,0 ) ;
// 真っ白の三角形を描画する(上の設定と合わせて赤色で描画される)
DrawTriangle(0,0,100,100,50,200, GetColor(255,255,255) ,TRUE) ;
WaitKey();// キー待ち
DxLib_End() ;// DXライブラリ使用の終了処理
return 0 ;// ソフトの終了
}
---------------------------------------------
【上記ソースの処理で出力された画像】
silversecond.com/tmp/result_bluetriangle.jpg
---------------------------------------------
以上です。
前提条件が厳しいため、ほとんどの人には起きない問題だと思いますので、
余裕がございましたら、ご確認の方、よろしくお願いいたします。