Files
Prism/Prism-ScriptCore/Src/Prism/Renderer/Texture2D.cs

34 lines
943 B
C#

using System.Runtime.CompilerServices;
namespace Prism
{
public class Texture2D
{
public Texture2D(uint width, uint height)
{
m_UnmanagedInstance = Constructor_Native(width, height);
}
~Texture2D()
{
Destructor_Native(m_UnmanagedInstance);
}
public void SetData(Vec4[] data)
{
SetData_Native(m_UnmanagedInstance, data, data.Length);
}
internal IntPtr m_UnmanagedInstance;
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern IntPtr Constructor_Native(uint width, uint height);
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern void Destructor_Native(IntPtr unmanagedInstance);
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern void SetData_Native(IntPtr unmanagedInstance, Vec4[] data, int size);
}
}