0
外側にフェードアウトする六角形のパーティクルをレンダリングしたい。私は各パーティクルにTRIANGLE_FANを使用しました。しかし、透明性はあまり良くありません。OpenGLの透明度を持つGL_TRIANGLE_FANsとしてのパーティクルのレンダリング
glBegin(GL_TRIANGLE_FAN);
glColor4f(c.x, c.y, c.z, particle.temperature/100.0);
glVertex3f(0, 0, 0);
glColor4f(0, 0, 0, 0);
glVertex3f(0.866025404 * H/2, 0.5 * H/2, 0);
glVertex3f(0, 1 * H/2, 0);
// other vertices omitted
glEnd();
出力がちらつきがあり、一部のフレームで不透明なオブジェクトの上に黒の透明部分が描画されています。このバグを避けるために、どのようにしてレンダリングルーチンを変更する必要がありますか?あなたが見ているもの
ブレンド設定はどのように見えますか? – Kos
glBlendFunc(GL_SRC_ALPHA、GL_ONE_MINUS_SRC_ALPHA); – Etan
ああ、私は同僚のミニクラフトプレーヤー(例えば、画面の下部にあるミニクラフトアイコン)を見つけました:-) – Jonathan