2014-09-04 3 views
0

Если создать две текстуры, как 1. srcID 2. destIDКак использовать glCopyImageSubData с текстурой GL_TEXTURE_CUBE_MAP?

Оба типа GL_TEXTURE_CUBE_MAP

glTexStorage2D (GL_TEXTURE_CUBE_MAP, 6, GL_RGBA8, 32, 32);

Теперь «srcID» заполнен всеми требуемыми данными текстуры. Итак, какие параметры следует использовать для копирования всего «srcID» в «destID». Пробовал много комбинаций, но всегда давал ошибку.

ответ

1

Это проверялось, и чисто от изучения человека страницы и спецификации документа:

glCopyImageSubData(srcID, GL_TEXTURE_CUBE_MAP, 0, 0, 0, 0, 
        destID, GL_TEXTURE_CUBE_MAP, 0, 0, 0, 0, 
        32, 32, 6); 

Наименее очевидная часть, как определить, что вы хотите, чтобы скопировать все лица cubemap. Спектр говорит о целевых аргументах:

Принимаются все целевые объекты без прокси-сервера, за исключением TEXTURE_BUFFER и селекторов лицевой панели cubemap, описанных в таблице 8.19.

Это говорит мне, что для этих аргументов, а не для конкретных лиц, необходимо использовать GL_TEXTURE_CUBE_MAP.

Тогда о том, как определить, что вы хотите, чтобы скопировать все 6 граней cubemap, эта часть имеет отношение (выделение добавлено мной):

Кусочки одномерный массив, двумерный массив, куба карта массив или трехмерная текстура, или граней текстуры кубы карта все совместим при условии, что они разделяют совместимый внутренний формат, и несколько ломтиков или лиц могут быть скопированы между этими объектами с помощью одного вызова , указав начальный срез с srcZ и dstZ, и количество фрагментов, которые нужно скопировать с помощью srcDepth. Тексты Cubemap всегда имеют шесть граней, которые выбираются нулевым индексом лица в соответствии с порядком, указанным в таблице 8.19.

Так копируя все 6 граней должны работать с использованием 0 для srcZ и dstZ и 6 для srcDepth.

 Смежные вопросы

  • Нет связанных вопросов^_^