센터 컷에서 이미지의 부드러운 효과를 병합하고 싶습니다. 센터 코드는 아래 코드에서 얻었습니다.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;
}
위의 코드는 아래 이미지에 영향을줍니다.
실제 :
센터 컷 :
이 가 원하는 출력:
은 내가 원하는 것이있다 날카로운 커팅은 거기에 있으면 안됩니다. 양쪽 모두 부드러운 그라데이션 병합이 있어야합니다.
원하는 결과를 보여주기 위해 포토샵을 사용해주세요. – datenwolf
@datenwolf 이것은 원하는 출력입니다. [link] (http://i.imgur.com/XRKUf.jpg) – Manish
datenwolf는 실제 질문을 잘 다루고 있습니다. 내 유일한 의견은 당신이 동적으로 수정하는 것보다는 두 가지 가능한 샘플링 좌표를 나타내는 두 개의 변수로 더 나은 성능을 보일 가능성이 높다는 것입니다. 직관적으로, 두 샘플을 무조건 수행 한 다음 색상을 선택하는 것이 더 빠를 수도 있습니다 (그러나 프로파일 링해야합니다 - https://developer.apple.com/library/ios/documentation/3DDrawing/Conceptual/ 페이지 87 참조). OpenGLES_ProgrammingGuide/OpenGLES_ProgrammingGuide.pdf) – Tommy