本文整理汇总了C++中array::emplace_back方法的典型用法代码示例。如果您正苦于以下问题:C++ array::emplace_back方法的具体用法?C++ array::emplace_back怎么用?C++ array::emplace_back使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类array
的用法示例。
在下文中一共展示了array::emplace_back方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: stop_draw
void rtt::stop_draw() {
check_fbo(current_buffer);
if(current_buffer->anti_aliasing[0] != TEXTURE_ANTI_ALIASING::NONE &&
current_buffer->anti_aliasing[0] != TEXTURE_ANTI_ALIASING::SSAA_2 &&
current_buffer->anti_aliasing[0] != TEXTURE_ANTI_ALIASING::SSAA_4 &&
current_buffer->anti_aliasing[0] != TEXTURE_ANTI_ALIASING::FXAA &&
current_buffer->anti_aliasing[0] != TEXTURE_ANTI_ALIASING::SSAA_4_3_FXAA &&
current_buffer->anti_aliasing[0] != TEXTURE_ANTI_ALIASING::SSAA_2_FXAA) {
if(current_buffer->depth_type == DEPTH_TYPE::RENDERBUFFER ||
current_buffer->depth_type == DEPTH_TYPE::TEXTURE_2D) {
glBindFramebuffer(GL_READ_FRAMEBUFFER, current_buffer->fbo_id);
for(size_t i = 0; i < current_buffer->attachment_count; i++) {
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, current_buffer->resolve_buffer[i]);
#if !defined(FLOOR_IOS) || defined(PLATFORM_X64)
glBlitFramebuffer(0, 0, (int)current_buffer->draw_width, (int)current_buffer->draw_height,
0, 0, (int)current_buffer->draw_width, (int)current_buffer->draw_height,
GL_COLOR_BUFFER_BIT, GL_NEAREST);
#else
glResolveMultisampleFramebufferAPPLE();
#endif
}
#if defined(FLOOR_IOS)
#if !defined(PLATFORM_X64)
// can only have one attachment
static const array<GLenum, 2> discards {{
GL_COLOR_ATTACHMENT0,
GL_DEPTH_ATTACHMENT
}};
#else
// can have multiple color attachments
vector<GLenum> discards {
GL_COLOR_ATTACHMENT0,
GL_DEPTH_ATTACHMENT
};
for(size_t i = 1; i < current_buffer->attachment_count; i++) {
discards.emplace_back(GL_COLOR_ATTACHMENT0 + i);
}
#endif
glInvalidateFramebuffer(GL_READ_FRAMEBUFFER, (int)discards.size(), &discards[0]);
#endif
}
}
for(unsigned int i = 0; i < current_buffer->attachment_count; i++) {
if(current_buffer->auto_mipmap[i]) {
// TODO: fix this
//glBindTexture(current_buffer->target[i], current_buffer->tex[i]);
//glGenerateMipmap(current_buffer->target[i]);
}
}
glBindFramebuffer(GL_FRAMEBUFFER, 0);
}