OpenGL cores RGB

Estou precisando de uma ajuda com sistema de cores RGB do OpenGL, estou usando função glColor3d(), quando eu passo apenas um canal de cor R, G ou B, ela retorna a cor corretamente, por exemplo glColor3d(0,0,255). Agora quando passo os três canais de cor ela retorna somente branco, por exemplo glColor3d(25, 25, 112) era para retornar um tom de azul mais escuro, porém retorna branco.

Os canais de cores na OpenGL variam de 0 até 1, não de 0 até 255.
Tudo que for maior que 1 será saturado para 1.

Você tem duas alternativas:
a) Dividir os valores R, G e B que você conhece por 255.0;
b) Usar o comando glColor3u, que aceita canais de cores de 0 até 255 (não recomendo).

É bem mais natural trabalhar com os valores de cores em percentual, ou seja, variando de 0 até 1. Quando você avançar nos estudos de computação gráfica, verá que o trabalho com shaders, calculos de sombra e transparência são naturais nesse intervalo. Por isso, a OpenGL e o DirectX adotaram usar percentuais como o padrão.