GlBlendFunc ile Cocos2D'de Karışım Modları


9

Photoshop ve Quartz 2D'de bulunan en yaygın karıştırma modlarını çoğaltmaya çalışıyoruz , ancak yalnızca 3 ile geldik ve bu uzun bir çevrimiçi arama yaptıktan sonra.

İlgilenen herkes için buradalar:

  • Çarpın = GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA
  • Ekran = GL_MINUS_DST_COLOR, GL_ONE
  • Doğrusal Soldurma = GL_ONE, GL_ONE

Bunları ve diğer bu modları çevrimiçi olarak bu çok yararlı web sitesinde deneyebilirsiniz: http://www.andersriggelsen.dk/glblendfunc.php

Şimdi, herkes bize Cocos2D içinde yeniden oluşturabileceğimiz ek karıştırma modları sağlayabilirse memnun oluruz, çünkü Open GL deneyimimiz gerçekten, gerçekten sınırlıdır.

Şimdiden teşekkür ederim!

Argiris


1
Linear Dodge (Add) = GL_ONE, GL_ONE bu sizin için andersriggelsen.dk/glblendfunc.php ve photoshop'taki gibi mi davranıyor ? spriteları şeffaf yapar mı? benim için çalışmıyor
Rakka Rage

Yanıtlar:


4

Kötü haber, kullanabileceğiniz bir bazilyon kombinasyon olmasına rağmen, photoshop'un tüm karışım modlarını glBlendFunc ile uygulayamamanızdır.

İyi haber şu ki, gölgelendiricilere taşındığınızda, turuncu kitap (OpenGL Gölgelendirme Dili, http://www.amazon.com/exec/obidos/ASIN/0321637631/khongrou-20 ) photoshop'un karışımını taklit etmek için gölgelendiricilere sahip bir bölüm içeriyor modları.

Neyse ki, gölgelendirici öncesi dünyada muhtemelen ihtiyacınız olan tek şey en yaygın üç karışım modudur;

  • Ekle: GL_ONE, GL_ONE
  • Karışım: GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA
  • Çarpın: bahsettiğiniz gibi çeşitli: GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA

DÜZENLE :

Stackoverflow ile ilgili (neredeyse yinelenen) soru: /programming/818230/photoshop-blending-mode-to-opengl-es-without-shaders

Photoshop karıştırma gölgelendiricileri: http://mouaif.wordpress.com/2009/01/05/photoshop-math-with-glsl-shaders/

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.