Implement texture buffers (#1152)
* Implement texture buffers * Throw NotSupportedException where appropriate
This commit is contained in:
parent
a065dc1626
commit
3cb1fa0e85
16 changed files with 291 additions and 135 deletions
39
Ryujinx.Graphics.OpenGL/TextureBase.cs
Normal file
39
Ryujinx.Graphics.OpenGL/TextureBase.cs
Normal file
|
@ -0,0 +1,39 @@
|
|||
using OpenTK.Graphics.OpenGL;
|
||||
using Ryujinx.Graphics.GAL;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Ryujinx.Graphics.OpenGL
|
||||
{
|
||||
class TextureBase
|
||||
{
|
||||
public int Handle { get; protected set; }
|
||||
|
||||
protected TextureCreateInfo Info { get; }
|
||||
|
||||
public int Width => Info.Width;
|
||||
public int Height => Info.Height;
|
||||
|
||||
public Target Target => Info.Target;
|
||||
public Format Format => Info.Format;
|
||||
|
||||
public TextureBase(TextureCreateInfo info)
|
||||
{
|
||||
Info = info;
|
||||
|
||||
Handle = GL.GenTexture();
|
||||
}
|
||||
|
||||
public void Bind(int unit)
|
||||
{
|
||||
Bind(Target.Convert(), unit);
|
||||
}
|
||||
|
||||
protected void Bind(TextureTarget target, int unit)
|
||||
{
|
||||
GL.ActiveTexture(TextureUnit.Texture0 + unit);
|
||||
GL.BindTexture(target, Handle);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue