我很难理解 OpenGL 中纹理和图像之间的关系。我知道当纹理在 iPhone 上由 GPU 渲染时,它们是固有的开销,这正是您创建 CCSpriteBatchNode (cocos2d) 以及纹理图集以减少这种开销的原因。但是 GPU 如何使用相同的纹理绘制不同的图像,例如岩石、敌人、船只甚至是巨大的怪物?我在某处读到纹理应该是存储图像颜色元素值的 OpenGL 缓冲区,但就像我说的那样,可能有许多不同类型的对象具有不同的颜色值,那么如何使用相同的纹理来绘制它们?
我完全无法区分纹理和我们可以绘制的真实图像,比如说在 Illustrator 上,然后使用纹理图集将其复制到我们的项目中。另一个有趣的事情是,纹理应该有 2 次方的维度,但图像可以有任何维度!任何人都可以准确地指导我纹理是什么以及它与图像有何不同?谢谢你。