我想在中心切割上实现图像的平滑合并效果。我从下面的代码中取得了中心。Opengles片段着色器达到效果
varying highp vec2 textureCoordinate;
uniform sampler2D videoFrame;
void main(){
vec4 CurrentColor = vec4(0.0);
if(textureCoordinate.y < 0.5){
CurrentColor = texture2D(videoFrame,vec2(textureCoordinate.x,(textureCoordinate.y-0.125)));
} else{
CurrentColor = texture2D(videoFrame,vec2(textureCoordinate.x,(textureCoordinate.y+0.125)));
}
gl_fragColor = CurrentColor;
}
上面的代码给出了下图的效果。
实际:
中心切:
所需的输出:
我想是的不应该有锐利的切割,应该有平滑的渐变合并两半。
请问您可以用photoshop来展示所需的结果吗? – datenwolf 2012-03-14 14:55:52
@datenwolf这是所需的输出。 [链接](http://i.imgur.com/XRKUf.jpg) – Manish 2012-03-14 15:28:48
datenwolf正在处理实际问题;我唯一的评论是,你可能会看到更好的表现,两个变化代表两个可能的采样坐标,而不是你动态修改的一个。反直觉地说,无条件地做两个样本然后选择一种颜色可能会更快(但是您需要配置文件 - 请参阅https://developer.apple.com/library/ios/documentation/3DDrawing/Conceptual/ OpenGLES_ProgrammingGuide/OpenGLES_ProgrammingGuide.pdf) – Tommy 2012-03-14 15:50:50