2012-12-30 3 views
0

cocos2d 2.0에서 쉐이더로 흐림 효과를 적용하려고합니다. 나는 두 개의 조각 쉐이더를 가지고 있는데 하나는 수평 방향을위한 것이고 다른 하나는 수직을위한 것입니다. 둘 다 작동하지만 두 가지 방법으로 흐림 효과를 얻을 수 있어야합니다. 스프라이트에 하나의 셰이더 프로그램 만 연결할 수 있기 때문에 동일한 스프라이트에서 두 조각 셰이더를 사용하는 방법을 이해할 수 없습니다. 이것을하기위한 특별한 방법이 있습니까?Cocos2d의 한 텍스처에서 두 조각 쉐이더를 사용하려면 어떻게해야합니까?

+0

Cocos2d에 대해서는 잘 모르겠지만 OpenGL (Cocos2d가 사용하는 것으로 가정)에서 텍스처로 뒷받침되는 프레임 버퍼 객체 (FBO)를 만들어야합니다. FBO로 첫 번째 패스를 한 다음 방금 쓴 텍스처를 다음 패스의 입력으로 사용합니다. – user1118321

+0

동일한 텍스처에 두 개의 조각 쉐이더를 할당 할 수 있다고 생각하지 않습니다. 대신 쉐이더 코드를 하나에 병합하십시오. – LearnCocos2D

+0

나는 흐림 효과를 위해 두 번에 해보고 싶거나 성능이 나쁘다는 것을 읽었습니다. – AwDogsGo2Heaven

답변

1

'해결책'을 찾았습니다.

CCRenderTexture를 사용하여 첫 번째 셰이더가있는 스프라이트를 그린 다음 그 결과를 사용하여 위에 두 번째 셰이더를 실행할 수 있습니다.

이상적은 아니지만 작동합니다.