+ irr::video::IVideoDriver* driver = unwrap_video_driver (wrapped_video_driver);
+ driver->setMaterial (*(unwrap_material (material)));
+ return SCM_UNSPECIFIED;
+ }
+
+ SCM
+ irr_video_setTransform (SCM wrapped_video_driver,
+ SCM state,
+ SCM mat)
+ {
+ irr::video::IVideoDriver* driver = unwrap_video_driver (wrapped_video_driver);
+ driver->setTransform (scm_to_transformation_state (state),
+ scm_to_matrix4 (mat));
+ return SCM_UNSPECIFIED;
+ }
+
+ irr::video::E_TRANSFORMATION_STATE
+ scm_to_transformation_state (SCM transformation_state)
+ {
+ char* state = scm_to_utf8_stringn (scm_symbol_to_string (transformation_state), NULL);
+ if (!strcmp (state, "view"))
+ {
+ return irr::video::ETS_VIEW;
+ }
+ else if (!strcmp (state, "world"))
+ {
+ return irr::video::ETS_WORLD;
+ }
+ else if (!strcmp (state, "projection"))
+ {
+ return irr::video::ETS_PROJECTION;
+ }
+ else if (!strcmp (state, "texture0"))
+ {
+ return irr::video::ETS_TEXTURE_0;
+ }
+ else if (!strcmp (state, "texture1"))
+ {
+ return irr::video::ETS_TEXTURE_1;
+ }
+ else if (!strcmp (state, "texture2"))
+ {
+ return irr::video::ETS_TEXTURE_2;
+ }
+ else if (!strcmp (state, "texture3"))