基本的に、私は次のように定義されたカラーマトリックスを持っています:
struct ColourXForm
{
float4 mul;
float4 add;
float4 Transform(float4 colour)
{
return float4(
colour.x * mul.x + add.x,
colour.y * mul.y + add.y,
colour.z * mul.z + add.z,
colour.w * mul.w + add.w);
}
}
私がやりたいのは、画面にレンダリングされるときに、テクスチャの各ピクセルに関数「変換」を適用することです。フレーム内の同じ画像に異なる色変換行列を複数回適用できるため、実際にテクスチャを変更することはできません(そして、テクスチャをレンダリングするときまで何が適用されるかわかりません)。シェーダーも使用します。
これらの要件を考慮してこれを行う方法はありますか?(これまでの私の唯一のアイデアはマルチテクスチャリングですが、それを適用する方法を理解することはできません)
また、私はOpenGLを初めて使用するので、コードを投稿したり、チュートリアルや必要な関数/パラメーターを紹介したりすると便利です。
ありがとう
編集:もう1つ言及する必要があるのは、テクスチャに事前に乗算されたアルファが含まれているため、ブレンドは次のように設定されていることです。glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);