I have a basic options menu that, in order to show all the options, is drawn on a different before that buffer's colortexture is drawn:
Buffer* bf_normalBuffer;
Buffer* bf_resizeBuffer;
Texture* tt_drawingTexture;
//At initialization
bf_normalBuffer = Buffer::GetCurrent();
bf_resizeBuffer = Buffer::Create(1600, 900);
//Code within the drawing function itself
Buffer::SetCurrent(bf_resizeBuffer);
bf_resizeBuffer->SetColor(Vec4(0, 0, 0, 0));
bf_resizeBuffer->Clear(bf_resizeBuffer->Color);
Context::GetCurrent()->SetBlendMode(Blend::Alpha);
Context::GetCurrent()->SetColor(Vec4(1, 1, 1, 1));
//Draws text code goes here
//Then switches back
tt_drawingTexture = bf_resizeBuffer->GetColorTexture(0);
Buffer::SetCurrent(bf_normalBuffer);
Context::GetCurrent()->DrawImage(tt_drawingTexture, 0, 0, 1600, 900);
Context::GetCurrent()->SetColor(Vec4(1, 1, 1, 1));
Here's the issue. When using this code (rather than just drawing the text without switching buffers), the text on screen is a lot less fuller, and the color is a lot more washed out.
A comparison:
Versus it with the buffer code
So what exactly is the issue? Is there some setting or aspect of buffers I'm missing?