Fixed blit of framebuffer

This commit is contained in:
Bruno
2021-04-25 01:27:32 +02:00
parent c7962abfbb
commit c5ee77e969

View File

@@ -227,13 +227,17 @@ void FrameBuffer::readPixels(uint8_t *target_data)
bool FrameBuffer::blit(FrameBuffer *destination)
{
if (!framebufferid_ || !destination)
if (!framebufferid_ || !destination || (use_alpha_ != destination->use_alpha_) )
return false;
if (!destination->framebufferid_)
destination->init();
glBindFramebuffer(GL_READ_FRAMEBUFFER, framebufferid_);
if (use_multi_sampling_)
glBindFramebuffer(GL_READ_FRAMEBUFFER, intermediate_framebufferid_);
else
glBindFramebuffer(GL_READ_FRAMEBUFFER, framebufferid_);
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, destination->framebufferid_);
// blit to the frame buffer object
glBlitFramebuffer(0, 0, attrib_.viewport.x, attrib_.viewport.y,