void CD3DVertexShader::Release() { g_Windowing.Unregister(this); ReleaseShader(); SAFE_RELEASE(m_VSBuffer); SAFE_DELETE_ARRAY(m_vertexLayout); }
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; }
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; }
void Unload() { /* Reset gl states */ glDisable(GL_DEPTH_TEST); ReleaseShader(&g_Shader); for (int i = 0; i < 2; ++i) { ReleaseMesh(&g_Mesh[i]); } }
/// \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 ); }
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; }
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; }
void CD3DPixelShader::OnDestroyDevice(bool fatal) { ReleaseShader(); }
void CD3DPixelShader::Release() { g_Windowing.Unregister(this); ReleaseShader(); SAFE_RELEASE(m_PSBuffer); }
void CD3DVertexShader::OnDestroyDevice(bool fatal) { ReleaseShader(); }
void CD3DVertexShader::OnDestroyDevice() { ReleaseShader(); }
void CD3DPixelShader::OnDestroyDevice() { ReleaseShader(); }
void CMultCTextureShader::Release() { ReleaseShader(); }
/// \brief The DeInit Function for the Object void CVertexShader::DeInit() { ReleaseShader(); }