oF: ofVideoGrabberの鏡像反転

openFrameworksでPC(Mac)のカメラから取得した映像を使うにはofVideoGrabberクラスを使いますが、これを左右反転のミラー状に反転表示させたい場合。

Webで「openFrameworks mirror」等で検索すると2010年の記事で、カメラ映像の全ピクセルをgetPixelsで取得して、反転させたものをテクスチャオブジェクトに貼る方法が紹介されています。

全ピクセルをfor文で取得して回るのがどうも気持ちよくない感じがしまして、以下のように書くことでも同様にカメラ映像を反転させることができました。

//testApp.cpp

/*
testApp.hの方で
ofVideoGrabber grabber;
int camWidth;
int camHeight;
ofTexture tex;
を定義済みであるとします。
*/

//--------------------------------------------------------------
void testApp::setup(){
    camWidth = 640;//幅
    camHeight = 480;//高さ
    grabber.initGrabber(camWidth, camHeight);//カメラの初期化
    tex.allocate(grabber.width, grabber.height, GL_RGB);//表示用テクスチャ
}

//--------------------------------------------------------------
void testApp::update(){
    ofBackground(0, 0, 0);//背景色
    grabber.update();//カメラ更新
    if (grabber.isFrameNew()) {//更新があったら
        tex = grabber.getTextureReference();//カメラテクスチャをテクスチャにコピー
    }
}
//--------------------------------------------------------------
void testApp::draw(){
    //第3引数の-camWidthで反転する。
    //反転すると座標も反転するので(0,0)に表示させたい場合は(camWidth,0)と指定してやる
    tex.draw(camWidth, 0, -camWidth, camHeight); 
}

Flasherにもおなじみの普通の方法だと思うのですが、ネット上でoFで同じようなアプローチした記事が見つけられなかったので何か不安になりましたが、ちゃんと反転表示されています。