创建一个空白的opengl纹理

时间:2011-05-20 14:52:37

标签: opengl textures

我正在开发一个游戏引擎,而Texture类中的一个函数应该是创建一个具有指定宽度,高度和像素格式的空白纹理。

我知道如何创建纹理以及所有这些,我也知道我可以使用glTexImage2d格式化它,并将null作为数据。令我恼火的是,我必须告诉openGL我的数据格式(即使它为空)这意味着我必须编写一个函数将PIXEL_INTERNAL_FORMAT枚举转换为PIXEL_FORMAT和PIXEL_TYPE。

如何让opengl仅根据PIXEL_INTERNAL_FORMAT分配内存?

1 个答案:

答案 0 :(得分:0)

PIXEL_FORMATPIXEL_TYPE不应与PIXEL_INTERNAL_FORMAT匹配。它们应该描述您传入的数据,因此OpenGL可以在必要时进行转换。如果没有传入数据,则不会进行转换。

因此,当数据指针为空时(假设您没有绑定VBO),可以对这两个参数使用任何合法值。