Я хочу добиться плавного эффекта слияния изображения на срезном разрезе. Вырезанный срез я получил из приведенного ниже кода.Осколки фрагмента шейдера достигают эффекта
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;
}
Приведенный выше код приводит к изображению внизу.
Actual:
Центр покрой:
Желаемая Выход:
Что я хочу это резкого сокращения не должно быть там, должно быть плавное градиентное слияние обеих половин.
Не могли бы вы сделать фотошоп, чтобы продемонстрировать желаемый результат? – datenwolf
@ datenwolf это желаемый результат. [link] (http://i.imgur.com/XRKUf.jpg) – Manish
datenwolf хорошо справляется с актуальным вопросом; мой единственный комментарий заключается в том, что вы, вероятно, увидите лучшую производительность с двумя изменениями, которые представляют две возможные координаты выборки, а не одну, которую вы динамически изменяете. Противоинтуитивно, возможно, даже быстрее выполнить оба примера безоговорочно, а затем выбрать цвет (но вам нужно будет профилировать - см. Стр. 87 из https://developer.apple.com/library/ios/documentation/3DDrawing/Conceptual/ OpenGLES_ProgrammingGuide/OpenGLES_ProgrammingGuide.pdf) – Tommy