Как создавать 4-мерные текстуры? - PullRequest
2 голосов
/ 30 июля 2011

РЕДАКТИРОВАТЬ

glTexcoord4f позволяет указать четыре измерения текстуры, но как вы создаете 4-мерные текстуры

Ответы [ 4 ]

4 голосов
/ 30 июля 2011

Компонент r используется для указания глубины в 3D (объемной) текстуре или слоя в массиве 2D текстур.

q Компонент играет ту же роль, что и элемент позиции вершины w : он используется для масштабирования разрыва перспективы в проекции текстуры перспективы.

3 голосов
/ 30 июля 2011

Для них нет никакого реального "значения". Если вы использовали шейдеры, вы можете присвоить им любое значение.

Например, в нашей игре: мы использовали xy для фактических текстовых кордов, z, для которого нужно сэмплировать текстуру, и w (4-й компонент) для управления яркостью.

Существует такая вещь, как 3D и 4D текстуры, которые на самом деле требуют 3 и 4 текстовых кордов соответственно, я полагаю, что это может быть их "смыслом".

Основная причина их существования заключается в том, что графические карты работают с 4 компонентными векторами. Когда вы передаете 2D-текстовую координату, она остается за кулисами с 4 векторами (остальные компоненты r и q не установлены). OpenGL предоставляет вам функциональность для их использования на случай, если она вам может понадобиться.

1 голос
/ 30 июля 2011

Компонент r является третьей координатой для GL_TEXTURE_3D (для визуализации объемов).Я не знаком ни с одним методом, который использует 4-ю координату.

Но кажется разумным иметь это в наличии, поскольку все однородные векторы OpenGL имеют 4 компонента.

0 голосов
/ 30 июля 2011

Нет такой вещи как 4-мерная текстура. По крайней мере, не без расширений.

Причина, по которой glTexCoord4D существует, заключается в разрешении передачи 4 значений. В современном мире рендеринга на основе шейдеров «текстурные координаты» совсем не обязательно должны быть текстурными координатами. Это просто ценности, которые использует шейдер, чтобы делать то, что он делает.

Многие из функций поиска текстуры в шейдерах принимают больше координатных координат текстуры, чем размерность фактической текстуры. Все текстурные функции для shadow текстур принимают дополнительную координату, которая представляет значение сравнения. Все текстурные функции Proj получают дополнительную координату, которая представляет однородную координату для однородной системы координат .

В земле с фиксированной функцией 4D текстурные координаты могут использоваться для проективного текстурирования 3D текстур. Таким образом, четырехмерная координата находится в однородной системе координат .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...