2012-06-24 5 views
0

glBlendFunc()를 사용하여 포토샵의 차이 합성 기능을 근사값으로 사용하면서 다른 이미지를 합성하고 있습니다. 두 이미지의 유사점이 검정색이되고 다른 것이 튀어 나오길 원합니다.glBlendFunc를 사용하여 Photoshop Difference 합성물을 근사값으로 계산하는 방법은 무엇입니까?

glBlendfunc()는 컨텍스트에서 합성 된 모든 이미지와 연관되어 있음을 이해합니다. 그 맞습니까?

답변

1

나는 glBlendFunc로 이것을 어떤 식 으로든 생각할 수 없다. 이 같은 것을 사용할 수 있습니다

glBlendEquation(GL_FUNC_SUBTRACT); 
glBlendFunc(GL_ONE, GL_ONE); 

을하지만 두 번째 텍스처의 크기가 첫 번째 (제로로 고정 될 음수 어떤 감산 결과)로 큰 때 만 작동합니다.

멀티 샘플링 쉐이더를 사용하여 두 텍스처를 동시에 샘플링 한 다음 그 결과를 절대 차이로 출력하는 것이 좋습니다.

gl_FragColor = abs(texture2D(tex1, uv) - texture2D(tex2,uv)); 
+0

은 texture2D DirectX 기능입니까? 필자는 OSI에서 CoreImage 필터를 사용하여 수행 할 수 있지만 성능상의 이유로 CoreImage를 사용하려고합니다. – kernelK

+1

texture2D는 GLSL 함수입니다. 셰이더 프로그래밍에 익숙하십니까? @ 커널 K – Tim

+0

불행히도. 하지만 이제는 그것이 GLSL의 일부라는 것을 알게 되었으니, 나는 더 자세히 살펴볼 것입니다. – kernelK

관련 문제