1 /* guile-irrlicht --- GNU Guile bindings for Irrlicht Engine
3 Copyright (C) 2020 Javier Sancho <jsf@jsancho.org>
5 This file is part of guile-irrlicht.
7 guile-irrlicht is free software; you can redistribute it and/or modify
8 it under the terms of the GNU Lesser General Public License as
9 published by the Free Software Foundation; either version 3 of the
10 License, or (at your option) any later version.
12 guile-irrlicht is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 General Public License for more details.
17 You should have received a copy of the GNU Lesser General Public
18 License along with guile-irrlicht. If not, see
19 <http://www.gnu.org/licenses/>.
22 #include <irrlicht/irrlicht.h>
32 init_material_type ();
33 scm_c_define_gsubr ("make-material", 0, 0, 1, (scm_t_subr)make_material);
34 scm_c_export ("make-material", NULL);
37 DEFINE_WRAPPED_TYPE (irr::video::SMaterial*, "material",
38 init_material_type, material_p,
39 wrap_material, unwrap_material);
42 make_material (SCM rest)
44 SCM wireframe = scm_from_bool (0);
45 SCM lighting = scm_from_bool (1);
47 scm_c_bind_keyword_arguments ("make-material", rest, (scm_t_keyword_arguments_flags)0,
48 scm_from_utf8_keyword ("wireframe"), &wireframe,
49 scm_from_utf8_keyword ("lighting"), &lighting,
52 irr::video::SMaterial* material = new irr::video::SMaterial ();
53 material->Wireframe = wireframe;
54 material->Lighting = lighting;
55 return wrap_material (material);