前田稔(Maeda Minoru)の超初心者のプログラム入門
// キューブが読み込まれたら、オブジェクトを描画する準備が完了します。 createCubeTask.then([this] () { m_loadingComplete = true; }); } |
Microsoft::WRL::ComPtr<ID3D11Buffer> m_vertexBuffer; Microsoft::WRL::ComPtr<ID3D11Buffer> m_indexBuffer; ModelViewProjectionConstantBuffer m_constantBufferData; uint32 m_indexCount; |
static const D3D11_INPUT_ELEMENT_DESC vertexDesc [] = { { "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 }, { "NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 }, }; |
static const D3D11_INPUT_ELEMENT_DESC vertexDesc [] = { { "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 }, { "NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 }, { "COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 24, D3D11_INPUT_PER_VERTEX_DATA, 0 }, }; |
App1\Content\Sample3DSceneRenderer.cpp |
App1\Content\Sample3DSceneRenderer.h |
App1\Content\SampleFpsTextRenderer.cpp |
App1\Content\SampleFpsTextRenderer.h |
App1\Content\SamplePixelShader.hlsl |
App1\Content\SampleVertexShader.hlsl |
App1\Content\ShaderStructures.h |
m_main->StartTracking(); if (m_main->IsTracking()) { m_main->TrackingUpdate(e->CurrentPoint->Position.X); } m_main->StopTracking(); |
void Sample3DSceneRenderer::StartTracking() { m_tracking = true; } // 追跡時に、出力画面の幅方向を基準としてポインターの位置を追跡することにより、3D キューブを Y 軸に沿って回転させることができます。 void Sample3DSceneRenderer::TrackingUpdate(float positionX) { if (m_tracking) { float radians = XM_2PI * 2.0f * positionX / m_deviceResources->GetOutputSize().Width; Rotate(radians); } } void Sample3DSceneRenderer::StopTracking() { m_tracking = false; } |