2012-03-25 15 views
8

次の頂点シェーダがあれば、座標を上下反転させる最も単純で効率的で、最も速い方法は何ですか?フラグメントシェーダはイメージを生成し、逆さまにしますか?頂点シェーダを逆さまに反転する(GLES)

attribute vec4 a_position; 
attribute vec2 a_texcoord;             
varying vec2 v_texcoord; 

void main() 
{ 
    v_texcoord = a_texcoord.st; 
    gl_Position = a_position; 
} 
+0

頂点位置座標またはテクスチャ座標?また、あなたがそれらのポジションに使用するトランスフォームにこれを入れるのは意味がありません(何らかの変換を行うつもりであると仮定して)。 –

答えて

13

ちょうど反転v_texcoord。だから

v_texcoord = a_texcoord.st * vec2(1.0, -1.0); 

それとも、私が推測する:

v_texcoord = vec2(a_texcoord.s, 1.0 - a_texcoord.t); 

あなたは.tの範囲に起こるしたい正確に何によって。

+2

優秀! "vec2(a_texcoord.s、1.0 - a_texcoord.t)"を使用し、完璧に動作します。 – PerracoLabs

+1

v_texcoord = vec2(a_texcoord.s、1.0 - a_texcoord.t); - 簡単で美しい解決策、ありがとう – gbk

関連する問題