X-Git-Url: https://git.jsancho.org/?p=guile-irrlicht.git;a=blobdiff_plain;f=src%2Fmaterial.cpp;fp=src%2Fmaterial.cpp;h=4be4054a550d9e7a7893fc44edadbccbc9e1fdd6;hp=d24c2b428a9c4a1fa99c632b4ae44d35ebc4b70c;hb=661f003f90a2ab35026cf17215f28dcb73f54084;hpb=19663b6c5766b06c73148fdf803ce3555052a23e diff --git a/src/material.cpp b/src/material.cpp index d24c2b4..4be4054 100644 --- a/src/material.cpp +++ b/src/material.cpp @@ -32,16 +32,65 @@ using namespace irr; SCM -video_SMaterial_make (SCM material_type, SCM ambient_color, SCM diffuse_color, - SCM emissive_color, SCM specular_color, SCM shininess, - SCM material_type_param, SCM material_type_param_2, SCM thickness, - SCM z_buffer, SCM anti_aliasing, SCM color_mask, - SCM color_material, SCM blend_operation, SCM polygon_offset_factor, - SCM polygon_offset_direction, SCM wireframe, SCM point_cloud, - SCM gouraud_shading, SCM lighting, SCM z_write_enable, - SCM backface_culling, SCM frontface_culling, SCM fog_enable, - SCM normalize_normals, SCM use_mip_maps) +video_SMaterial_make (SCM rest) { + SCM material_type; + SCM ambient_color; + SCM diffuse_color; + SCM emissive_color; + SCM specular_color; + SCM shininess; + SCM material_type_param; + SCM material_type_param_2; + SCM thickness; + SCM z_buffer; + SCM anti_aliasing; + SCM color_mask; + SCM color_material; + SCM blend_operation; + SCM polygon_offset_factor; + SCM polygon_offset_direction; + SCM wireframe; + SCM point_cloud; + SCM gouraud_shading; + SCM lighting; + SCM z_write_enable; + SCM backface_culling; + SCM frontface_culling; + SCM fog_enable; + SCM normalize_normals; + SCM use_mip_maps; + + scm_c_bind_keyword_arguments + ("video_SMaterial_make", rest, (scm_t_keyword_arguments_flags)0, + scm_from_utf8_keyword ("material-type"), &material_type, + scm_from_utf8_keyword ("ambient-color"), &ambient_color, + scm_from_utf8_keyword ("diffuse-color"), &diffuse_color, + scm_from_utf8_keyword ("emissive-color"), &emissive_color, + scm_from_utf8_keyword ("specular-color"), &specular_color, + scm_from_utf8_keyword ("shininess"), &shininess, + scm_from_utf8_keyword ("material-type-param"), &material_type_param, + scm_from_utf8_keyword ("material-type-param-2"), &material_type_param_2, + scm_from_utf8_keyword ("thickness"), &thickness, + scm_from_utf8_keyword ("z-buffer"), &z_buffer, + scm_from_utf8_keyword ("anti-aliasing"), &anti_aliasing, + scm_from_utf8_keyword ("color-mask"), &color_mask, + scm_from_utf8_keyword ("color-material"), &color_material, + scm_from_utf8_keyword ("blend-operation"), &blend_operation, + scm_from_utf8_keyword ("polygon-offset-factor"), &polygon_offset_factor, + scm_from_utf8_keyword ("polygon-offset-direction"), &polygon_offset_direction, + scm_from_utf8_keyword ("wireframe"), &wireframe, + scm_from_utf8_keyword ("point-cloud"), &point_cloud, + scm_from_utf8_keyword ("gouraud-shading"), &gouraud_shading, + scm_from_utf8_keyword ("lighting"), &lighting, + scm_from_utf8_keyword ("z-write-enable"), &z_write_enable, + scm_from_utf8_keyword ("backface-culling"), &backface_culling, + scm_from_utf8_keyword ("frontface-culling"), &frontface_culling, + scm_from_utf8_keyword ("fog-enable"), &fog_enable, + scm_from_utf8_keyword ("normalize-normals"), &normalize_normals, + scm_from_utf8_keyword ("use-mip-maps"), &use_mip_maps, + SCM_UNDEFINED); + video::SMaterial* material = new video::SMaterial (); material->MaterialType = scm_to_material_type(material_type); material->AmbientColor = scm_to_color (ambient_color); @@ -74,11 +123,11 @@ video_SMaterial_make (SCM material_type, SCM ambient_color, SCM diffuse_color, extern "C" { - + void init_material (void) { - DEFINE_GSUBR ("video_SMaterial_make", 26, 0, 0, video_SMaterial_make); + DEFINE_GSUBR ("video_SMaterial_make", 0, 0, 1, video_SMaterial_make); } }