【发布时间】:2011-04-14 16:36:43
【问题描述】:
有没有一种简单快捷的方法可以在 OpenGL 中创建未初始化的纹理?
我目前的做法是这样的:
std::vector<byte> nothing = std::vector<byte>([size of texture in bytes]);
glTexImage(
target,
level,
internalFormat,
size,
border,
format,
type,
nothing
);
但这不涉及上传任何内容。
另一种方法是创建一个未初始化的缓冲区(通过调用不带数据的 glBufferData)并从该缓冲区创建纹理。但是 afaik 这有两倍的内存占用(而且我的内存预算很低)。
有没有一种好方法可以创建稍后写入的纹理而不使用带宽或额外内存?
【问题讨论】: