mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-20 05:43:12 +01:00
Fixed MRT clear color.
This commit is contained in:
@@ -1925,30 +1925,34 @@ namespace bgfx { namespace d3d9
|
||||
device->SetVertexShader(program.m_vsh->m_vertexShader);
|
||||
device->SetPixelShader(program.m_fsh->m_pixelShader);
|
||||
|
||||
float mrtClear[BGFX_CONFIG_MAX_FRAME_BUFFER_ATTACHMENTS][4];
|
||||
|
||||
if (BGFX_CLEAR_COLOR_USE_PALETTE & _clear.m_flags)
|
||||
{
|
||||
float mrtClear[BGFX_CONFIG_MAX_FRAME_BUFFER_ATTACHMENTS][4];
|
||||
for (uint32_t ii = 0; ii < numMrt; ++ii)
|
||||
{
|
||||
uint8_t index = (uint8_t)bx::uint32_min(BGFX_CONFIG_MAX_COLOR_PALETTE-1, _clear.m_index[ii]);
|
||||
uint8_t index = (uint8_t)bx::uint32_min(BGFX_CONFIG_MAX_COLOR_PALETTE - 1, _clear.m_index[ii]);
|
||||
memcpy(mrtClear[ii], _palette[index], 16);
|
||||
}
|
||||
|
||||
DX_CHECK(m_device->SetPixelShaderConstantF(0, mrtClear[0], numMrt) );
|
||||
}
|
||||
else
|
||||
{
|
||||
float rgba[4] =
|
||||
{
|
||||
_clear.m_index[0]*1.0f/255.0f,
|
||||
_clear.m_index[1]*1.0f/255.0f,
|
||||
_clear.m_index[2]*1.0f/255.0f,
|
||||
_clear.m_index[3]*1.0f/255.0f,
|
||||
_clear.m_index[0] * 1.0f / 255.0f,
|
||||
_clear.m_index[1] * 1.0f / 255.0f,
|
||||
_clear.m_index[2] * 1.0f / 255.0f,
|
||||
_clear.m_index[3] * 1.0f / 255.0f,
|
||||
};
|
||||
|
||||
DX_CHECK(m_device->SetPixelShaderConstantF(0, rgba, 1) );
|
||||
for (uint32_t ii = 0; ii < numMrt; ++ii)
|
||||
{
|
||||
memcpy(mrtClear[ii], rgba, 16);
|
||||
}
|
||||
}
|
||||
|
||||
DX_CHECK(device->SetPixelShaderConstantF(0, mrtClear[0], numMrt));
|
||||
|
||||
DX_CHECK(device->SetStreamSource(0, vb.m_ptr, 0, stride) );
|
||||
DX_CHECK(device->SetStreamSourceFreq(0, 1) );
|
||||
DX_CHECK(device->SetStreamSource(1, NULL, 0, 0) );
|
||||
|
||||
Reference in New Issue
Block a user