当前位置: 首页>>代码示例>>C++>>正文


C++ ComPtr::PSSetShader方法代码示例

本文整理汇总了C++中microsoft::wrl::ComPtr::PSSetShader方法的典型用法代码示例。如果您正苦于以下问题:C++ ComPtr::PSSetShader方法的具体用法?C++ ComPtr::PSSetShader怎么用?C++ ComPtr::PSSetShader使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在microsoft::wrl::ComPtr的用法示例。


在下文中一共展示了ComPtr::PSSetShader方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Draw

void Shader::Draw(const Microsoft::WRL::ComPtr<ID3D11DeviceContext> &pDeviceContext)
{
    // VS
    pDeviceContext->VSSetShader(m_pVsh.Get(), NULL, 0);

    // PS
    pDeviceContext->PSSetShader(m_pPsh.Get(), NULL, 0);

	// 定数バッファ
	m_constant->UpdateCB(pDeviceContext);
	m_constant->SetCB(pDeviceContext);

	// Texture
	{
		auto v = m_constant->GetSRV("diffuseTexture");
		m_constant->SetSRV(pDeviceContext, v, m_texture->GetSRV());
	}
	{
		auto v = m_constant->GetSampler("diffuseTextureSampler");
		m_constant->SetSampler(pDeviceContext, v, m_texture->GetSampler());
	}

    // IA InputLayout
    pDeviceContext->IASetInputLayout(m_pInputLayout.Get());
    m_IASource->Draw(pDeviceContext);
}
开发者ID:HatsuneMiku,项目名称:MinTriangle,代码行数:26,代码来源:shader.cpp

示例2: glUseProgram

void glUseProgram(GLuint program)
{
    if( program > 1 )
        int bp = 1;
    int vsindex = g_D3DShaderProgramArray[program-1].m_VertexShaderIndex;
    int fsindex = g_D3DShaderProgramArray[program-1].m_FragmentShaderIndex;

    if( vsindex > 5 || vsindex < 0 )
        int bp = 1;

    if( fsindex > 5 || fsindex < 0 )
        int bp = 1;

    if( g_D3DShaderArray[vsindex].m_pVertexShader )
        g_pD3DContext->VSSetShader( g_D3DShaderArray[vsindex].m_pVertexShader.Get(), nullptr, 0 );
    if( g_D3DShaderArray[fsindex].m_pFragmentShader )
        g_pD3DContext->PSSetShader( g_D3DShaderArray[fsindex].m_pFragmentShader.Get(), nullptr, 0 );
}
开发者ID:pmeneguzzi,项目名称:MyFramework,代码行数:18,代码来源:DXWrapper.cpp


注:本文中的microsoft::wrl::ComPtr::PSSetShader方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。