设为首页收藏本站新闻投稿

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 0|回复: 0

About-最简单的Window 局部注释日语 [复制链接]

Operation Officer

手をつないで,一緒に暗い道に歩いていく。

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

帖子
2969
精华
11
声望
15198 点
金币
1768 Mold
被赞许
213 次
注册时间
2009-3-16

MTT职员 Mod中国同盟社至高荣誉

发表于 2016-4-14 12:19:47 |显示全部楼层
#include <d3d9.h>
#include <d3dx9.h>
#pragma warning( disable : 4996 ) // 无视一些警告
#include <strsafe.h>
#pragma warning( default : 4996 ) //无视一些警告

#pragma comment(lib,"d3d9.lib")
#pragma comment(lib,"d3dx9.lib")

//-----------------------------------------------------------------
//Global变数
//-----------------------------------------------------------------
LPDIRECT3D9         g_pD3D = NULL; // 用它来做D3DDevice
LPDIRECT3DDEVICE9   g_pd3dDevice = NULL; // Device的保存地址


HRESULT InitD3D( HWND hWnd )
{
    // Create the D3D object, which is needed to create the D3DDevice.
        // D3Dのオブジェクトを作成するために,まずはD3Dデバイスを作成しないといけない
        //为了制作3D,首先得制作D3D的硬伤

        if( NULL == ( g_pD3D = Direct3DCreate9( D3D_SDK_VERSION ) ) )
                return FALSE;

    D3DPRESENT_PARAMETERS d3dpp;                        //(DXのインターフェースを取得する構造体)デバイスを作成するた目の構造体
    ZeroMemory( &d3dpp, sizeof( d3dpp ) );        //内容を初期化する
    d3dpp.Windowed = TRUE;
                                        //スクリーンモードを定義
                                        //true ウィンドウモード falseスクリーンモード
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
                                        //フロントバッファとバックバッファの切り替え方法を定義
                                        //D3DSWAPEFFECT_DISCARDの状態では自動判断する
    d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
                                        //画面のフォーマット情報を格納
                                        //D3DFMT_UNKNOWN にすればOK

        //デバイスを作成する
if( FAILED( g_pD3D->CreateDevice(
         D3DADAPTER_DEFAULT,                        //ディスプレイアダプタの番号 マルチスクリーン
         D3DDEVTYPE_HAL,                                //D3DDEVTYPE列挙型
                                                                        //HALだとグラフィックボード REFだとソフトウェアー描画
         hWnd,                                                        //描画を行うウィンドウハンドルを指定
         D3DCREATE_HARDWARE_VERTEXPROCESSING,//デバイスの作成を制御するオプションフラグ
                                                                                //HARD SOFT MIX 三種類がある
     &d3dpp,                                                        //最初に宣言したDXのインターフェース
         &g_pd3dDevice ) ) )                                //最初に宣言したDXのコンポーネント,作成が成功すれば,この中にデバイスのアドレスが保存される
    {
        return E_FAIL;
    }
return S_OK;
}
//-----------------------------------------------------------------------------
// Name: Cleanup()
// Desc: 終了処理
//-----------------------------------------------------------------------------
VOID Cleanup()
{
    if( g_pd3dDevice != NULL )
        g_pd3dDevice->Release();//コンポーネントを解放

    if( g_pD3D != NULL )
        g_pD3D->Release();//DXインターフェースを解放
}
//-----------------------------------------------------------------------------
// Name: Render()
// Desc: 描画処理
//-----------------------------------------------------------------------------
VOID Render()
{
    if( NULL == g_pd3dDevice )
        return;

    // Clear the backbuffer to a blue color
    g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB( 0, 0, 255 ), 1.0f, 0 );

    // Begin the scene
    if( SUCCEEDED( g_pd3dDevice->BeginScene() ) )
    {
        // Rendering of scene objects can happen here

        // End the scene
        g_pd3dDevice->EndScene();
    }

    // Present the backbuffer contents to the display
    g_pd3dDevice->Present( NULL, NULL, NULL, NULL );
}
//-----------------------------------------------------------------------------
// Name: MsgProc()
// Desc: コールバックプロシージャ
//-----------------------------------------------------------------------------
LRESULT WINAPI MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
    switch( msg )
    {
        case WM_DESTROY:
            Cleanup();
            PostQuitMessage( 0 );
            return 0;

        case WM_PAINT:
            Render();
            ValidateRect( hWnd, NULL );
            return 0;
    }

    return DefWindowProc( hWnd, msg, wParam, lParam );
}
//-----------------------------------------------------------------------------
// Name: wWinMain()
// Desc: The application's entry point
//-----------------------------------------------------------------------------
INT WINAPI wWinMain( HINSTANCE hInst, HINSTANCE, LPWSTR, INT )
{
    UNREFERENCED_PARAMETER( hInst );

    // Register the window classウィンドウをレジスタに登録する
    WNDCLASSEX wc =
    {
        sizeof( WNDCLASSEX ),
                CS_CLASSDC,
                MsgProc,
                0,
                0,
        GetModuleHandle( NULL ),
                NULL,
                NULL,
                NULL,
                NULL,
        "D3D Tutorial", NULL
    };
    RegisterClassEx( &wc );

    // Create the application's window
    HWND hWnd = CreateWindow( "D3D Tutorial", "D3D Tutorial 01: CreateDevice",
                              WS_OVERLAPPEDWINDOW, 100, 100, 300, 300,
                              NULL, NULL, wc.hInstance, NULL );

    // Initialize Direct3D
    if( SUCCEEDED( InitD3D( hWnd ) ) )
    {
        // Show the window
        ShowWindow( hWnd, SW_SHOWDEFAULT );
        UpdateWindow( hWnd );

        // Enter the message loop
        MSG msg;
        while( GetMessage( &msg, NULL, 0, 0 ) )
        {
            TranslateMessage( &msg );
            DispatchMessage( &msg );
        }
    }

    UnregisterClass( "D3D Tutorial", wc.hInstance );
    return 0;
}



假如你想提升自己的英语水品?假设你会敲键盘?假设你对起源这样的大型游戏感兴趣??来medicines Office做翻译吧,翻译官方的教程~Click Here!

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

回顶部