iOSプラットフォーム用に開発しているxcodeでGPUimageを使用しています。
たとえば、ライブ ビデオ ストリームを取得して、3x3 グリッドの 9 つのタイルに変換しようとしています。
ビデオを元のサイズ 0.33 にスケーリングしてから、フラグメント シェーダーを適用して、スケーリングされたビデオを他のタイルに繰り返してみました。
ただし、シェーダーはビュー全体ではなく、スケーリングされたビデオにのみ適用されます。
ここに私のシェーダーがあります:
varying highp vec2 textureCoordinate;
uniform sampler2D inputImageTexture;
uniform mediump float range;
void main()
{
mediump vec2 p = textureCoordinate;
if (p.x > 0.66) {
p.x = (p.x-0.66);
}
else if (p.x > 0.33) {
p.x = (p.x-0.33);
}
if (p.y > 0.66) {
p.y = (p.y-0.66);
}
else if (p.y > 0.33) {
p.y = (p.y-0.33);
}
lowp vec4 outputColor = texture2D (inputImageTexture, p);
gl_FragColor = outputColor;
}
助言がありますか?