开发者

glGenTextures GLuint or Array?

Firstly, I have very little knowledge of C/C++ so there might be a black spot in my knowledge with that but I'm currently attempting to port some of the functionality of OpenGL to AS3 and looking at the glGenTextures() method of OpenGL

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

This method takes a couple of but my question is aimed at the later parameter

GLuint * textures

I looked up the type data for GLuint and it appears to be a 32 bit unsigned integer, however the documentation then says the following:

textures 开发者_如何学PythonSpecifies an array in which the generated texture names are stored.

So, is GLuint an array or is it an unsigned integer??, and if this is some kind of pointer to a memory address of an Array (have no idea if that's also a possibilty?) Then can anyone recommend an equivalent way of implementing similar functionality within ActionScript bearing in mind that the parameters are by value and not by reference within ActionScript.

Many thanks to all the good people on SO.

Gary Paluk


Are you familiar with pointer notation? The function does take an array: an array of GLuint data. So, when creating a texture, you can either create one texture and simply point to the address of that one GLuint, or you can create multiple textures by passing in a pointer to the first one (which is basically how arrays work).

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);


GLuint is an unsigned int.

You can see it in the header files as:

typedef unsigned int GLuint;
  • Here's a link the the OpenGL 2 header file

  • And here's a link for the upcoming OpenGL 3 header file

In case you haven't come across typedeff before, here's the Wiki page explaining typedef

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜