You kbow, i dont think this probem is currenty solvable. The way D3D works precludes smoothing groups or hard edges, unless the vertices are not welded. So basically, its an art thing, not a code or model format thing.

Basically, every shading method uses vertices, not faces, so everything has to be interpolated. Thats why flat shade mode doesnt really work, because it still does shading per-vertex, not per-face.

if you changed the vertex format to include some things, who knows, maybe there is some hack that could work, but frankly ive never seen anything like that. It's a hardware limitation. Maybe with DirectX 10 there will some possiblity.

It could be done in software, but so what, so can anything..