/// ****************************************************************************
/// @file   
/// @author Dr.Neeton
/// @date   200X/X/X - 2016/12/01
/// 
/// @brief  DirectX  サンプラ周り
/// 
/// ****************************************************************************

#pragma once

#include "CPL_DX_RenderFragment.h"


namespace CPL {
namespace DX {


// _____________________________________________________________________________
/// @brief サンプラステートヘルパークラス
///
// *****************************************************************************
class SamplerState
  : public RenderFragment_i_
{
private:
  DXSamplerState* m_ptr_sampler_state;
  //U32             m_slot_No;

public:
  DXSamplerState* GetDXResource() const { return m_ptr_sampler_state; }
  
  HRESULT Create( _in<DX_SAMPLER_DESC> in_rasterizer_desc );
  //void    SetSlotNo( _in<U32> in_slot_No ){ m_slot_No = in_slot_No; }

  SamplerState(){}
  SamplerState( _in<DX_SAMPLER_DESC> in_rasterizer_desc );
  ~SamplerState();

  HRESULT RenderSetup( DXDeviceContext* in_ptr_d3d_IC );
};


} // namespace DX
} // namespace CPL
