テクセル(四角形)があり、その4つのコーナーにアクセスする必要があります。OpenGL-es:テクセルのコーナーにアクセスする方法
vec2 offset = vec2(1,1)/vec2(texWidth, texHeight)
texture2D (texSource, texCoord + 0.5 * offset * ????)
トップ2とボトム2のコーナーの両方を取得するにはここをクリックしてください。
[編集]:テクスチャは常に範囲[0の数字によって対処されるコードトミーの答え
" vec2 pixelSize = vec2(offsetx,offsety);\n" +
" vec2 halfPixelSize = pixelSize * vec2(0.5);\n" +
" vec2 texCoordCentre = vTextureCoord - mod(vTextureCoord, pixelSize) + halfPixelSize;\n" +
" vec2 topLeft = texCoordCentre - halfPixelSize;\n" +
" vec2 bottomRight = texCoordCentre + halfPixelSize;\n" +
" vec2 topRight = texCoordCentre + vec2(halfPixelSize.x, -halfPixelSize.y);\n" +
" vec2 bottomLeft = texCoordCentre + vec2(-halfPixelSize.x, halfPixelSize.y);\n" +
" vec4 p00 = texture2D(sTexture, topLeft);\n" +
" vec4 p02 = texture2D(sTexture, bottomRight);\n" +
" vec4 p20 = texture2D(sTexture, topRight);\n" +
" vec4 p22 = texture2D(sTexture, bottomLeft);\n" +
" vec4 pconv = 0.25*(p00 + p02 + p20 + p22);\n" +
ありがとうございました詳細な答えはトミー。私はあなたが提案したようなコードをしました。 \t 最終的に、3x3ガウスぼかし畳み込みと同じ結果を得るために、その4つのコーナーをサンプリングすることによってテクセルの畳み込み値を計算したかったのです。 しかし、私は両方のアプローチの間に大きな違いがあります。 5までのR、G、Bの変化は許容可能であった(この手法とガウスブラーの間)。 しかし、私は42までのバリエーションを持っています。私はコメントを追加できませんでしたので、私の質問の一部としてコードを追加しました。両方の場合にGL_LINEARテクスチャマッピングを使用しています。 – deeps8us