OpenGLES でスプライト/テクスチャを反転するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/103421

  •  01-07-2019
  •  | 
  •  

質問

スプライトをテクスチャとしてロードしており、それをアニメーション化して、左または右に「向く」ことができるようにする必要があります。基本的に、場合によってはそれを「反転」する必要があります。OpenGL には、オブジェクトの位置を変更する gltranslate と、オブジェクトを回転する glotate があることは知っています。1つの軸を横切って単純に反転する方法はありますか?そうでない場合、どうやってこれを達成しますか?

役に立ちましたか?

解決

ポイントスプライトはいじったことがありませんが、テクスチャだと思います。テクスチャにはテクスチャ マトリックスがあるため、次のことが可能になります。 glTranslatef(), glScalef() そして glRotatef() それらの上に。

私は次のようなことを試してみます glScalef(-1,1,1); これはテクスチャ座標を X 軸で反転します。

先ほども言いましたが、私はポイント スプライトをいじったことはありませんが、テクスチャ マトリックスもいじりませんでした。ただし、それらは非常に便利なようです。

アップデート: その間、テクスチャ マトリックスをいじってみました。モデルビュー マトリックスと投影マトリックスを切り替えるのと同じ方法で、テクスチャ マトリックスに切り替えることができます。約: glMatrixMode(GL_TEXTURE); その後、前述の操作を行うことができます。

四角形または 2 つの三角形をペイントして完了することもできます :)

他のヒント

OpenGL ポイントスプライトではこれを行うことはできません。スプライトの中心を移動することはできますが、スプライトの形状は常に同じ方向を向いています。

あなたは何ですか できる スプライトを四角形として描画することで、自由に反転、回転、いじることができます。スプライト (別名ビルボード) を手動で描画するチュートリアルがあります。 ネーヘ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top