Мой рисунок выглядит так:
glBindTexture(GL_TEXTURE_2D, tex->name); // bind to the name
glVertexPointer(3, GL_FLOAT, 0, vertices); // verices is the alignment in triangles
glTexCoordPointer(2, GL_FLOAT, 0, coordinates); // coordinates describes the rectangle
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); //draw
Трудно понять, что вы можете удалить, не зная точно, что вы пытаетесь сделать.
редактирование:
Если вы не отключите blend в какой-то момент, вы можете избавиться от всех вызовов blend:
glEnable(GL_BLEND);
glBlendFunc...
Поместите их в инициализацию вашего состояния GL, если вам нужно установить его один раз. Если вам нужно включить и отключить, лучше установить состояние один раз для всего, что вам нужно, чтобы нарисовать смешанный, а затем снова установить состояние (один раз) для не смешанного.
OpenGL - это конечный автомат , поэтому эта общая идея применима везде, где вам необходимо изменить состояние GL (например, настройка текстурной среды с помощью glTexEnvf).
О конечных автоматах:
Текущее состояние определяется прошлым
состояния системы. Как таковой, он может
быть сказано записать информацию о
прошлое, т.е. оно отражает вклад
изменения от начала системы до
текущий момент. Переход указывает
изменение состояния и описывается
условие, которое должно быть
выполняется для включения перехода.