well my render code (in obj-c) looks like this, which shows how I apply the skin transformation using the bone matrix
-(void) draw:(float) globX :(float) globY :(float) globZ
{
for (int i = 0, n = [drawOrder count]; i < n; i++) {
Slot *slot=[drawOrder objectAtIndex:i];
if (slot->attachment) {
// calculate x and y
float locworldX = slot->attachment->x * slot->bone->m00 + slot->attachment->y * slot->bone->m01;
float locworldY = slot->attachment->x * slot->bone->m10 + slot->attachment->y * slot->bone->m11;
locworldX+=slot->bone->worldX;
locworldY+=slot->bone->worldY;
// draw the attachment at this slot
[slot->attachment->attachmentAtlas drawTextureAtPoint:
(locworldX/2.0) + globX : /* x */
(locworldY/2.0) + globY : /* y */
globZ : /* z */
slot->bone->worldRotation+slot->attachment->rotation :
slot->attachment->texAtlasIndex :
false];
}
}
}
(oh, I haven't worked out what the /2.0 is for yet on the x and y, but it might be to do with retina display rendering, so you may not need that)