glBlendFunc와 Cocos2D의 블렌드 모드


9

우리는 Photoshop과 Quartz 2D에서 사용할 수 있는 가장 일반적인 블렌딩 모드 를 복제하려고 시도 했지만 3을 찾았으며 온라인에서 오랜 시간 검색 한 후입니다.

관심있는 사람은 다음과 같습니다.

  • 곱하기 = GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA
  • 화면 = GL_MINUS_DST_COLOR, GL_ONE
  • 선형 닷지 = GL_ONE, GL_ONE

이 매우 유용한 웹 사이트에서 온라인 및 이러한 모드를 시도해 볼 수 있습니다. http://www.andersriggelsen.dk/glblendfunc.php

Open GL 환경이 실제로 제한되어 있기 때문에 누구나 Cocos2D에서 다시 만들 수있는 추가 블렌딩 모드를 제공 할 수 있다면 누구나 감사하겠습니다.

미리 감사드립니다!

아르 기리스


1
Linear Dodge (Add) = GL_ONE, GL_ONE은 andersriggelsen.dk/glblendfunc.php 및 Photoshop 에서 와 동일하게 동작 합니까? 스프라이트를 투명하게 만드나요? 나를 위해 작동하지 않음
Rakka Rage

답변:


4

나쁜 소식은 glBlendFunc를 사용하여 포토샵의 블렌드 모드를 모두 구현할 수는 없다는 것입니다.

희소식은 셰이더로 이동할 때 주황색 책 (OpenGL Shading Language, http://www.amazon.com/exec/obidos/ASIN/0321637631/khongrou-20 )에 Photoshop 블렌드를 에뮬레이트하는 셰이더가 포함 된 장이 포함되어 있다는 것입니다 모드.

운 좋게도 셰이더 프리 월드에서 필요할 수있는 것은 가장 일반적인 세 ​​가지 블렌드 모드입니다.

  • 추가 : GL_ONE, GL_ONE
  • 블렌드 : GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA
  • 곱하기 : GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA와 같이 다양합니다.

편집 :

stackoverflow에 대한 관련 (거의 중복) 질문 : https : //.com/questions/818230/photoshop-blending-mode-to-opengl-es-without-shaders

Photoshop 블렌딩 셰이더 : http://mouaif.wordpress.com/2009/01/05/photoshop-math-with-glsl-shaders/

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.