さて、私は 2D オープンソース ゲーム クライアントを改造しており、ゲーム オブジェクトのテクスチャに透明性を追加しようとしていました。すでにアルファチャンネルを読み込んでロードしています。テクスチャは、形式と内部形式が RGBA の openGL に既に読み込まれています。
問題は、ピクセルのアルファ チャネルが 255 (または 1) 未満の場合、画面に表示されないことです。アルファチャンネルを無視せず、RGBのみを表示し、ピクセルを非表示にします。このクライアントは、描画に OpenGL とシェーダーを使用します。
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA )
、 glDisable(GL_DEPTH_TEST)
およびを呼び出して、既にブレンディングを有効にしていますglColorMask(1,1,1,1)
。