openFramwork の ofTexture は、テクスチャーの形式が GL_TEXTURE_2D ではなくて GL_TEXTURE_RECTANGLE_ARB になっているので注意が必要。これは、GLEEで拡張機能を調べ、Texture_rectangle拡張が有効な環境だとそうなる。
Texture_rectangleでは、
・2のべき乗以外のサイズの画像が使える
のは便利だが、
・textureTarget が GL_TEXTURE_RECTANGLE_ARB
・テクスチャー座標が[0-1]でなく[0-w][0-h]
・shader変数の型は sampler2D でなく sampler2DRect
・shaderでのサンプリング関数は texture2DRect
なので注意。
気付かなくてかなりハマった。
ofTexture は allocation時にオプションを与えて無効にできるが、ofImage や ofxFBOTexture 経由では無効化できない。