AndroidでOpenGLアプリを作っていたところ、glTexImage2DがGL_INVALID_VALUE (1281) というエラーになって動かない。よくよく調べると、テクスチャの寸法が768x768と、2のベキじゃない値になっている。元のPNGファイルは間違いなく512x512なのに。誰かが勝手に画像を拡大している!? と、ここまで気づくのに2日間。 このテクスチャは、PNGをres/drawableに置いておき、BitmapFactory.decodeResource(Resources,int)で読み込んでいたのだが、このメソッドが勝手に拡大しているとしか思えない。 decodeResourceメソッドには、引数を3個取るバージョンがあって、第3引数にはBitmapFactory.Optionsというものを渡す。この説明をよーく読むと、Options.inScaledというパ
![AndroidのOpenGLテクスチャでハマる - Alissa Sabre at Second Life](https://cdn-ak-scissors.b.st-hatena.com/image/square/a917a73b44e5bcdb7d1cc5747e4530a39a9a075e/height=288;version=1;width=512/http%3A%2F%2Falissa-sabre.cocolog-nifty.com%2F.shared-pleasy%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)