コード例 #1
0
 static public int EncodeToEXR(IntPtr l)
 {
     try {
         int argc = LuaDLL.lua_gettop(l);
         if (argc == 1)
         {
             UnityEngine.Texture2D self = (UnityEngine.Texture2D)checkSelf(l);
             var ret = self.EncodeToEXR();
             pushValue(l, true);
             pushValue(l, ret);
             return(2);
         }
         else if (argc == 2)
         {
             UnityEngine.Texture2D          self = (UnityEngine.Texture2D)checkSelf(l);
             UnityEngine.Texture2D.EXRFlags a1;
             checkEnum(l, 2, out a1);
             var ret = self.EncodeToEXR(a1);
             pushValue(l, true);
             pushValue(l, ret);
             return(2);
         }
         pushValue(l, false);
         LuaDLL.lua_pushstring(l, "No matched override function to call");
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
コード例 #2
0
    static int EncodeToEXR(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 1 && TypeChecker.CheckTypes(L, 1, typeof(UnityEngine.Texture2D)))
            {
                UnityEngine.Texture2D obj = (UnityEngine.Texture2D)ToLua.ToObject(L, 1);
                byte[] o = obj.EncodeToEXR();
                ToLua.Push(L, o);
                return(1);
            }
            else if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(UnityEngine.Texture2D), typeof(UnityEngine.Texture2D.EXRFlags)))
            {
                UnityEngine.Texture2D          obj  = (UnityEngine.Texture2D)ToLua.ToObject(L, 1);
                UnityEngine.Texture2D.EXRFlags arg0 = (UnityEngine.Texture2D.EXRFlags)ToLua.ToObject(L, 2);
                byte[] o = obj.EncodeToEXR(arg0);
                ToLua.Push(L, o);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: UnityEngine.Texture2D.EncodeToEXR"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
コード例 #3
0
        public static bool WriteImageEXR(this Texture2D source, string filename)
        {
            if (source == null)
            {
                UnityEngine.Debug.LogException(new Exception("No source image to save to disk: " + filename));
                return(false);
            }
            bool       result = false;
            FileStream file   = new FileStream(filename, FileMode.Create, FileAccess.Write);

            try {
                byte[] bytes = source.EncodeToEXR();
                if (bytes != null)
                {
                    MemoryStream buffer = new MemoryStream(bytes);
                    buffer.Position = 0;
                    buffer.CopyTo(file, CopyToOptions.FlushFinal);
                    buffer.Close();
                    buffer.Dispose();
                    buffer = null;
                    bytes  = null;
                    result = File.Exists(filename);
                    if (result == false)
                    {
                        throw new Exception("Failed to save texture file to disk: " + filename);
                    }
                }
                else
                {
                    throw new Exception("Failed to encode texture image to disk: " + filename);
                }
            } catch (Exception ex) {
                UnityEngine.Debug.LogException(ex);
            } finally {
                file.Close();
            }
            return(result);
        }
コード例 #4
0
 public static byte[] EncodeToEXR(this Texture2D tex)
 {
     return(tex.EncodeToEXR(Texture2D.EXRFlags.None));
 }
コード例 #5
0
 public static byte[] EncodeToEXR(this Texture2D tex)
 {
     Texture2D.EXRFlags flags = Texture2D.EXRFlags.None;
     return(tex.EncodeToEXR(flags));
 }