text: //*********************************************************
  //
  // Copyright (c) Microsoft. All rights reserved.
  // This code is licensed under the MIT License (MIT).
  // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
  // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
  // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
  // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
  //
  //*********************************************************
  
  #pragma once
  
  namespace HolographicTagAlongSample
  {
      // Constant buffer used to send per-hologram data to the shader pipeline.
      struct ModelConstantBuffer
      {
          DirectX::XMFLOAT4X4 model;
          DirectX::XMFLOAT4   hologramColorFadeMultiplier;
      };
  
      // Assert that the constant buffer remains 16-byte aligned (best practice).
      // If shader structure members are not aligned to a 4-float boundary, data may 
      // not show up where it is expected by the time it is read by the shader.
      static_assert((sizeof(ModelConstantBuffer) % (sizeof(float) * 4)) == 0, "Model constant buffer size must be 16-byte aligned (16 bytes is the length of four floats).");
  
  
      // Used to send per-vertex data to the vertex shader.
      struct VertexPositionColorTex
      {
          DirectX::XMFLOAT3 pos;
          DirectX::XMFLOAT3 color;
          DirectX::XMFLOAT2 texCoord;
      };
  }