Вопрос

если вы вычисляете нормали многоугольника для его рендеринга в WebGL, используете ли вы нормаль для каждого индекса в массиве индексов или для каждой вершины в массиве вершин?

Это было полезно?

Решение

Каждая вершина.Вершина в смысле WebGL (который такой же, как OpenGL ES и другие предшественники) на самом деле не является точкой в пространстве, а скорее комбинацией атрибутов.Одним из них почти всегда является местоположение (хотя в необычных случаях у вас его может и не быть), а другие обычно представляют собой такие вещи, как вектор нормали, цвет, координаты текстуры и так далее.

Массив индексов, напротив, представляет собой смещение в массивы атрибутов вершин.Поэтому, когда вы указываете индекс (скажем) 1 в массиве индексов, это сокращение для "вершины, созданной путем объединения первого местоположения в буфере местоположений, первой нормали в буфере нормалей, первого цвета в буфере цветов и первой координаты текстуры в буфере координат текстуры".

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

Другие советы

в Примечания здесь, Пользователь рассчитывает их для каждой вершины.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top