Esempio n. 1
0
    static int _CreateSparseTexture(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 4)
        {
            int           arg0 = (int)LuaScriptMgr.GetNumber(L, 1);
            int           arg1 = (int)LuaScriptMgr.GetNumber(L, 2);
            TextureFormat arg2 = LuaScriptMgr.GetNetObject <TextureFormat>(L, 3);
            int           arg3 = (int)LuaScriptMgr.GetNumber(L, 4);
            SparseTexture obj  = new SparseTexture(arg0, arg1, arg2, arg3);
            LuaScriptMgr.Push(L, obj);
            return(1);
        }
        else if (count == 5)
        {
            int           arg0 = (int)LuaScriptMgr.GetNumber(L, 1);
            int           arg1 = (int)LuaScriptMgr.GetNumber(L, 2);
            TextureFormat arg2 = LuaScriptMgr.GetNetObject <TextureFormat>(L, 3);
            int           arg3 = (int)LuaScriptMgr.GetNumber(L, 4);
            bool          arg4 = LuaScriptMgr.GetBoolean(L, 5);
            SparseTexture obj  = new SparseTexture(arg0, arg1, arg2, arg3, arg4);
            LuaScriptMgr.Push(L, obj);
            return(1);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: SparseTexture.New");
        }

        return(0);
    }
Esempio n. 2
0
    public static int UpdateTileRaw(IntPtr l)
    {
        int result;

        try
        {
            SparseTexture sparseTexture = (SparseTexture)LuaObject.checkSelf(l);
            int           tileX;
            LuaObject.checkType(l, 2, out tileX);
            int tileY;
            LuaObject.checkType(l, 3, out tileY);
            int miplevel;
            LuaObject.checkType(l, 4, out miplevel);
            byte[] data;
            LuaObject.checkArray <byte>(l, 5, out data);
            sparseTexture.UpdateTileRaw(tileX, tileY, miplevel, data);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
Esempio n. 3
0
    static int UnloadTile(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 4);
        SparseTexture obj  = LuaScriptMgr.GetNetObject <SparseTexture>(L, 1);
        int           arg0 = (int)LuaScriptMgr.GetNumber(L, 2);
        int           arg1 = (int)LuaScriptMgr.GetNumber(L, 3);
        int           arg2 = (int)LuaScriptMgr.GetNumber(L, 4);

        obj.UnloadTile(arg0, arg1, arg2);
        return(0);
    }
Esempio n. 4
0
    static int UpdateTileRaw(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 5);
        SparseTexture obj  = LuaScriptMgr.GetNetObject <SparseTexture>(L, 1);
        int           arg0 = (int)LuaScriptMgr.GetNumber(L, 2);
        int           arg1 = (int)LuaScriptMgr.GetNumber(L, 3);
        int           arg2 = (int)LuaScriptMgr.GetNumber(L, 4);

        byte[] objs3 = LuaScriptMgr.GetArrayNumber <byte>(L, 5);
        obj.UpdateTileRaw(arg0, arg1, arg2, objs3);
        return(0);
    }
Esempio n. 5
0
    public static int constructor(IntPtr l)
    {
        int result;

        try
        {
            int num = LuaDLL.lua_gettop(l);
            if (num == 5)
            {
                int width;
                LuaObject.checkType(l, 2, out width);
                int height;
                LuaObject.checkType(l, 3, out height);
                TextureFormat format;
                LuaObject.checkEnum <TextureFormat>(l, 4, out format);
                int mipCount;
                LuaObject.checkType(l, 5, out mipCount);
                SparseTexture o = new SparseTexture(width, height, format, mipCount);
                LuaObject.pushValue(l, true);
                LuaObject.pushValue(l, o);
                result = 2;
            }
            else if (num == 6)
            {
                int width2;
                LuaObject.checkType(l, 2, out width2);
                int height2;
                LuaObject.checkType(l, 3, out height2);
                TextureFormat format2;
                LuaObject.checkEnum <TextureFormat>(l, 4, out format2);
                int mipCount2;
                LuaObject.checkType(l, 5, out mipCount2);
                bool linear;
                LuaObject.checkType(l, 6, out linear);
                SparseTexture o = new SparseTexture(width2, height2, format2, mipCount2, linear);
                LuaObject.pushValue(l, true);
                LuaObject.pushValue(l, o);
                result = 2;
            }
            else
            {
                result = LuaObject.error(l, "New object failed.");
            }
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
Esempio n. 6
0
    public static int get_isCreated(IntPtr l)
    {
        int result;

        try
        {
            SparseTexture sparseTexture = (SparseTexture)LuaObject.checkSelf(l);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, sparseTexture.isCreated);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
Esempio n. 7
0
    public SVO(int resolution)
    {
        // The number of voxels along one edge
        pixelsWide = 4 * (int)Math.Pow(2, resolution);

        sparseTexture = new SparseTexture(pixelsWide, pixelsWide, TextureFormat.R16, 0);

        tileSize = sparseTexture.tileWidth * sparseTexture.tileHeight;

        tilesWide = pixelsWide / sparseTexture.tileWidth;

        tilesHigh = pixelsWide / sparseTexture.tileHeight;

        brickSideLength = (int)Math.Floor(Math.Pow(tilesWide * tilesHigh, 1.0f / 3.0f));

        bricksWide = (pixelsWide / brickSideLength) / 4;
    }
Esempio n. 8
0
    static int get_tileHeight(IntPtr L)
    {
        object o = LuaScriptMgr.GetLuaObject(L, 1);

        if (o == null)
        {
            LuaTypes types = LuaDLL.lua_type(L, 1);

            if (types == LuaTypes.LUA_TTABLE)
            {
                LuaDLL.luaL_error(L, "unknown member name tileHeight");
            }
            else
            {
                LuaDLL.luaL_error(L, "attempt to index tileHeight on a nil value");
            }
        }

        SparseTexture obj = (SparseTexture)o;

        LuaScriptMgr.Push(L, obj.tileHeight);
        return(1);
    }
Esempio n. 9
0
    public static int UnloadTile(IntPtr l)
    {
        int result;

        try
        {
            SparseTexture sparseTexture = (SparseTexture)LuaObject.checkSelf(l);
            int           tileX;
            LuaObject.checkType(l, 2, out tileX);
            int tileY;
            LuaObject.checkType(l, 3, out tileY);
            int miplevel;
            LuaObject.checkType(l, 4, out miplevel);
            sparseTexture.UnloadTile(tileX, tileY, miplevel);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }