私が見たところ、GL_ALPHA8
内部ピクセル形式は OpenGL 3.1 の OpenGL コア仕様から削除されました。アルファチャンネルを備えたピクセルフォーマットはもうないようですが、RGBチャンネルはありません。GL_RGBA8
これは、テクスチャを作成して RGB コンポーネントを 255 に設定し、メモリの 75% を浪費するしかないということですか?
1225 次
2 に答える
4
単にGL_R8
フォーマットを使用してください。テクスチャを適切にスウィズルするように変更することが懸念される場合は、フェッチ時にスウィズル マスクを設定することができます。例えば:
GLenum swizzleMask = {GL_ZERO, GL_ZERO, GL_ZERO, GL_RED};
glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA, swizzleMask);
于 2011-11-17T19:56:47.720 に答える
2
GL_RED
フラグメント シェーダーでアルファとして使用および処理できます(例: output_colour = vec4(1., 1., 1., texture2D(sampler, texcoords).r);
)。
于 2011-11-17T19:10:38.737 に答える