【发布时间】:2016-10-28 20:07:19
【问题描述】:
我有一个 sprite_sheet(示例表):
我作为矢量数据加载,我需要从指定区域制作新纹理。像这样:
const std::vector <char> image_data = LoadPNG("sprite_sheet.png"); // This works.
glMakeTexture([0, 0], [50, 50], configs, image_data) //to display only one sqm.
但我不知道怎么做,因为大多数 GL 函数只能在整个区域中工作,比如 glTexImage2D。
// Only have width and height, the bottomLeft coords is 0, 0 -- I want to change this.
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, &(_sprite_sheet.data[0]));
有没有办法在不将完整的 sprite_sheet 作为纹理加载的情况下做到这一点?
OBS:我正在使用 picoPNG 解码 PNG,我可以加载 png,但不能从指定区域制作纹理。
【问题讨论】:
标签: c++ opengl textures glut glew