我正在尝试使用图像数据作为 BYTE * 创建一个 gl::Texture 对象,其参数如下。
FreeGLUT - 我用它来创建一个 2d 纹理并将其绑定到一个四边形。:
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, textureWidth, textureHeight, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, data);
glBindTexture(GL_TEXTURE_2D, 0); etc etc
这很好用,但是我找不到在 Cinder 中创建 gl::Texture 对象的方法。
text = gl::Texture(loadImage(loadAsset("text.jpg"))); // works with images files
text = gl::Texture(data, GL_RGBA8, 640, 480); // BTYE * data This gives me a grey screen -
这似乎是最有可能的,但是我不知道如何处理 Format format = format();
Texture (const unsigned char *data, int dataFormat, int aWidth, int aHeight, Format format=Format())
我真的不了解它是如何工作的,也无法在网上找到更好的教程。谢谢。