// 描画。 void Draw() { if (_flags.is(FRAME_SKIP) || _device.IsScreenOccluded()) { // noop } else { _renderer.Clear(true, true, false, Color::BLUE); DrawSprite(); DrawModel(); int y = 0, h = _device.GetFontHeight(_renderer.GetDefaultFont()); _renderer.DrawText(0, y, Color::WHITE, _T("Test")); y += h; _renderer.DrawText(0, y, Color::GREEN, _T("FPS=%.2f (%.2fms)"), _frameRateController.GetCurrentFPS(), _frameRateController.GetElapsedTime() * 1000.f ); y += h; } _renderer.Present(); }
// 描画。 void Draw() { if (_flags.is(FRAME_SKIP) || _device.IsScreenOccluded()) { // noop } else { _renderer.Clear(true, true, false, Color::BLUE); D3DXMATRIX mWorld; { _pmd.SetMotion(_motionTimer.GetTime() * 1.0f); //D3DXMatrixIdentity(&mWorld); static float angle = 0.f; // angle += _frameRateController.GetElapsedTime() * 0.5f; D3DXMatrixRotationY(&mWorld, angle); _pmd.SetWorldMatrix(mWorld); if (!_flags.is(INVALID_MESH_DRAW)) _pmd.Draw(_renderer); if (!_flags.is(INVALID_BONE_DRAW)) _pmd.DrawBone(_renderer); } int y = 0, h = _device.GetFontHeight(_renderer.GetDefaultFont()); _renderer.DrawText(0, y, Color::GREEN, _T("FPS=%.2f (%.2fms)"), _frameRateController.GetCurrentFPS(), _frameRateController.GetElapsedTime() * 1000.f ); y += h; _renderer.DrawText(0, y, Color::WHITE, _T("Frame=%u / Time=%.2f"), _pmd.GetMotionKeyFrame(), _pmd.GetMotionTime()); y += h; _renderer.DrawText(0, y, Color::WHITE, _T("[F2] メッシュ描画=") TFMT_BOOL, format_bool(!_flags.is(INVALID_MESH_DRAW))); y += h; _renderer.DrawText(0, y, Color::WHITE, _T("[F3] ボーン描画=") TFMT_BOOL, format_bool(!_flags.is(INVALID_BONE_DRAW))); y += h; _renderer.DrawText(0, y, Color::WHITE, _T("[F4] モーションリスタート")); y += h; _renderer.DrawText(0, y, Color::WHITE, _T("[F5] モーションループ=") TFMT_BOOL, format_bool(_pmd.GetMotionLoop())); y += h; const TCHAR* pInterpolationMethod = _T("無し"); if (_pmd.IsLinearInterpolation()) pInterpolationMethod = _T("線形補間"); if (_pmd.IsUseParameterInterpolation()) pInterpolationMethod = _T("パラメータ使用(ベジェ曲線+線形補間)"); _renderer.DrawText(0, y, Color::WHITE, _T("[F6] モーション補間=%s"), pInterpolationMethod); y += h; } _renderer.Present(); }
// 描画。 void Draw() { if (_flags.is(FRAME_SKIP) || _device.IsScreenOccluded()) { // noop } else { _renderer.Clear(true, true, false, Color::BLUE); D3DXMATRIX mWorld; { //D3DXMatrixIdentity(&mWorld); static float angle = 0.f; angle += _frameRateController.GetElapsedTime() * 0.5f; D3DXMatrixRotationY(&mWorld, angle); _pmd.SetWorldMatrix(mWorld); if (!_flags.is(INVALID_MESH_DRAW)) _pmd.Draw(_renderer); if (!_flags.is(INVALID_BONE_DRAW)) _pmd.DrawBone(_renderer); } int y = 0, h = _device.GetFontHeight(_renderer.GetDefaultFont()); _renderer.DrawText(0, y, Color::WHITE, _T("Test")); y += h; _renderer.DrawText(0, y, Color::GREEN, _T("FPS=%.2f (%.2fms)"), _frameRateController.GetCurrentFPS(), _frameRateController.GetElapsedTime() * 1000.f ); y += h; _renderer.DrawText(0, y, Color::WHITE, _T("メッシュ描画[F2]=") TFMT_BOOL, format_bool(!_flags.is(INVALID_MESH_DRAW))); y += h; _renderer.DrawText(0, y, Color::WHITE, _T("ボーン描画[F3]=") TFMT_BOOL, format_bool(!_flags.is(INVALID_BONE_DRAW))); y += h; } _renderer.Present(); }