internal static void Enforce_Flags(ref Texture2D tex, TextureOpFlags flags) { if ((flags & TextureOpFlags.NO_MIPMAPPING) == TextureOpFlags.NO_MIPMAPPING) { tex.mipMapBias = -(tex.mipmapCount); } if ((flags & TextureOpFlags.NO_WRAPPING) == TextureOpFlags.NO_WRAPPING) { tex.wrapMode = TextureWrapMode.Clamp; } }
/// <summary> /// Assists in loading a texture from a byte array. /// </summary> /// <param name="data">The texture file data.</param> /// <param name="name">A name to assign the texture instance.</param> /// <param name="flags">A set of flags from the <c>TextureOpFlags</c> enum.</param> /// <returns></returns> public static Texture Load(byte[] data, TextureOpFlags flags, string name = null) { if (data == null || data.Length <= 0) { return(null); } var tex = (Texture2D)TextureHelper.Load(data, name); Enforce_Flags(ref tex, flags); return(tex); }
/// <summary> /// Assists in loading a texture from a file that is an embedded resource. /// </summary> /// <param name="name">The embedded resource name.</param> /// <param name="namespace_str">The main namespace of the calling Assembly.</param> /// <param name="flags">A set of flags from the <c>TextureOpFlags</c> enum.</param> /// <returns></returns> public static Texture Load_From_Resource(string name, string namespace_str, TextureOpFlags flags) { var asset_name = String.Format("{0}.Resources.{1}", namespace_str, name); using (var stream = Assembly.GetCallingAssembly().GetManifestResourceStream(asset_name)) { var data = Util.Read_Stream(stream); if (data == null) { SLog.Info("UNABLE TO LOAD SPECIFIED RESOURCE: {0}", name); } return(Load(data, flags, name)); } }
public static Texture2D Flip_Vertical(Texture2D tex, TextureOpFlags flags) { var cpy = new Texture2D(tex.width, tex.height); for (var x = 0; x < tex.width; x++) { for (var y = 0; y < tex.height; y++) { var p = tex.GetPixel(x, y); cpy.SetPixel(x, (tex.height - (y + 1)), p); } } cpy.Apply(); Enforce_Flags(ref cpy, flags); return(cpy); }