Требуется ли для glBindTexture() указатель GLuint?

Я пытаюсь реализовать привязки OpenGL для использования текстуры в OpenGL/V8/JavaScript.

У меня довольно простой вопрос:

Требует ли метод OpenGL glBindTexture() указатель на GLuint или требуется только допустимый GLuint?

В документах khronos здесь говорится, что для этого требуется только GLuint.

http://www.khronos.org/opengles/documentation/opengles1_0/html/glBindTexture.html

Проблема заключается в следующем:

У меня есть пользовательский тип данных в контексте JavaScript v8, который используется для инициализации и загрузки текстур. После загрузки текстуры были сгенерированы через:

// blabla...
GLuint texture;
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*) image_data);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
// ...blabla
return texture;

Таким образом, этот метод возвращает GLuint со стороны С++ и прикрепляет преобразованное значение Integer в качестве свойства «id» к объекту в контексте JavaScript:

var texture = new Texture('./texture.png');
texture.load();
texture.onload = function() {
  gl.bindTexture(gl.TEXTURE_2D, texture.id); // this is the casted v8::Integer value
};

При использовании метода bindTexture для глобального объекта gl (пространства имен) в версии 8 он выполняет следующие действия на собственной стороне:

v8::Handle<v8::Value> GLglBindTextureCallback(const v8::Arguments& args) {

  // blabla...
  int arg0 = args[0]->IntegerValue();
  unsigned int arg1 = args[1]->Uint32Value();
  glBindTexture((GLenum) arg0, (GLuint) arg1);
  // ... blabla

}

person Christoph Martens    schedule 25.07.2012    source источник
comment
Я не понимаю, в чем твоя проблема; Я не вижу ни одного.   -  person Ben Voigt    schedule 25.07.2012


Ответы (1)


Как вы думаете, зачем нужен указатель? Вы просто передаете ему GLuint.

person Tim    schedule 25.07.2012