Похоже, у вас нет правильного понимания термина smooth в этом контексте.
Во-первых, GL_LINE_SMOOTH_HINT
влияет только на строки. Кроме того, я ссылаюсь на документацию .
Во-вторых, glShadeModel()
устанавливает тип затенения, который должен иметь ваш следующий примитив. GL_SMOOTH
сделает цвета вершин интерполированными в каждом полученном фрагменте пикселя. GL_FLAT
, однако, берет только один вычисленный цвет вершины и автоматически назначает его каждому фрагменту пикселя, который представляет ваш примитив. Кроме того, я ссылаюсь на документацию .
Ваше понимание о гладкости, как вы думаете, не применимо к треугольникам. Если вы действительно хотите гладкую модель, вам следует увеличить количество полигонов в модели.