Good point rockdoon - the model is only the frosting on the cake, as it were. It is the java coding that makes everything work as it should.
There is a really good explanation on it here at SAS, iirc.
You see, a model in IL2 isn't just one model - it is a whole bunch of models flying in formation to represent an aircraft.
The fuselage is normally split into fore / mid / aft, the wings are normally inner / mid / outer (left and right) the tail fin is it's own model as are the tailplanes & of course each moving part needs to be separate - the flaps, ailerons, elevators, air brakes, spoilers (if any) rudder, landing gear, wheels, gear bay doors, canopy / any hatches etc, the prop has two models - one for when it is stationary and another when spinning.
This is only the 3D. There are several materials to apply to the model for different levels of reflectivity / transparency too. On top of this, the whole thing needs to be tied together with a heir.him file to tell the engine where each separate part is situated in relation to the other parts.
Then there are the damage models - say three levels of damage for each model part, the levels of detail (again, say three per part) and the shadow model.
Of course, this is just the externals - there is also a cockpit to build / import too...
So, once this is done we get to what rockdoon was referring to; the coding tells this model exactly what it is, what it can do and also how it moves in order to do it.
It is a big job but a rewarding one, for sure