Какова цель glNormal3f в OpenGL ES?

Согласно ActionController :: Head docs просто используйте этот шаблон в действиях

  return head([status]) if/unless [some condition here]

Пример:

  return head(:gone) if @record.deleted?
  return head(:forbidden) unless @user.owns?(@record)

return используется для проверки что оставшийся код в действии не будет запущен.

7
задан Nicol Bolas 10 February 2012 в 15:51
поделиться

4 ответа

Я думаю, это по той же причине, что и функция glColor. Если норма всей вашей геометрии одинакова для всех вершин, вы можете указать ее с помощью glNormal перед вызовом glDrawArrays / glDrawElements.

6
ответ дан 7 December 2019 в 10:07
поделиться

Единственная причина, по которой я могу думать, заключается в том, что она предназначена для поддержки эффективного выражения поверхностей, в которых многие вершины имеют одну и ту же нормаль. При использовании подхода на основе массивов вам придется создать массив с одним и тем же значением, повторяющимся для каждой вершины, что расходует память.

Мне кажется любопытным, что справочная страница (OpenGL ES 1.1, там) даже не упоминает об этом. Я нашел один учебник по программированию для iPhone (PDF), в котором даже утверждалось, что glNormal () больше не существует.

0
ответ дан 7 December 2019 в 10:07
поделиться

OpenGL ES 1.1 упоминает об этом, но да, это ошибка в руководстве по программированию для iPhone.

0
ответ дан 7 December 2019 в 10:07
поделиться

Вы не должны больше использовать эти функции. Придерживайтесь glXXXXArray (). Я подозреваю, что они просто оставлены там, чтобы упростить перенос OpenGL на OpenGL ES.

0
ответ дан 7 December 2019 в 10:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: