glGenTextures GLuint или Array? - PullRequest
       9

glGenTextures GLuint или Array?

3 голосов
/ 17 февраля 2011

Во-первых, я очень мало знаю о C / C ++, поэтому в моих знаниях может быть черное пятно, но в настоящее время я пытаюсь перенести некоторые функции OpenGL на AS3 и смотрю на метод glGenTextures ()OpenGL

http://www.opengl.org/sdk/docs/man/xhtml/glGenTextures.xml

Этот метод требует пару, но мой вопрос нацелен на более поздний параметр

GLuint * textures

Я посмотрел вверхданные типа для GLuint, и они выглядят как 32-разрядное целое число без знака, однако в документации говорится следующее:

textures Определяет массив, в котором хранятся сгенерированные имена текстур.

ИтакЯвляется ли GLuint массивом или это целое число без знака ??, и если это какой-то указатель на адрес памяти массива (не знаю, если это тоже возможно?), тогда кто-нибудь может порекомендовать эквивалентный способ реализации подобногофункциональность в ActionScript, учитывая, что параметры по значению, а не по ссылке в ActionScript.

Большое спасибо всем добрым людям на SO.

Гари Палук

Ответы [ 2 ]

7 голосов
/ 17 февраля 2011

Вы знакомы с обозначением указателя?Функция принимает массив: массив данных GLuint.Таким образом, при создании текстуры вы можете либо создать одну текстуру и просто указать адрес этой GLuint, либо вы можете создать несколько текстур, передав указатель на первую (что в основном работает с массивами).

GLuint myTexture;
glGenTextures(1, &myTexture); // generate just one texture

GLuint myTextures[32];
glGenTextures(32, myTextures); // generate 32 textures

GLuint myOtherTexture;
GLuint* myTexturePointer = &myOtherTexture;
glGenTextures(1, myTexturePointer); // generate 1 texture using a pointer

GLuint* moreTextures = new GLuint[16];
// generate only 8 textures in the latter half of the array
glGenTextures(8, moreTextures + 8);
1 голос
/ 17 февраля 2011

GLuint является неподписанным int.

Вы можете увидеть его в файлах заголовков как:

typedef unsigned int GLuint;

Если вы раньше не сталкивались с typedeff, вотВики-страница с объяснением typedef

...