Попробую объяснить, в скоростном рендеринге, каковыми являются opengl и direct3d, многие вещи касающиеся заливки треугольника упрощены по сравнению с полноценным расчетом освещения каждого пикселя как в системах производства кино, вместо этого использованн метод расчета кривизны треугольника по его трем вершинам, из-за этого мы можем видеть характерные треугольные заливки на поверхностях где треугольников мало. Именно этот алгоритм ответственен за "неадекватное" затенение элементов с малой детализацией. Твои доводы не имеют к данной ситуации никакого отношения, так как алгоритмы использованные в методах рендеринга имеют мало общего с реальной физикой. Единственная возможность сделать криволинейную поверхность "гладкой" не прибегая к ухищрениям, это формировать ее строго прямоугольными ячейками сетки с достаточно высокой плотностью, что учитывая ограничения современных 3D движков совершенно неприменимо.