Add an aspect ratio correction flag to VqaPlayerWidget.

This commit is contained in:
Paul Chote
2014-10-08 13:20:42 +13:00
parent df5b7d4497
commit 6b1505b71d
4 changed files with 47 additions and 17 deletions

View File

@@ -19,11 +19,29 @@ namespace OpenRA.Renderer.Sdl2
public class Texture : ITexture
{
int texture;
TextureScaleFilter scaleFilter;
Size size;
public int ID { get { return texture; } }
Size size;
public Size Size { get { return size; } }
public TextureScaleFilter ScaleFilter
{
get
{
return scaleFilter;
}
set
{
if (scaleFilter == value)
return;
scaleFilter = value;
PrepareTexture();
}
}
public Texture()
{
GL.GenTextures(1, out texture);
@@ -45,9 +63,11 @@ namespace OpenRA.Renderer.Sdl2
ErrorHandler.CheckGlError();
GL.BindTexture(TextureTarget.Texture2D, texture);
ErrorHandler.CheckGlError();
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMinFilter.Nearest);
var filter = scaleFilter == TextureScaleFilter.Linear ? (int)TextureMinFilter.Linear : (int)TextureMinFilter.Nearest;
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, filter);
ErrorHandler.CheckGlError();
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Nearest);
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, filter);
ErrorHandler.CheckGlError();
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (float)TextureWrapMode.ClampToEdge);