Exemplo n.º 1
0
/* PickMatrix( x, y, deltax, deltay, viewportArray) -> none */
static int luaglu_pick_matrix(lua_State *L)
{
  GLint *vp;
  int num_args;

  if (!( lua_isnumber(L, 1) && lua_isnumber(L, 2) && lua_isnumber(L, 3)
    && lua_isnumber(L, 4)))
  {
    luaL_error(L, "incorrect argument to function 'glu.PickMatrix'");
    return 0;
  }

  if(!lua_istable(L, 5) || (num_args = luagl_get_arrayi(L, 5, &vp)) < 4)
  {
    luaL_error(L, "incorrect argument to function 'glu.PickMatrix'");
    return 0;
  }

  gluPickMatrix(
    (GLdouble)lua_tonumber(L, 1), (GLdouble)lua_tonumber(L, 2), (GLdouble)lua_tonumber(L, 3),
    (GLdouble)lua_tonumber(L, 4), vp);

  LUAGL_DELETE_ARRAY(vp);

  return 0;
}
Exemplo n.º 2
0
/* PickMatrix( x, y, deltax, deltay, viewportArray) -> none */
static int luaglu_pick_matrix(lua_State *L)
{
  GLint *vp;
  int n;

  n = luagl_get_arrayi(L, 5, &vp);
  if (n < 4)
    luaL_argerror(L, 5, "invalid number of elements in the matrix table (n<4).");

  gluPickMatrix(luaL_checknumber(L, 1), luaL_checknumber(L, 2), 
                luaL_checknumber(L, 3), luaL_checknumber(L, 4), vp);

  LUAGL_DELETE_ARRAY(vp);

  return 0;
}