glBindTexture()是否需要GLuint指针
Does glBindTexture() require a GLuint pointer?
我正在尝试在OpenGL/V8/JavaScript中实现纹理使用的OpenGL绑定。
我的问题很简单:
OpenGL的glBindTexture()方法需要指向GLuint的指针,还是只需要有效的GLuint?
这里的khronos医生说它只需要一个GLuint。
http://www.khronos.org/opengles/documentation/opengles1_0/html/glBindTexture.html
问题如下:
我在v8JavaScript上下文中有一个自定义数据类型,用于初始化和加载纹理。加载后,纹理通过:生成
// 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;
因此,此方法从c++端返回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
};
当在v8中对全局gl(命名空间)对象使用bindTexture方法时,它在本机端执行以下操作:
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
}
为什么您认为它需要一个指针?你只要传一个球就行了。
相关文章:
- 1d 智能指针不适用于语法 (*)++
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 为什么使用 "this" 指针调用派生成员函数?
- 函数向量_指针有不同的原型,我可以构建一个吗
- 使用指针从C++中的数组中获取最大值
- 助记符和指向成员语法的指针
- 嵌入方指针压缩已禁用
- 数组的指针从不分段故障
- C++ 指针的内存地址和指向数组的内存地址如何相同?
- 何时在引用或唯一指针上使用移动语义
- QMetaObject invokeMethod的基于函数指针的语法
- 如何从 std::atomic 中提取指针 T<T>?
- 如何在 C# 中映射双 C 结构指针?
- C++将浮点指针值舍入为小数位数
- 为什么++(*p)更改指针值
- 调整大小后指向元素值的指针unordered_map有效?
- 正在将指针转换为范围
- 使用指向成员的指针将成员函数作为参数传递
- 将OpenCV C++重写为EmguCV C#-如何使用指针
- glBindTexture()是否需要GLuint指针