Все типизированные целочисленные точки входа gl имеют такое поведение диапазона. Варианты с плавающей точкой используют нормализованные значения: 0,0 - 1,0. glColor устанавливает текущий цвет вершины, который даже влияет на вывод во время обработки массива вершин, если glColorPointer не включен (если ваша версия GL использует именованные атрибуты вершины, а не общие, как в OpenGLES 2.x и выше).
Распространенными вариантами для glColor являются glColor {3,4} {u, b} и glColor {3,4} f.
В вашем случае вам следует придерживаться значений 0xFF и использовать glColor3ub (255, 0, 255) или, возможно, более простой glColor3f (1.0f, 0.0f, 1.0f).
Использование интегрального значения INT_MAX или ~ 2 миллиардов в сочетании с glColor3i () не очень хорошо читается.