Texture類繼承自Object是作爲一個Texture2D與Texture3D的基類存在的,一般也並不直接使用它,且其本身也並沒有對紋理數據的管理,只有一個,就是獲取紋理的id
using System;
using System.Runtime.CompilerServices;
namespace UnityEngine
{
public
class Texture : Object
{
public
static extern
int masterTextureLimit
{
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
get;
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
set;
}
public
static extern AnisotropicFiltering anisotropicFiltering
{
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
get;
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
set;
}
public
virtual int width
{
get
{
return Texture.Internal_GetWidth(this);
}
set
{
throw
new Exception("not implemented");
}
}
public
virtual int height
{
get
{
return Texture.Internal_GetHeight(this);
}
set
{
throw
new Exception("not implemented");
}
}
public
extern FilterMode filterMode
{
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
get;
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
set;
}
public
extern int anisoLevel
{
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
get;
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
set;
}
public
extern TextureWrapMode wrapMode
{
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
get;
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
set;
}
public
extern float mipMapBias
{
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
get;
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
set;
}
public Vector2 texelSize
{
get
{
Vector2 result;
Texture.Internal_GetTexelSize(this,out result);
return result;
}
}
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public
static extern
void SetGlobalAnisotropicFilteringLimits(int forcedMin,int globalMax);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
private
static extern
int Internal_GetWidth(Texture mono);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
private
static extern
int Internal_GetHeight(Texture mono);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
private
static extern
void Internal_GetTexelSize(Texture tex,out Vector2 output);
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public
extern IntPtr GetNativeTexturePtr();
//讀取本地文件生成的Texture獲取指針,可以爲Texture2d的創建提供數據
[WrapperlessIcall]
[MethodImpl(MethodImplOptions.InternalCall)]
public
extern int
GetNativeTextureID();
}
}