ソースを整理しました

次はプラグインを作るなどと言っておきながら、
今まで作ったソースの整理などやっておりました…


具体的に何をしたかというと、

・コメントを整理。

・namespaceを使用してクラス名を整理。

・文字列操作系のユーティリティクラスを作成
  _tcscpy_s、_tcscmpなどのユニコードにも対応できる関数のラッパー。

・Texture, VertexBufferなど、Direct3D系のクラスは
 Deviceからしかインスタンス化できないように変更。
 これらのクラスは完全にDeviceに依存しているのでそのようにしました。
 初期化はこのようになります。

// 初期化   
{   
    window::WindowManager::CreateInstance();
    window::WindowManager* window_manager = window::WindowManager::GetInstance();

    // ウィンドウクラス登録
    window_manager->RegisterClass( iInstance, WINDOW_CLASS_NAME, CS_OWNDC );

    // ウィンドウコールバッククラス作成
    mWindowCallback = new CMainWindowCallback();

    // ウィンドウ作成
    s32 w = ( CLIENT_WIDTH + SYSTEM_WIDTH );
    s32 h = ( CLIENT_HEIGHT + SYSTEM_HEIGHT );
    mWindow = window_manager->AddWindow(
        iInstance,
        WINDOW_STYLE_WINDOWED,
        WINDOW_EX_STYLE_WINDOWED,
        NULL,
        w,
        h,
        WINDOW_CLASS_NAME,
        WINDOW_TITLE,
        mWindowCallback
    );

    // Direct3Dマネージャ作成
    d3d::DeviceManager::CreateInstance();
    d3d::DeviceManager::GetInstance()->Activate();

    // デバイス作成
    mDeviceId = d3d::DeviceManager::GetInstance()->CreateDevice(
        mWindow->GetHandle(),
        CLIENT_WIDTH,
        CLIENT_HEIGHT,
        true
    );

    d3d::Device* device = d3d::DeviceManager::GetInstance()->GetDevice( mDeviceId );

    // テクスチャ作成
    device->CreateTextureManager();
    d3d::TextureManager* tm = device->GetTextureManager();
    mTextureId0 = tm->Add( __T( "data/test.bmp" ), device, 0xff000000 );

    // スプライト作成
    device->CreateSpriteRenderer();

    // 簡易フォント作成
    device->CreateSimpleFont();
}   



次は今度こそプラグインを作成します。

コメントする

post date*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トラックバックする

トラックバック用URL:

アニメーションが親切に解説されております

レンダリング、ライティングの基本が分かります

図版が見やすい美術解剖書です