Невозможно загрузить UICollectionView с собственным IndexPath, также IndexPath добавляется случайным образом при печати его в ячейке для элемента по адресу:

Шейдеры и проекции в Vulkan ведут себя точно так же, как и в OpenGL. Существуют небольшие различия в диапазонах глубин ([-1, 1] в OpenGL, [0, 1] в Вулкане) или в начале системы координат (нижний левый в OpenGL, верхний левый в Вулкане), но принципы точно такие же. Аппаратное обеспечение по-прежнему остается неизменным и выполняет вычисления таким же образом как в OpenGL, так и в Vulkan.

4-компонентные векторы служат для нескольких целей:

  1. Различные преобразования (перевод , вращение, масштабирование) могут быть представлены таким же образом, с матрицами 4x4.
  2. Проекция также может быть представлена ​​матрицей 4x4.
  3. Несколько преобразований могут быть объединены в одну матрицу 4x4 .
  4. Компонент .w, который вы упомянули, используется во время проекции в перспективе.

Все это мы можем сделать с 4x4 матрицами и, следовательно, нам нужны 4-компонентные векторы (так их можно умножить на 4x4 матрицы). Опять же, я пишу об этом, потому что вышеприведенные правила применяются как к OpenGL, так и к Vulkan.

Итак, для цели .w компонента переменной gl_Position - это точно так же в Vulkan. Он используется для масштабирования вектора положения - при перспективных вычислениях (умножение проекционной матрицы) исходная глубина изменяется исходной компонентой .w и сохраняется в .z компоненте переменной gl_Position. Кроме того, оригинальная глубина также сохраняется в компоненте .w. После этого (как шаг фиксированной функции) аппаратное обеспечение выполняет разделение перспективы и делит положение, хранящееся в переменной gl_Position его компонентом .w.

В шагах орфографической проекции, выполняемых аппаратным обеспечением, точно такие же , но значения, используемые для расчетов, различны. Таким образом, этап разделения перспективы все еще выполняется аппаратным обеспечением, но он ничего не делает (положение погружено на 1.0).

1
задан Yannick Loriot 20 January 2019 в 09:27
поделиться