Próbowaliśmy replikować najpopularniejsze tryby mieszania dostępne w Photoshopie i Quartz 2D, ale wymyśliliśmy tylko 3, a to po długich poszukiwaniach online.
Dla wszystkich zainteresowanych są to:
- Pomnóż = GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA
- Screen = GL_MINUS_DST_COLOR, GL_ONE
- Unikanie liniowe = GL_ONE, GL_ONE
Możesz wypróbować te i inne tryby w akcji online, na tej bardzo przydatnej stronie internetowej: http://www.andersriggelsen.dk/glblendfunc.php
Bylibyśmy wdzięczni, gdyby ktokolwiek mógł zapewnić nam dodatkowe tryby mieszania, które możemy odtworzyć w Cocos2D, ponieważ nasze doświadczenie Open GL jest naprawdę bardzo ograniczone.
Z góry dziękuję!
Argiris
opengl-es
cocos2d-iphone
ios
blending
Argiris
źródło
źródło
Odpowiedzi:
Zła wiadomość jest taka, że nie można zaimplementować wszystkich trybów mieszania Photoshopa za pomocą glBlendFunc, mimo że istnieje wiele kombinacji, których można użyć.
Dobrą wiadomością jest to, że po przejściu na shadery pomarańczowa książka (OpenGL Shading Language, http://www.amazon.com/exec/obidos/ASIN/0321637631/khongrou-20 ) zawiera rozdział z shaderem naśladujący mieszankę programu Photoshop tryby.
Na szczęście wszystko, czego prawdopodobnie będziesz potrzebować w świecie przed shaderem, to trzy najpopularniejsze tryby mieszania;
EDYCJA :
Powiązane (prawie zduplikowane) pytanie dotyczące stackoverflow: /programming/818230/photoshop-blending-mode-to-opengl-es-without-shaders
Mieszające programy cieniujące Photoshop: http://mouaif.wordpress.com/2009/01/05/photoshop-math-with-glsl-shaders/
źródło