glEnableClientState и glEnableVertexAttribArray

Утрачивает ли последнее значение первое?

Я пишу код, который хотел бы работать на оборудовании с шейдерами 2.0, но хочу использовать более современные соглашения о программировании, такие как VAO.

Поэтому я использую функции glVertexAttribPointer вместо glVertexPointer, glNormalPointer, glColorPointer и так далее.

Кажется, что мы подошли к моменту, когда концепция сервер-клиент не является... особенно актуальной (редактирование: я имел в виду, что это относится к переключению состояния для этих буферных указателей). Но я хотел бы знать, что на самом деле делает старая En/DisableClientState и как она связана с тем, что на самом деле делает glEnableVertexAttribArray.

А еще у меня нет графического оборудования 5 поколений назад, но наверняка у какого-нибудь пользователя моего ПО оно может быть. Как я могу сделать так, чтобы мой код не компилировался, например, на Radeon 9700? (Хотя я надеюсь, что если у пользователя есть последний драйвер, то он может поддерживать новые вещи)

7
задан Steven Lu 22 August 2013 в 21:22
поделиться