С помощью метода, такого как glColor4f(0f, 0f, 0f, 0f);
, он устанавливает значения для любых параметров, которые вы вводите. Однако то, что я хотел бы сделать, это лишь слегка изменить цвет. Есть ли какой-либо существующий метод OpenGL, который будет добавлять или вычитать его параметры для существующих цветов, которые у него есть?Метод изменения существующего цвета OpenGL
Единственный способ сделать это, который я могу придумать, - сначала получить его значения цвета, а затем отредактировать их, как я хочу, и, наконец, отправить их обратно с glColor4f()
.
Итак, в заключение я хотел бы знать, существует ли какой-либо метод для редактирования существующего RGBA или, по крайней мере, для извлечения существующего RGBA.
Это прекрасно, но оно не работает с отрицательными параметрами для вычитания, такими как 'glSecondaryColor3d (0, -15/255d, 0)'. Тем не менее, я играл с ним, и я уверен, что могу добиться такого же эффекта, выполняя 'glSecondaryColor3d (15/255d, 0,15/255d)'. Несмотря ни на что, это именно то, что я искал, поэтому спасибо. – GlassZee
Действительно? Согласно странице руководства, вы должны иметь возможность подавать отрицательный цвет. http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml @GlassZee – Tim
Да, это не проявляется как разница при вводе отрицательных значений. Довольно стыдно, правда. Но я придумал еще лучшее решение проблемы - начиная с R, G и B немного выше, а затем медленно опуская G на 0. Это буквально «та же разница». Просто нужно затемнить исходные текстуры на сумму, которую вы добавляете на них. – GlassZee