本文整理汇总了C++中ProgramFactory::CreateFromSources方法的典型用法代码示例。如果您正苦于以下问题:C++ ProgramFactory::CreateFromSources方法的具体用法?C++ ProgramFactory::CreateFromSources怎么用?C++ ProgramFactory::CreateFromSources使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProgramFactory
的用法示例。
在下文中一共展示了ProgramFactory::CreateFromSources方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mWindowWidth
OverlayEffect::OverlayEffect(ProgramFactory& factory, int windowWidth,
int windowHeight, int textureWidth, int textureHeight,
SamplerState::Filter filter, SamplerState::Mode mode0,
SamplerState::Mode mode1, bool useColorPShader)
:
mWindowWidth(static_cast<float>(windowWidth)),
mWindowHeight(static_cast<float>(windowHeight))
{
Initialize(windowWidth, windowHeight, textureWidth, textureHeight);
int i = factory.GetAPI();
std::string psSource =
(useColorPShader ? *msPSColorSource[i] : *msPSGraySource[i]);
mProgram = factory.CreateFromSources(*msVSSource[i], psSource, "");
if (mProgram)
{
std::shared_ptr<SamplerState> sampler =
std::make_shared<SamplerState>();
sampler->filter = filter;
sampler->mode[0] = mode0;
sampler->mode[1] = mode1;
mProgram->GetPShader()->Set("imageSampler", sampler);
mEffect = std::make_shared<VisualEffect>(mProgram);
}
}
示例2: mPVWMatrix
VertexColorEffect::VertexColorEffect(ProgramFactory& factory)
:
mPVWMatrix(nullptr)
{
int i = factory.GetAPI();
mProgram = factory.CreateFromSources(*msVSSource[i], *msPSSource[i], "");
if (mProgram)
{
mPVWMatrixConstant = std::make_shared<ConstantBuffer>(
sizeof(Matrix4x4<float>), true);
mPVWMatrix = mPVWMatrixConstant->Get<Matrix4x4<float>>();
*mPVWMatrix = Matrix4x4<float>::Identity();
mProgram->GetVShader()->Set("PVWMatrix", mPVWMatrixConstant);
}
}