- void
- init_vertex3d (void)
- {
- init_vertex3d_type ();
- scm_c_define_gsubr ("make-vertex3d", 4, 0, 0, (scm_t_subr)make_vertex3d);
- scm_c_define_gsubr ("vertex3d-position", 1, 0, 0, (scm_t_subr)vertex3d_position);
- scm_c_export ("make-vertex3d", "vertex3d-position", NULL);
- }
-
- DEFINE_WRAPPED_TYPE (irr::video::S3DVertex*, "vertex3d",
- init_vertex3d_type, vertex3d_p,
- wrap_vertex3d, unwrap_vertex3d);
-
- SCM
- make_vertex3d (SCM position,
- SCM normal,
- SCM color,
- SCM tcoords)
- {
- irr::video::S3DVertex* vertex =
- new irr::video::S3DVertex (scm_to_vector3df (position),
- scm_to_vector3df (normal),
- scm_to_color (color),
- scm_to_vector2df (tcoords));
- return wrap_vertex3d (vertex);
- }
+SCM
+video_S3DVertex_make (SCM position,
+ SCM normal,
+ SCM color,
+ SCM tcoords)
+{
+ video::S3DVertex* vertex =
+ new video::S3DVertex (scm_to_vector3df (position),
+ scm_to_vector3df (normal),
+ scm_to_color (color),
+ scm_to_vector2df (tcoords));
+ return scm_from_pointer ((void*) vertex, NULL);
+}