どうしても自分では解決できないので、質問させていただきます。
以下のプログラムを実行させた時に、CreateMaskScreen()があるときとないときで実行結果が変わってしまうのですが、なぜでしょう?
ほかにもいろいろ試しましたが、どうもCreateMaskScreen()が実行されているときはまともに3D描画ができていないみたいなのですが・・・。
どうか、ご回答お願いします。
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow){
//デバック用のウィンドモード
ChangeWindowMode(TRUE);
SetMainWindowText("test");
SetGraphMode(1024, 768, 32);
if (DxLib_Init() == -1 || SetDrawScreen(DX_SCREEN_BACK)!=0){
return -1;//初期化と裏画面化
}
SetUseZBuffer3D( TRUE ) ;
SetWriteZBuffer3D( TRUE ) ;
//これをコメントアウトするとなぜか結果が変わります
//マスク画像は一回も使用していないので、これが与える効果はないと思うのですが・・・
CreateMaskScreen() ;
DrawTriangle3D(
VGet(512.0f,0.0f, 100.0f),
VGet(0.0f,768.0f, 100.0f),
VGet(1024.0f,768.0f,100.0f), GetColor( 255,0,255 ), true ) ;
DrawTriangle3D(
VGet(512.0f,0.0f, 0.0f),
VGet(0.0f,768.0f, 0.0f),
VGet(1024.0f,768.0f,0.0f), GetColor( 255,0,0 ), true ) ;
DrawSphere3D( VGet( 512.0f, 384.0f, 0.0f ), 80.0f, 32, GetColor( 0,0,255 ), GetColor( 255, 255, 255), TRUE );
DrawTriangle3D(
VGet(512.0f,0.0f, 0.0f),
VGet(0.0f,768.0f, 0.0f),
VGet(1024.0f,768.0f,0.0f), GetColor( 0,0,255 ), true ) ;
DrawSphere3D( VGet( 512.0f, 384.0f, 0.0f ), 80.0f, 32, GetColor( 255,0,0 ), GetColor( 255, 0,255), TRUE );
ScreenFlip();
WaitKey();
InitGraph();
InitSoundMem();
DxLib_End();
return 0;
}