Fixed swapped R and B in DX11 and OpenGL video capture

Added missing swizzle for RGBA to BGRA (copied from saveScreenShot).
This commit is contained in:
Stephen Hill 2016-01-10 22:55:33 -05:00
parent aef3b07508
commit c386fca176
2 changed files with 12 additions and 0 deletions

View File

@ -3081,6 +3081,13 @@ BX_PRAGMA_DIAGNOSTIC_POP();
D3D11_MAPPED_SUBRESOURCE mapped;
DX_CHECK(m_deviceCtx->Map(m_captureTexture, 0, D3D11_MAP_READ, 0, &mapped) );
imageSwizzleBgra8(getBufferWidth()
, getBufferHeight()
, mapped.RowPitch
, mapped.pData
, mapped.pData
);
g_callback->captureFrame(mapped.pData, getBufferHeight()*mapped.RowPitch);
m_deviceCtx->Unmap(m_captureTexture, 0);

View File

@ -2899,6 +2899,11 @@ namespace bgfx { namespace gl
, m_capture
) );
if (GL_RGBA == m_readPixelsFmt)
{
imageSwizzleBgra8(m_resolution.m_width, m_resolution.m_height, m_resolution.m_width*4, m_capture, m_capture);
}
g_callback->captureFrame(m_capture, m_captureSize);
}
}