Можно ли нарисовать текстуру RGB в оттенках серого без использования фрагментных шейдеров, используя только фиксированный конвейер openGL?
В противном случае мне пришлось бы создать две версии текстуры: одну цветную, а другую - черно-белую.
Можно ли нарисовать текстуру RGB в оттенках серого без использования фрагментных шейдеров, используя только фиксированный конвейер openGL?
В противном случае мне пришлось бы создать две версии текстуры: одну цветную, а другую - черно-белую.
Я не знаю, как это сделать с текстурой RGB и фиксированным конвейером функций.
Если вы создаете текстуру из исходных данных RGB, но задаете внутренний формат как GL_LUMINANCE, OpenGL преобразует данные цвета в оттенки серого за вас. Используйте стандартный белый материал и режим MODULATE.
Надеюсь это поможет.
Нет. Объединители среды текстур не могут выполнять точечный продукт без операции масштабирования / смещения. То есть он всегда делает вид, что значения [0, 1] закодированы как значения [-1, 1]. Поскольку вы не можете отключить это, вы не можете сделать правильный скалярный продукт.