TeraLib初期化
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
TeraLib初期化です
マウスで視点操作できます
右クリック押しながら動かすと回転します
中ボタンを押しながら動かすと平行移動します
マウスホイールで前進後退します
&ref(init.jpg);
・&ref(template.zip);
ソースファイルはsrcフォルダ
実行ファイルはbinフォルダ
に入れてあります
プロジェクトのパスはTeraLib導入を参考に各自通してください
実行ファイルの方はプロジェクトの設定でコンソールを隠して...
VC++プロジェクトのプロパティのコンソールの隠蔽の項目を参...
main.cpp
#include <directx.h>
class WindowEx : public UtilWindow
{
private:
DirectX dx; // DirectX
public:
// ウィンドウの初期化処理
virtual BOOL OnCreate(HWND hWnd,LPCREATESTRUCT cs){
// ウィンドウの描画領域の取得
RECT rect;
GetClientRect(hWnd,&rect);
// DirectXの作成
dx.Create(hWnd,rect.right - rect.left,rect.bottom - re...
return TRUE;
}
// DirectXの処理(ウィンドウメッセージがないときの処理)
virtual void Idle(){
// 入力の更新
dx.UpdateInputState();
// デバックカメラの更新
dx.UpdateDebugCamera();
// 描画開始
dx.BeginScene();
// 画面のクリア(ARGB色で塗りつぶし)
dx.ScreenClear(0xff808080);
// 軸の描画
dx.DrawAxis(5.0f);
// グリッドの描画
dx.DrawGrid(100.0f);
// 描画終了
dx.EndScene();
// 描画の反映
dx.Present();
}
};
int main()
{
// ウィンドウ作成
WindowEx window;
window.Create(_T("template application"),640,480);
// メッセージループ
Window::MessageLoop();
return 0;
}
directx.hをインクルードしてもらえれば全てのクラスが使える...
UtilWindowクラスを派生したWindowExクラスを作成します
Window::MessageLoop関数でアプリケーション内の全ウィンドウ...
・ウィンドウの初期化処理
・ウィンドウの破棄処理
にはそれぞれ以下のメソッドをオーバライドします
virtual BOOL OnCreate(HWND hWnd,LPCREATESTRUCT cs);
virtual void OnDestroy(HWND hWnd);
初期化や後処理はそれぞれのメソッド内に書きます
ウィンドウ初期化時にDirectXの入力、描画、サウンドのデバイ...
DirectXクラスにはリソース管理、入力、描画、サウンドなど
ほぼ全ての機能を持たせています
DirectXの処理はIdleメソッドをオーバライドして使います
virtual void Idle();
このメソッドはメッセージ処理がない場合はウィンドウが閉じ...
入力状態を更新するためには
dx.UpdateInputState();
を毎回呼び出します
描画処理は
dx.BeginScene();
dx.ScreenClear(色);
と
dx.EndScene();
dx.Present();
との間に行います
終了行:
TeraLib初期化です
マウスで視点操作できます
右クリック押しながら動かすと回転します
中ボタンを押しながら動かすと平行移動します
マウスホイールで前進後退します
&ref(init.jpg);
・&ref(template.zip);
ソースファイルはsrcフォルダ
実行ファイルはbinフォルダ
に入れてあります
プロジェクトのパスはTeraLib導入を参考に各自通してください
実行ファイルの方はプロジェクトの設定でコンソールを隠して...
VC++プロジェクトのプロパティのコンソールの隠蔽の項目を参...
main.cpp
#include <directx.h>
class WindowEx : public UtilWindow
{
private:
DirectX dx; // DirectX
public:
// ウィンドウの初期化処理
virtual BOOL OnCreate(HWND hWnd,LPCREATESTRUCT cs){
// ウィンドウの描画領域の取得
RECT rect;
GetClientRect(hWnd,&rect);
// DirectXの作成
dx.Create(hWnd,rect.right - rect.left,rect.bottom - re...
return TRUE;
}
// DirectXの処理(ウィンドウメッセージがないときの処理)
virtual void Idle(){
// 入力の更新
dx.UpdateInputState();
// デバックカメラの更新
dx.UpdateDebugCamera();
// 描画開始
dx.BeginScene();
// 画面のクリア(ARGB色で塗りつぶし)
dx.ScreenClear(0xff808080);
// 軸の描画
dx.DrawAxis(5.0f);
// グリッドの描画
dx.DrawGrid(100.0f);
// 描画終了
dx.EndScene();
// 描画の反映
dx.Present();
}
};
int main()
{
// ウィンドウ作成
WindowEx window;
window.Create(_T("template application"),640,480);
// メッセージループ
Window::MessageLoop();
return 0;
}
directx.hをインクルードしてもらえれば全てのクラスが使える...
UtilWindowクラスを派生したWindowExクラスを作成します
Window::MessageLoop関数でアプリケーション内の全ウィンドウ...
・ウィンドウの初期化処理
・ウィンドウの破棄処理
にはそれぞれ以下のメソッドをオーバライドします
virtual BOOL OnCreate(HWND hWnd,LPCREATESTRUCT cs);
virtual void OnDestroy(HWND hWnd);
初期化や後処理はそれぞれのメソッド内に書きます
ウィンドウ初期化時にDirectXの入力、描画、サウンドのデバイ...
DirectXクラスにはリソース管理、入力、描画、サウンドなど
ほぼ全ての機能を持たせています
DirectXの処理はIdleメソッドをオーバライドして使います
virtual void Idle();
このメソッドはメッセージ処理がない場合はウィンドウが閉じ...
入力状態を更新するためには
dx.UpdateInputState();
を毎回呼び出します
描画処理は
dx.BeginScene();
dx.ScreenClear(色);
と
dx.EndScene();
dx.Present();
との間に行います
ページ名: