固定パイプライン openGL のみを使用して、フラグメント シェーダーを使用せずに RGB テクスチャをグレースケールとして描画することは可能ですか?
そうしないと、2 つのバージョンのテクスチャを作成する必要があり、1 つはカラーで、もう 1 つは白黒です。
RGB テクスチャと固定関数パイプラインでこれを行う方法がわかりません。
RGB ソース データからテクスチャを作成し、内部形式を GL_LUMINANCE として指定した場合、OpenGL はカラー データをグレースケールに変換します。標準の白い素材と MODULATE モードを使用します。
お役に立てれば。
いいえ。テクスチャ環境コンバイナーは、スケール/バイアス操作を行わずに内積を実行することはできません。つまり、常に [0, 1] 値が [-1, 1] 値としてエンコードされているふりをします。それをオフにすることはできないので、適切な内積を行うことはできません。