extern "C" {
int
irr_video_beginScene(irr_video_IVideoDriver* driver,
- int backBuffer,
- int zBuffer,
+ bool backBuffer,
+ bool zBuffer,
const irr_video_SColor* color,
irr_video_SExposedVideoData* videoData,
const irr_core_rect_s32* sourceRect)
{
- // Color
- irr::video::SColor col = irr::video::SColor(color->a, color->r,
- color->g, color->b);
-
// Video data
// TODO
irr::video::SExposedVideoData vdata = irr::video::SExposedVideoData();
- // Source rect
- irr::core::rect<irr::s32> rect;
- if (sourceRect != NULL)
- {
- rect = irr::core::rect<irr::s32>(sourceRect->x,
- sourceRect->y,
- sourceRect->x2,
- sourceRect->y2);
- }
-
// Begin scene
return ((irr::video::IVideoDriver*)driver)
->beginScene(backBuffer,
zBuffer,
- col,
+ *(irr::video::SColor*)color,
vdata,
- sourceRect != NULL ? &rect : 0);
+ (irr::core::rect<irr::s32>*)sourceRect);
+ }
+
+ void
+ irr_video_drawVertexPrimitiveList(irr_video_IVideoDriver* driver,
+ const void* vertices,
+ uint32_t vertexCount,
+ const void* indexList,
+ uint32_t primCount,
+ irr_video_E_VERTEX_TYPE vType,
+ irr_scene_E_PRIMITIVE_TYPE pType,
+ irr_video_E_INDEX_TYPE iType)
+ {
+ ((irr::video::IVideoDriver*)driver)
+ ->drawVertexPrimitiveList(vertices, vertexCount,
+ indexList, primCount,
+ (irr::video::E_VERTEX_TYPE)vType,
+ (irr::scene::E_PRIMITIVE_TYPE)pType,
+ (irr::video::E_INDEX_TYPE)iType);
}
int
void
irr_video_setMaterial(irr_video_IVideoDriver* driver,
- const irr_video_SMaterial material)
+ irr_video_SMaterial* material)
{
- irr::video::SMaterial irrMaterial = irr::video::SMaterial();
- irrMaterial.Lighting = material.lighting;
- irrMaterial.Wireframe = material.wireframe;
-
- ((irr::video::IVideoDriver*)driver)->setMaterial(irrMaterial);
+ ((irr::video::IVideoDriver*)driver)->setMaterial(*(irr::video::SMaterial*)material);
}
void