Okay, I've committed the improved code. We now have proper textures, boundingboxes, and an easier API call to set the animation - like so someSkeletalModelInstance.setState(anim-id) However, I'm not happy with it. The code is messy. This is partly caused by the fact that I wanted to keep all Cal3D code inside TSkeletalModel, and Cal3D often needs to know about the particular instance, so I end up passing the TModelInstance object back through to the TSkeletalModel. Also, TModel wasn't apparently designed with the idea that the model and model instance might be linked in any way, which has caused me big problems. In particular, TSkeletalModel has to have a load of naff overrides to make TModel happy - stuff that references particular frames for instance is useless with skeletalanimation. I think TModel needs an overhaul, so it no longer assumes frame-based animation. Darryl, Kamil - comments? Oh by the way Kamil, whatever it was you did, it didn't make any difference to my card :( I've switched off mipmaps again, to switch them back on undefine MIKES_DODGYASS_CARD at the top of shaders.pas thanks -mike Mike Hearn wrote: Firstly, thanks Darryl, textures are now working fine, and I've got the running paladin model working (again). I'm about to take a crack at bounding box calculation. However, I'm not happy with how TModel implements : functionCalcNextFrame(const Animation, Frame: Cardinal; const ElapsedTime: Single; var Complete: Boolean): Cardinal; virtual; abstract ; function GetAnimStartFrame(Anim: Cardinal): Cardinal; virtual; abstract ; and similar functions as abstract, as it means I have to override them and return 0 even though they have no relevance to skeletal models. Am I doing something wrong,or is this a code design issue that needs fixing? thanks -mike -- __________________________ Mike Hearn email/jabber: mike@xxxxxxxxxxxxx[1[1]] http://theoretic.com/?Mike[2[2]] --- Links --- 1 mailto:mike@xxxxxxxxxxxxx[3] 2 http://theoretic.com/?Mike[4] -- __________________________ Mike Hearn email/jabber: mike@xxxxxxxxxxxxx[5] http://theoretic.com/?Mike[6] --- Links --- 1 mailto:mike@xxxxxxxxxxxxx[1 2 http://theoretic.com/?Mike[2 3 mailto:mike@xxxxxxxxxxxxx 4 http://theoretic.com/?Mike 5 mailto:mike@xxxxxxxxxxxxx 6 http://theoretic.com/?Mike