本文整理汇总了C++中CPUTAssetLibraryDX11::AddVertexShader方法的典型用法代码示例。如果您正苦于以下问题:C++ CPUTAssetLibraryDX11::AddVertexShader方法的具体用法?C++ CPUTAssetLibraryDX11::AddVertexShader怎么用?C++ CPUTAssetLibraryDX11::AddVertexShader使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPUTAssetLibraryDX11
的用法示例。
在下文中一共展示了CPUTAssetLibraryDX11::AddVertexShader方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ASSERT
//--------------------------------------------------------------------------------------
CPUTVertexShaderDX11 *CPUTVertexShaderDX11::CreateVertexShaderFromMemory(
const cString &name,
ID3D11Device *pD3dDevice,
const cString &shaderMain,
const cString &shaderProfile,
const char *pShaderSource
)
{
ID3DBlob *pCompiledBlob = NULL;
ID3D11VertexShader *pNewVertexShader = NULL;
CPUTAssetLibraryDX11 *pAssetLibrary = (CPUTAssetLibraryDX11*)CPUTAssetLibrary::GetAssetLibrary();
CPUTResult result = pAssetLibrary->CompileShaderFromMemory(pShaderSource, shaderMain, shaderProfile, &pCompiledBlob);
ASSERT( CPUTSUCCESS(result), _L("Error compiling vertex shader:\n\n") );
// Create the vertex shader
// TODO: Move to vertex shader class
HRESULT hr = pD3dDevice->CreateVertexShader( pCompiledBlob->GetBufferPointer(), pCompiledBlob->GetBufferSize(), NULL, &pNewVertexShader );
ASSERT( SUCCEEDED(hr), _L("Error creating vertex shader:\n\n") );
// cString DebugName = _L("CPUTAssetLibraryDX11::GetVertexShader ")+name;
// CPUTSetDebugName(pNewVertexShader, DebugName);
CPUTVertexShaderDX11 *pNewCPUTVertexShader = new CPUTVertexShaderDX11( pNewVertexShader, pCompiledBlob );
// add shader to library
pAssetLibrary->AddVertexShader(name + shaderMain + shaderProfile, pNewCPUTVertexShader);
// pNewCPUTVertexShader->Release(); // We've added it to the library, so release our reference
// return the shader (and blob)
return pNewCPUTVertexShader;
}