03.モデルDirect3Dレンダラクラスを作る

    
    モデル描画に関する処理を担うモデルDirect3Dレンダラクラスを、トラックDirect3Dレンダラクラスの派生クラスとして作成します。
プロジェクトを開く
02.で作成したモデルビューワプロジェクトを開きます。
モデルデータ構造の作成
「メニュー/プロジェクト/新しい項目の追加」でファイル名「ModelDataStructure.h」のファイルを作成します。
    
    
    テンプレート:ヘッダーファイル
    ファイル名:ModelDataStructure.h
    で追加ボタンを押します。
    
    ModelDataStructure.hの内容を以下のようにします。
    
    
    
    ビルドし、エラー、警告がないことを確認します。
モデルDirect3Dレンダラクラスの作成
「メニュー/プロジェクト/クラスの追加」でクラス名「CDirect3DRendererModel」のクラスを作成します。
    
    
    テンプレート:C++ クラス
    で追加ボタンを押します。
    
    
    クラス名:CDirect3DRendererModel
    基本クラス:CDirect3DRendererTrack
    で完了ボタンを押します。
    
    ビルドし、エラー、警告がないことを確認します。
メンバ変数、メンバ関数の宣言の追加
Direct3DRendererModel.h のモデルDirect3Dレンダラクラス定義の前に
    モデルデータ構造定義ファイルのインクルード
    を追加します。
    Direct3DRendererModel.h のモデルDirect3Dレンダラクラス定義にメンバ変数、メンバ関数の宣言を追加します。
    
    
    
    ビルドし、エラー、警告がないことを確認します。
モデルデータ構築処理の追加
Direct3DRendererModel.cpp のモデルDirect3Dレンダラクラスのコンストラクタにモデルデータ構築処理を追加します。
    
    
    
    ビルドし、エラー、警告がないことを確認します。
RenderScene関数のオーバーライド
モデルDirect3Dレンダラクラスにモデル描画を考慮した描画処理 RenderScene関数 をオーバーライドします。
    
    Direct3DRendererModel.cpp の末尾にRenderScene関数の定義を追加します。
    
    
    
    Direct3DRendererBase.h のベースDirect3Dレンダラクラスのメンバ関数
    RenderScene
    をprotected関数、さらにvirtual関数とします。
    
    
    
    ビルドし、エラー、警告がないことを確認します。
Direct3Dリソースの構築関数、破棄関数のオーバーライド
モデルDirect3Dレンダラクラスにモデル描画処理を考慮したDirect3Dリソース構築処理RestoreDirect3DResource関数、Direct3Dリソース破棄処理DestroyDirect3DResource関数
    をオーバーライドします。
    
    Direct3DRendererModel.cpp の末尾にRestoreDirect3DResource関数、DestroyDirect3DResource関数の定義を追加します。
    
    
    
    Direct3DRendererBase.h のベースDirect3Dレンダラクラスのメンバ関数
    RestoreDirect3DResource
    DestroyDirect3DResource
    をprotected関数、さらにvirtual関数とします。
    
    
    
    ビルドし、エラー、警告がないことを確認します。
レンダラオブジェクトのクラスの変更
ModelViewer.cpp の
    #include "Direct3DRendererTrack.h"
    を
    #include "Direct3DRendererModel.h"
    に、
    CDirect3DRendererTrack d3drenderer;
    を
    CDirect3DRendererModel d3drenderer;
    に変更します。
    
    
    
    ビルドし、エラー、警告がないことを確認します。
実行
実行し、04.で作成したモデルビューワプログラムと同じ結果になることを確認します。
    
    実行結果
    
ダウンロード
実行形式ファイルダウンロード (ModelViewerDirect3DWinAPI2008_03_exe.lzh)
    
    ソースファイルダウンロード (ModelViewerDirect3DWinAPI2008_03_src.lzh)

