- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为 OpenGL/V8/JavaScript 中的纹理使用实现 OpenGL 绑定(bind)。
我的问题很简单:
OpenGL 的 glBindTexture() 方法需要一个指向 GLuint 的指针还是只需要一个有效的 GLuint?
这里的 khronos 文档说它只需要一个 GLuint。
http://www.khronos.org/opengles/documentation/opengles1_0/html/glBindTexture.html
问题如下:
我在 v8 JavaScript 上下文中有一个自定义数据类型,用于初始化和加载纹理。加载后,纹理通过以下方式生成:
// 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 方法时,它会在 native 端执行以下操作:
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
}
最佳答案
为什么你认为它需要一个指针?您只需将 GLuint 传递给它即可。
关于javascript - glBindTexture() 是否需要 GLuint 指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11650699/
我的游戏渲染了许多立方体,这些立方体随机具有 12 种纹理中的一种。我已经对几何体进行了 Z 排序,因此我不能只使用 texture1 然后 2 然后 3 等渲染所有立方体......因为这会破坏 z
我正在尝试绘制一些简单的 3D 直角棱镜,但 glBindTexture 似乎无法正常工作。 我有 N 个“片段”,每个片段都有一个 Material 名称。 我遍历每一 block ,根据其 Mat
我已经看到缓存了当前 GL 纹理名称的示例代码(尤其是在 iOS GL 项目中),并且在调用 glBindTexture 之前进行了比较。目标是避免对 glBindTexture 的不必要调用。 例如
我正在寻找 glActiveTexture(...) 之间的关系和 glBindTexture(...)我找到了 awesome answer here ,最重要的答案(作者/用户 Alfonse)为
这是我用来绘制 Sprite 的方法: public void DrawSprite(Sprite sprite) { Gl.glBegin(Gl.GL_TRI
我正在渲染棋盘,使用 2 种不同的纹理。一个用于黑色方 block ,一个用于白色方 block 。然而,不是每个不同的正方形都有自己的纹理,它们都采用我调用 glBindTexture(GL_TEX
glBindImageTexture 和 glBindTexture 有什么区别?以及着色器中以下声明之间的区别是什么: layout (binding = 0, rgba32f) uniform i
我正在使用 Cocoa + OpenGL 为 MacOS 构建一个小游戏来创建 GUI。该游戏是 BoulderDash-Clone,因此它基本上是一个 2D 对象数组,而且数量不多(一个关卡大约有
据我所知,glActiveTexture设置事件的“纹理单元”。每个纹理单元可以有多个纹理目标(通常是 GL_TEXTURE_1D、2D、3D 或 CUBE_MAP)。 如果我理解正确,您必须调用gl
如何关闭纹理单元,或者至少在绑定(bind)纹理时防止其状态发生变化?我正在使用着色器,所以我认为没有 glDisable 。问题是事件链可能看起来像这样: Create texture 1 (imp
OpenGL 中 glframebuffertexture 和 glbindtexture 这两个函数在使用上的具体区别是什么。 具体来说,我正在使用 OpenTK 使用 OpenGL 为嵌入式机器编
我正在尝试为 OpenGL/V8/JavaScript 中的纹理使用实现 OpenGL 绑定(bind)。 我的问题很简单: OpenGL 的 glBindTexture() 方法需要一个指向 GLu
我还是 opengl3 的新手,我正在尝试创建多 channel 渲染。 为此,我创建了 FBO,生成了多个纹理并使用 将它们附加到它上面 unsigned index_col = 0;
我正在多 GPU 设置(Mac Pro 2013 年末)中开发 OS X 应用程序,该应用程序使用 OpenCL(在辅助 GPU 上)生成纹理,稍后使用 OpenGL 将其绘制到屏幕上(在主 GPU)
我正在使用 C++ 和 Opengl,我正在尝试使用 SOIL,但是当我编译时,我得到了对 glBindTexture、glTexImage2D 等的 undefined reference 。但是,
我正在尝试将 OpenCV cv::Mat 图像转换为 OpenGL 纹理(我需要一个指向纹理的 GLuint)。到目前为止,这是我从大量 Google 搜索中拼凑而成的代码: void otherF
我的一个纹理在 OpenGL 上有一个糟糕的行为。 删除纹理后,我创建一个新纹理,它生成与之前相同的 tex 编号,但纹理不正确。另外 glGetError 在每一行总是返回 0!我试图在 glDel
请问一个关于 iOS 5.0 框架中的 GLKit 的快速问题。 如果您使用 GLKTextureLoader,它是否只加载当前事件纹理单元中的纹理?我查看了示例,但没有看到您必须说变量 x 中的 G
我是 OpenGL 新手,我的纹理有一个奇怪的问题 - 寻找正确方向的插入。 我有一个应用程序,它使用渲染纹理技术来实现某种效果 - 它运行得非常好。每次需要时,我都会绘制到屏幕外缓冲区,并且能够在渲
您好,我要在显示器中绘制 35 张图像。我在 7X5 网格中绘制它。图片是从网上下载的。每次下载图像时,我都会尝试绘制全部 35 张图像。但其中一些尚未下载。所以我为他们绘制了一些默认图 block
我是一名优秀的程序员,十分优秀!