/// ****************************************************************************
/// @file   
/// @author Dr.Neeton
/// @date   200X/X/X - 2014/01/24
/// 
/// @brief  DirectX ラスタライザ関連。
/// 
/// ****************************************************************************

#pragma once

#include "CPL_DX_RenderFragment.h"

namespace CPL {
namespace DX {


// _____________________________________________________________________________
/// @brief ラスタライザステートヘルパークラス
///
// *****************************************************************************
class RasterizerState
  : public RenderFragment_i_
{
private:
  DXRasterizerState* m_ptr_rasterizer_state;

public:
  DXRasterizerState* GetDXResource() const { return m_ptr_rasterizer_state; }

  HRESULT Create( _in<DX_RASTERIZER_DESC> in_rasterizer_desc );

  RasterizerState( _in<DX_RASTERIZER_DESC> in_rasterizer_desc );
  ~RasterizerState();

  HRESULT RenderSetup( DXDeviceContext* in_ptr_d3d_IC );
};


} // namespace DX
} // namespace CPL
