如何使用最新的 Effect Framework 编译 shader?

How to compile shader with newest Effect Framework?

我通常使用已弃用的 Microsoft DirectX SDK(2010 年 6 月)。我在 github 下载了 vs2015,其中包括最新的 directx sdk 和最新版本的 FX11。现在不知道怎么编译shader

我知道,就是这么简单,一个函数就可以了D3DX11CompileEffectFromFile

//compile shader
    ID3DBlob* errorBlob;
    DWORD shaderFlags = D3DCOMPILE_ENABLE_STRICTNESS;

#if defined _DEBUG || defined DEBUG
    shaderFlags = D3DCOMPILE_DEBUG;
#endif

    hr = D3DX11CompileEffectFromFile(L"color.fx", nullptr, D3D_COMPILE_STANDARD_FILE_INCLUDE, shaderFlags,
        0, m_pd3dDevice, &m_pFx, &errorBlob);
    if (FAILED(hr))
    {
        MessageBox(nullptr, (LPCWSTR)errorBlob->GetBufferPointer(), L"error", MB_OK);
        return hr;
    }

    m_pTechnique = m_pFx->GetTechniqueByName("ColorTech");
    m_pFxWorldViewProj = m_pFx->GetVariableByName("gWorldViewProj")->AsMatrix();