バージョンが3.13d以上の
DXライブラリでMV1SetRotationXYZの回転がおかしくなります。
//ソースコード
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int ModelHandle ;
float RotationY = 0.0f;
// ウインドウモードに変更
ChangeWindowMode( TRUE ) ;
// DXライブラリの初期化
if( DxLib_Init() < 0 )
{
// エラーが発生したら直ちに終了
return -1 ;
}
// 描画先画面を裏にする
SetDrawScreen( DX_SCREEN_BACK ) ;
// 3Dモデルの読み込み
ModelHandle = MV1LoadModel( "DxChara.x" ) ;
// 画面に映る位置に3Dモデルを移動
MV1SetPosition( ModelHandle, VGet( 320.0f, -300.0f, 600.0f ) ) ;
// ESCキーが押されるかウインドウが閉じられるまでループ
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 )
{
//画面を初期化
ClearDrawScreen();
// 3DモデルのY軸回転
RotationY += 0.2f;
// 3DモデルのY軸の回転値をセットする(バージョンが3.13d以上だと回転が変になる。)
MV1SetRotationXYZ( ModelHandle, VGet(0.0f, RotationY, 0.0f ) ) ;
// 3Dモデルを描画
MV1DrawModel( ModelHandle ) ;
// 裏画面の内容を表画面に反映します
ScreenFlip() ;
}
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}
バージョンが3.13d以上だと回転が変になります。
3Dモデルを回転し続けると(34秒くらい)
モデルの回転が遅くなったり速くなったりします。
バージョンが3.13b以下だと正常です。
私が書いたプログラムが間違っているでしょうか??
それともDXライブラリのバグでしょうか??
環境はWindows 7 64bit
CPU Core i7 3610QM
RAM 8GB
GPU Intel HD Graphics 4000