本文整理汇总了C++中std::shared_ptr::Bind方法的典型用法代码示例。如果您正苦于以下问题:C++ shared_ptr::Bind方法的具体用法?C++ shared_ptr::Bind怎么用?C++ shared_ptr::Bind使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类std::shared_ptr
的用法示例。
在下文中一共展示了shared_ptr::Bind方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: safeLoadShader
void safeLoadShader(std::shared_ptr<engine::Program>& shader, VSdata vsd, FSdata fsd) {
try
{
{
auto vs = std::make_shared<engine::VertexShader>(vsd);
auto compResult = vs->Compile();
if (!compResult.empty())
throw std::runtime_error(compResult);
if (!vs)
throw std::runtime_error(vs->Status());
shader->AttachShader(vs);
}
CheckForGLError();
{
auto fs = std::make_shared<engine::FragmentShader>(fsd);
auto compResult = fs->Compile();
if (!compResult.empty())
throw std::runtime_error(compResult);
if (!fs)
throw std::runtime_error(fs->Status());
shader->AttachShader(fs);
}
CheckForGLError();
shader->Link();
CheckForGLError();
if (!shader->Validate())
throw std::runtime_error("Program not valid");
shader->Bind();
CheckForGLError();
shader->SetUniform("Projection", Projection);
CheckForGLError();
}
catch (std::exception const& e) {
BREAKPOINT();
}
}
示例2: texture
Image::Bind::Bind(std::shared_ptr<Texture> texture) :
texture(texture)
{
if (texture)
texture->Bind();
}
示例3: SetEnvironmentMap
void Pathtracer::SetEnvironmentMap(std::shared_ptr<gl::TextureCubemap> _envMap)
{
if(_envMap)
_envMap->Bind(12);
}