Allow FrameBuffer clear color to be customized.

This commit is contained in:
Paul Chote
2019-08-31 18:21:30 +01:00
committed by teinarss
parent 09dd66fd5a
commit d2298b6f04
4 changed files with 27 additions and 7 deletions

View File

@@ -86,7 +86,13 @@ namespace OpenRA.Platforms.Default
doPresent = () => context.Present();
getGLVersion = () => context.GLVersion;
getCreateTexture = () => new ThreadedTexture(this, (ITextureInternal)context.CreateTexture());
getCreateFrameBuffer = s => new ThreadedFrameBuffer(this, context.CreateFrameBuffer((Size)s, (ITextureInternal)CreateTexture()));
getCreateFrameBuffer =
tuple =>
{
var t = (Tuple<Size, Color>)tuple;
return new ThreadedFrameBuffer(this,
context.CreateFrameBuffer(t.Item1, (ITextureInternal)CreateTexture(), t.Item2));
};
getCreateShader = name => new ThreadedShader(this, context.CreateShader((string)name));
getCreateVertexBuffer = length => new ThreadedVertexBuffer(this, context.CreateVertexBuffer((int)length));
doDrawPrimitives =
@@ -384,7 +390,12 @@ namespace OpenRA.Platforms.Default
public IFrameBuffer CreateFrameBuffer(Size s)
{
return Send(getCreateFrameBuffer, s);
return Send(getCreateFrameBuffer, Tuple.Create(s, Color.FromArgb(0)));
}
public IFrameBuffer CreateFrameBuffer(Size s, Color clearColor)
{
return Send(getCreateFrameBuffer, Tuple.Create(s, clearColor));
}
public IShader CreateShader(string name)