OpenGL の基本概念を理解しようとしています。それから1週間、私はまだそこから遠く離れています。glsl に入ると、何をすべきかはわかりますが、そこにたどり着くのは少し難しいと思います。
現在、操作して提示するビデオピクセルを渡すことができます。その後、静止画像をオーバーレイとして追加しようとしています。これは私が迷子になるところです。私の最終的な目標は、ビデオと静止画の両方からのピクセル データを使用して、同じフラグメント シェーダーになることです。これは、2 つのテクスチャが必要で、2 つのピクセル バッファを渡すことを意味していると思います。私は現在、次のようにビデオピクセルを渡しています:
glGenTextures(1, &textures[0]);
//target, texture
glBindTexture(GL_TEXTURE_2D, textures[0]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_BGRA, GL_UNSIGNED_BYTE, buffer);
次に、画像の 2 番目のバッファーを使用して、テクスチャ [1] でこのプロセスを繰り返しますか? その場合、GL_TEXTURE0 と GL_TEXTURE1 の両方をバインドしますか? ...そして、私のシェーダは次のようになりますか?
uniform sampler2D videoData;
uniform sampler2D imageData;
シェーダーに入ったら?どんな組み合わせを試しても、画像と動画はどちらも動画データだけになってしまうようです。
ここに統合された多くの質問について申し訳ありません。私の多くの仮定をクリアして先に進みたいだけです。質問を少し明確にするために、説明されているプロセスで静止画像からピクセルを追加するにはどうすればよいですか? (「わかりやすい」サンプル コードまたは任意の種類のヒントをいただければ幸いです)。