Lesson1 ウインドウ

青色のウインドウを表示します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プログラムの説明

  1. Microsoft が Direct3D tutorial を提供しています。 \(^o^)/
    下記のページからダウンロードして下さい。
    Direct3D-Tutorial-Sample
    【警告】 サンプルフォルダに格納されている Direct3D tutorial は「仕様が古い」ようです。
    これを自動生成されたプログラムの参考にするときは注意して下さい。
    tutorial は float で頂点座標が定義されていますが、自動生成では XMFLOAT が使われています。
    また Shader 関係も要注意で、自動生成と tutorial ではバージョンが違います。 (^_^;)
    Shader の新しい仕様では、エントリーポイントとして main() が定義されています。
    tutorial の Shader を使用するときは「プロパティの画面」からエントリーとバージョンを設定して下さい。
  2. フォルダには Lesson1 ~ Lesson5 の5本のプロジェクトが格納されています。
    Direct3DTutorial.sln から起動して、Lesson1.Basics を右クリックします。
    メニューから「スタートアップ プロジェクトに設定」を選びます。
    そのまま右三角アイコンでコンパイル&実行して下さい。
    青色のウインドウが表示されるだけです。
  3. Main.cpp をダブルクリックして、ソースコードを表示して下さい。
    Run() がメインのメソッドで、この中にレンダリングループが組み込まれています。
        while(true)
        {
            // Process events incoming to the window.
            m_window->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessAllIfPresent);
    
            // Specify the render target we created as the output target.
            m_d3dDeviceContext->OMSetRenderTargets(
                1,
                m_renderTargetView.GetAddressOf(),
                nullptr // use no depth stencil
                );
    
            // Clear the render target to a solid color.
            const float clearColor[4] = { 0.071f, 0.04f, 0.561f, 1.0f };
            m_d3dDeviceContext->ClearRenderTargetView(
                m_renderTargetView.Get(),
                clearColor
                );
    
            // Present the rendered image to the window.  Because the maximum frame latency is set to 1,
            // the render loop will generally be throttled to the screen refresh rate, typically around
            // 60Hz, by sleeping the application on Present until the screen is refreshed.
            DX::ThrowIfFailed(
                m_swapChain->Present(1, 0)
                );
        } 
        
  4. ウインドウの色を緑に変更してみましょう。
    R(赤),G(緑),B(青),A(アルファ) の順に 0.0 ~ 1.0 で指定します。
    【修正前】
        const float clearColor[4] = { 0.071f, 0.04f, 0.561f, 1.0f };
        
    【修正後】
        const float clearColor[4] = { 0.01f, 0.6f, 0.04f, 1.0f };
        

超初心者のプログラム入門(DirectX Store)