コード例 #1
0
ファイル: D3DResource.cpp プロジェクト: afedchin/xbmc
void CD3DVertexShader::Release()
{
  g_Windowing.Unregister(this);
  ReleaseShader();
  SAFE_RELEASE(m_VSBuffer);
  SAFE_DELETE_ARRAY(m_vertexLayout);
}
コード例 #2
0
ファイル: D3DResource.cpp プロジェクト: afedchin/xbmc
bool CD3DVertexShader::Create(const std::wstring& vertexFile, D3D11_INPUT_ELEMENT_DESC* vertexLayout, unsigned int vertexLayoutSize)
{
  ReleaseShader();

  ID3D11Device* pDevice = g_Windowing.Get3D11Device();

  if (!pDevice)
    return false;

  if (FAILED(D3DReadFileToBlob(vertexFile.c_str(), &m_VSBuffer)))
  {
    CLog::Log(LOGERROR, __FUNCTION__ " - Failed to load the vertex shader.");
    return false;
  }

  if (vertexLayout && vertexLayoutSize)
  {
    m_vertexLayoutSize = vertexLayoutSize;
    m_vertexLayout = new D3D11_INPUT_ELEMENT_DESC[vertexLayoutSize];
    for (unsigned int i = 0; i < vertexLayoutSize; ++i)
      m_vertexLayout[i] = vertexLayout[i];
  }
  else
    return false;

  m_inited = CreateInternal();

  if (m_inited)
    g_Windowing.Register(this);

  return m_inited;
}
コード例 #3
0
ファイル: D3DResource.cpp プロジェクト: afedchin/xbmc
bool CD3DVertexShader::Create(const void* code, size_t codeLength, D3D11_INPUT_ELEMENT_DESC* vertexLayout, unsigned int vertexLayoutSize)
{
  ReleaseShader();

  ID3D11Device* pDevice = g_Windowing.Get3D11Device();

  if (!pDevice)
    return false;

  // trick to load bytecode into ID3DBlob
  if (FAILED(D3DStripShader(code, codeLength, D3DCOMPILER_STRIP_REFLECTION_DATA, &m_VSBuffer)))
  {
    CLog::Log(LOGERROR, __FUNCTION__ " - Failed to load the vertex shader.");
    return false;
  }

  if (vertexLayout && vertexLayoutSize)
  {
    m_vertexLayoutSize = vertexLayoutSize;
    m_vertexLayout = new D3D11_INPUT_ELEMENT_DESC[vertexLayoutSize];
    for (unsigned int i = 0; i < vertexLayoutSize; ++i)
      m_vertexLayout[i] = vertexLayout[i];
  }
  else
    return false;

  m_inited = CreateInternal();

  if (m_inited)
    g_Windowing.Register(this);

  return m_inited;
}
コード例 #4
0
ファイル: Loop.c プロジェクト: chunkyguy/EWOGL
void Unload() {
 /* Reset gl states */
 glDisable(GL_DEPTH_TEST);
 
 ReleaseShader(&g_Shader);
 for (int i = 0; i < 2; ++i) {
  ReleaseMesh(&g_Mesh[i]);
 }
}
コード例 #5
0
/// \brief	The Initialization for the Object
/// \param	IManager* pManager: Parent Manager
void  CVertexShader::Init()
{
	StdString infile = GetName()->GetString();
	GetStringFromFile( infile, m_Code );

	ReleaseShader();

	LoadVariant( NULL, true );
}
コード例 #6
0
ファイル: D3DResource.cpp プロジェクト: afedchin/xbmc
bool CD3DPixelShader::Create(const std::wstring& wstrFile)
{
  ReleaseShader();

  ID3D11Device* pDevice = g_Windowing.Get3D11Device();

  if (!pDevice)
    return false;

  if (FAILED(D3DReadFileToBlob(wstrFile.c_str(), &m_PSBuffer)))
  {
    CLog::Log(LOGERROR, __FUNCTION__ " - Failed to load the vertex shader.");
    return false;
  }

  m_inited = CreateInternal();

  if (m_inited)
    g_Windowing.Register(this);

  return m_inited;
}
コード例 #7
0
ファイル: D3DResource.cpp プロジェクト: afedchin/xbmc
bool CD3DPixelShader::Create(const void* code, size_t codeLength)
{
  ReleaseShader();

  ID3D11Device* pDevice = g_Windowing.Get3D11Device();

  if (!pDevice)
    return false;

  // trick to load bytecode into ID3DBlob
  if (FAILED(D3DStripShader(code, codeLength, D3DCOMPILER_STRIP_REFLECTION_DATA, &m_PSBuffer)))
  {
    CLog::Log(LOGERROR, __FUNCTION__ " - Failed to load the vertex shader.");
    return false;
  }

  m_inited = CreateInternal();

  if (m_inited)
    g_Windowing.Register(this);

  return m_inited;
}
コード例 #8
0
ファイル: D3DResource.cpp プロジェクト: afedchin/xbmc
void CD3DPixelShader::OnDestroyDevice(bool fatal)
{
  ReleaseShader();
}
コード例 #9
0
ファイル: D3DResource.cpp プロジェクト: afedchin/xbmc
void CD3DPixelShader::Release()
{
  g_Windowing.Unregister(this);
  ReleaseShader();
  SAFE_RELEASE(m_PSBuffer);
}
コード例 #10
0
ファイル: D3DResource.cpp プロジェクト: afedchin/xbmc
void CD3DVertexShader::OnDestroyDevice(bool fatal)
{
  ReleaseShader();
}
コード例 #11
0
ファイル: D3DResource.cpp プロジェクト: Greihawk/xbmc
void CD3DVertexShader::OnDestroyDevice()
{
  ReleaseShader();
}
コード例 #12
0
ファイル: D3DResource.cpp プロジェクト: Greihawk/xbmc
void CD3DPixelShader::OnDestroyDevice()
{
  ReleaseShader();
}
コード例 #13
0
void CMultCTextureShader::Release()
{
	ReleaseShader();
}
コード例 #14
0
/// \brief	The DeInit Function for the Object
void CVertexShader::DeInit()
{
	ReleaseShader();
}