1 puan yazan GN⁺ 2024-12-30 | 1 yorum | WhatsApp'ta paylaş
  • Dijital boyamadaki RGB enterpolasyonu, gerçek boyanın karışımından farklı görünebilir; Mixbox bunu pigment tabanlı karıştırma ile iyileştirmeyi amaçlayan bir kütüphanedir
  • Geliştirici, mevcut lerp kullanımında olduğu gibi yalnızca iki renk ve karışım oranını verir; Mixbox sonuç rengini RGB girişi · RGB çıkışı biçiminde döndürür
  • Mixbox 2.0, C++, Python, Javascript, GLSL, HLSL, C#, Java, Rust üzerinde çalışır ve Unity, Android Studio, P5js, WebGL, Godot ortamlarını destekler
  • Amaç; smudge, doku fırçası katmanlama ve koyu renk tabanlı gradyanlarda bulanık karışımı azaltmak ve daha zengin ara renkler ile renk değişimleri üretmektir
  • Kullanıcının doğrudan kurduğu bir eklenti değil, blending mode için kod olduğundan, gerçek boyama araçlarında kullanılabilmesi için ilgili yazılım geliştiricisinin entegrasyonu gerekir

Gerçek boya gibi karışmayan dijital renk sorunu

  • Genel boyama yazılımlarındaki renk karıştırma, gerçek pigmentler gibi çalışmaz
  • Mixbox, gerçek boyaya daha yakın renk karıştırmayı dijital boyamaya uygulamak için geliştirilmiş bir kütüphanedir
  • İçeride renkleri Kubelka & Munk tabanlı pigmentler gibi ele alır, ancak API basit RGB girişi ve RGB çıkışı biçiminde sunulur
  • İlgili kaynaklar:

Boyaya yakın renk etkileri

  • Renk değişimi içeren zengin gradyanlar

    • Doğal ve canlı karışım renkleri oluşturabilir
    • Fırça darbelerinde daha zengin geçişler beklenebilir
    • Smudge fırçası, bulanık karışım yerine doğal gradyanlar üretmek için kullanılabilir
    • Dokulu fırça darbeleri katmanlandığında renkler doygunluğunu kaybetmeden zengin ve canlı geçişler oluşturabilir
    • Yalnızca kalem basıncıyla koyu renkten başlayan derin gradyanlar oluşturulabilir

Kullanım örnekleri ve demolar

  • Mixbox, dijital yağlı boya ve suluboya özellikleri sunan bir boyama aracı olan Rebelle'in çekirdek bileşenlerinden biri olarak kullanılır
  • Blender için Flip Fluids eklentisinde, sıvıların gerçekçi renk ifadesi için Mixbox kullanılır
  • Doğrudan deneyebileceğiniz bir demo painter sunulur
  • Tarayıcıda çalışan kodlama örnekleriyle grafikler veya kod üzerinde doğrudan çalışabilirsiniz

Geliştiricinin kullanım şekli

  • Mixbox, klasik lerp arayüzünü sunar
  • Geliştirici iki RGB rengi ve karışım oranı t değerini verir, ardından karıştırılmış RGB sonucunu alır
  • Örnek kodlar C/C++, GLSL, Javascript, Python, Java/Android, Rust, Unity/C# biçimlerinde sunulur
  • Belgelerdeki örnekler, mavi rgb(0, 33, 133) ile sarı rgb(252, 211, 0) rengini t = 0.5 ile karıştıran yapıyı tekrar tekrar gösterir
  • Desteklenen diller ve ortamlar:
    • Diller: C++, Python, Javascript, GLSL, HLSL, C#, Java, Rust
    • Motorlar · frameworkler: Unity, Android Studio, P5js, WebGL, Godot

Entegrasyon biçimi ve lisans

  • Mixbox, kullanıcının doğrudan kurduğu bir eklenti değildir
  • Bir boyama yazılımına girmesi için ilgili yazılım geliştiricisinin bunu yeni bir blending mode için kod olarak entegre etmesi gerekir
  • Kullandığınız boyama aracında Mixbox görmek istiyorsanız kullanıcı forumuna veya destek kanalına talep bırakabilirsiniz
  • Mixbox, CC BY-NC 4.0 lisansıyla dağıtılır ve ücretsiz değerlendirme mümkündür
  • Ticari ürün yayınına hazırlık aşamasında ticari lisans ayarlanması gerekir

Pigment karışımının prensibi

  • Gerçek pigment karışımı yalnızca basit toplamsal ya da çıkarmalı karışımla açıklanmaz; ikisi birlikte karmaşık biçimde çalışır
  • Tüpten çıkan boyalar karıştırıldığında ışık malzemenin içine girer, tekrar tekrar saçılır ve emilir; son renk böyle oluşur
  • Bu süreç yüzey altı saçılımı (subsurface scattering) ile açıklanır
  • Ek açıklama kaynakları:

Mixbox'ın içerdiği pigment adları

  • Mixbox'ın ele aldığı pigment adları şunlardır
    • Cadmium Yellow Light, Hansa Yellow, Cadmium Yellow Deep
    • Cadmium Orange Light, Cadmium Orange
    • Cadmium Red Light, Cadmium Red Medium, Pyrrole Red
    • Alizarin Crimson, Quinacridone Magenta
    • Cobalt Violet, Ultramarine Violet
    • Ultramarine Blue, Cobalt Blue, Phthalo Blue, Cerulean Blue, Prussian Blue
    • Phthalo Green, Permanent Green, Permanent Green Light, Sap Green
    • Burnt Sienna, Indian Red, Bone Black

1 yorum

 
GN⁺ 2024-12-30
Hacker News yorumları
  • 2012'de iPad için Paper çizim uygulamasının ekibi renk karıştırma hakkında ilginç bir şeyler paylaşmıştı: https://www.fastcompany.com/3002676/magical-tech-behind-pape...
    Özetle, başlangıçta gerçekçi pigment karıştırma davranışı uygulamışlar; ancak kullanıcı testlerinde, daha önce hiç resim yapmamış kişilerin karıştırarak istedikleri rengi pek oluşturamadığı ve işin genellikle kahverengiyle bittiği görülmüş. Bu yüzden daha sezgisel hissettiren gerçekçi olmayan bir karıştırma algoritması geliştirmek zorunda kalmışlar

    • O yazı gerçekten harika. Ancak bu çalışma etkileyici olsa da iki şeye bakmak gerekiyor
      Yağlı boya karıştırmak öğrenilmesi gereken bir beceri ve sezgisel çalışmıyor; bu nedenle muhtemelen yalnızca gerçek ortamda zaten resim yapan ya da bunu öğrenmek isteyen kişiler için yararlı olur
      Ayrıca ArtRage 10 yılı aşkın süredir en gerçekçi boyama yazılımı sayılabilir; gerçek renk karıştırma modu var ve varsayılan değil gibi görünüyor. Örnek sayfadaki sonuçtan çok daha yakın sonuçlar veriyor: https://i.ibb.co/T0GwbDV/artrage-mixing.jpg sağ tarafta gerçek renk karıştırma açık
  • Web sayfasına bakarken başta, boyama yazılımlarının basit enterpolasyondan öte renk karıştırma denemediğini bilmiyordum; ışıkla ilgili fiziğin epey karmaşık olduğunu ve RGB'de kaybolan çok bilgi olduğu için bunu geri kazanmanın zor olacağını düşündüm
    Biraz aşağı inince kütüphane olarak kullanılan bir kod parçası var; işlemin RGB üzerinde yapıldığını görünce şaşırdım. Makale bağlantısına tıklayınca, işin özünün RGB renkleri temel pigmentlerin karışımı ve toplamsal artık olarak temsil eden bir örtük renk uzayı oluşturmak, sonra da bu örtük değerleri doğrusal işlemlerle manipüle ederek beklenebilir, makul sonuçlar üretmek olduğunu gördüm
    Çok zekice ve popüler dil modeli alanının dışında modern makine öğrenimi tekniklerinin iyi kullanıldığı bir örnek gibi görünüyor. İçeride algısal renk uzayı ve fizik tabanlı ön bilgi de kullanıyor; teknik olarak etkileyici ve güzel bir çalışma
    Eskiden beri aklımda olan bir fikirle de örtüşüyor. Üretken görüntü modellerine ya da görüntü kodlayıcı modellerine RGB yerine dalga boyu verisi, ya da en azından algısal olarak tekdüze bir renk uzayı verilse daha iyi çalışmaz mı diye düşünüyorum. Konilerimizin tesadüfen tepki verdiği dalga boylarını kabaca kullanmaktan daha gerçeğe yakın görünüyor

    • Konilerin hemen arkasında bile başka hücrelerin koni sinyallerini hesaplayıp toplulaştırdığını hesaba katmak gerekir. Rengin beynin inşa ettiği bir şey olduğunu unutmamak lazım
      Bu ve başka nedenlerle uyaran ile algı arasında sık sık güçlü bir kopukluk vardır; dolayısıyla algısal olarak tekdüze renk uzayı diye bir şey yoktur
    • Yapay zeka ya da makine öğrenimine hiç gerek yok. Çeşitli gerçek pigmentlerin doğrusal olmayanlığını açıklayan ve sınırlayan birkaç sabiti ampirik olarak ölçüp, görece basit bir boya karıştırma denklemine koymak yeterli
      Boyaların karıştırıldığında hangi rengi vereceğine ilişkin öngörülebilir matematiksel özellikleri vardır. Sadece doğrusal olmayan biçimde karıştıkları için, boya karıştırma konusunda çok pratik yapmamış kişilere sezgisel gelmez
      Photoshop ve sayfada yer alan diğer karşılaştırma programları, çoğu insanın sezgisel olarak beklediği doğrusal karışımı gösteriyor
    • SIGGRAPH Asia 2021'de bu yaklaşımı 17 dakika boyunca ayrıntılı anlatan bir video var: https://www.youtube.com/watch?v=_qa5iWdfNKg
      Hem dijitalin toplamsal rengini hem de fiziksel medyanın çıkarmalı rengini ele alıyorsanız oldukça ilginç bir içerik
    • Bildiğim kadarıyla çoğu boyama uygulaması renkleri doğrusal RGB uzayında değil, sRGB uzayında karıştırıyor. Bu yüzden basit enterpolasyondan bile daha kötü olabilir
  • Bu birkaç yıldır vardı, ama ticari olmayan ve kısıtlayıcı lisansı yüzünden sınırları büyük
    https://krita-artists.org/t/implementing-mixbox-mixing-for-k...

  • Windows 3.0 döneminde Fractal Designer Painter adlı bir yazılım olduğunu hatırlıyorum. Pastel, yağlı boya, sulu boya, guaj gibi malzemeleri doğru biçimde taklit eden çeşitli motorları vardı; karıştırmayı, fırça darbelerini, basıncı vb. simüle ediyordu.
    800x600x24 bit ekranın lüks sayıldığı bir dönemde inanılmaz derecede gerçekçi görünüyordu ve i486 bilgisayarlarda çok yavaştı. Az önce baktım; şimdi Corel Painter olmuş.
    Hâlâ iyi mi ve eski/güncel algoritmaları bu yeni kütüphaneyle nasıl karşılaştırılır merak ediyorum. Ne yazık ki yazarlar Corel Painter ile karşılaştırmamış.

    • Evet. Birkaç kez el değiştirmiş olsa da Painter hâlâ var, her yıl güncelleniyor ve yazıda gördüğüm özelliklerin hepsini yapıyor.
      90’lardan beri dijital sanat için Painter kullanmamın nedeni renk karışımının iyi olması ve gerçek sanat araçlarıyla iyi örtüşmesi. Sadece boya değil, pastel, kurşun kalem, kalem vb. seçenekleri de çok fazla.
      Ancak bu tür özellikleri kendi uygulamanıza koyabileceğiniz bir kütüphane olarak sunmuyordu; bu kesinlikle yeni ve iyi bir şey gibi geliyor. Ama bunun daha önce hiç yapılmadığı iması epey yanlış.
    • 2015 sürümü bende var; modern PC’lerde hâlâ eskisinden daha iyi çalışıyor.
  • Secret Weapons’ın yapay zeka video patlaması başlamadan 2-3 yıl önce neden 100 milyon dolarlık risk sermayesi yatırımı almadığını merak ediyorum.
    İlk olarak, yaygın kullanılan ilk yapay zeka tabanlı videodan videoya stil aktarımı ve ana kare enterpolasyonu sistemi olan EbSynth ile ortaya çıktılar: https://ebsynth.com/
    EbSynth, Joel Haver gibi komedyenleri ve benzer pek çok yaratıcıyı ortaya çıkardı: https://www.youtube.com/watch?v=SY3y6zNTiLs&list=PLKtIcOP0Wv...
    Kaiber.ai gibi çeşitli şirketler de teknolojilerini EbSynth üzerine kurup büyük tohum yatırımları aldı: https://kaiber.ai/
    Önde gelen müzisyenler de EbSynth’i doğrudan ya da bu şirketler üzerinden müzik videolarında kullandı. Linkin Park: https://www.youtube.com/watch?v=7NK_JOkuSVY, Magdalena Bay: https://www.youtube.com/watch?v=dXLCHvRsgRQ
    Secret Weapons, yapay zeka video ve yapay zeka yaratıcı araçları alanını ele geçirmek için iyi bir konumdaydı; dışarıdan bakınca bu fırsatı kaçırmış gibi görünüyor.

    • Çok hızlı bir göz gezdirmeyle söylüyorum ama video difüzyon modelleri ile EbSynth farklı kategoriler gibi görünüyor.
      EbSynth daha çok maskeleme ve izleme için bir Final Cut Pro eklentisine benziyor. Beklenen müşteri kitlesi benzer olabilir, ancak mühendislik ekibinin ihtiyaç duyacağı yetkinlikler ve kaynaklar oldukça farklı.
      Secret Weapons’ın yapay zeka video ve yaratıcı araçları ele geçirmeye hazır olduğu ifadesi biraz abartılı görünüyor.
    • Bu video 3 yıl öncesine ait: https://www.youtube.com/watch?v=6FN7fKlJcPE
      3 yıl önce bile bu kadar ilerlenmiş olduğunu bilmiyordum.
  • Kütüphanenin kendisiyle pek ilgilenmiyorum; shader’lar vb. için yalnızca saf matematik implementasyonu istiyorum. GLSL algoritması burada ve istediğiniz fonksiyon vec3 mixbox_lerp:
    https://github.com/scrtwpns/mixbox/blob/master/shaders/mixbo...
    Demo yapacak zamanım yok ama oldukça iyi optimize edilmiş görünüyor ve örneklerde de iyi duruyor. Yapanların işi harika.

    • Yine de lisansa dikkat etmek gerek.
  • 3 yıl önceki önceki tartışmalar var:
    https://news.ycombinator.com/item?id=30116316 71 puan, 15 yorum
    https://news.ycombinator.com/item?id=30033611 60 puan, 13 yorum
    Bu yöntemi kullanan ticari boyama uygulaması Rebelle’i deneyen var mı merak ediyorum.

    • Rebelle çok iyi. Hızlı ve yüksek çözünürlükte de iyi çalışıyor.
      Painter’dan daha az özelliği var ama bu aslında bir avantaj.
      Hâlâ eksik olan şey, kömür gibi kuru malzemelerin doğru hissi ve taşıyıcı yüzeyle derin entegrasyon. Şu anda çoğunlukla sığ bir derinlik haritasına daha yakın; ahşap ya da pütürlü kâğıt, hatta bulut gibi yüzeyler kadar pürüzlü hissettirmiyor.
      Şimdilik en sevdiğim uygulama ve renk karışımı zaten bir süredir çok iyi.
  • Harika görünüyor ama All Rights Reserved + CC-BY-NC olduğu için Krita, GIMP, Blender’a varsayılan implementasyon olarak eklenmesi mümkün değil.

  • Minyatür boyuyorum; temel aşamaları geçip glaze ile filtre veya blending kullanmaya başladığınızda, yazılımla boyama planını denemek pek iyi olmuyor. Bu çok iyi görünüyor.

  • Bu gerçekten harika ve tüm boyama programlarında bir seçenek olarak yer almalı; öte yandan çizim öğrenme sürecini daha karmaşık hale getirmez mi diye düşünüyorum.
    Boya renklerini karıştırmak sezgisel olmadığı için öğrenilmesi gereken bir beceri.
    Hayatın neredeyse her diğer alanında A ile B’yi karıştırınca doğrusal bir değişim olmasını beklersiniz. Suya tuz koyarsanız tuzluluk artar; bir noktada ekşi olup sonra tekrar tuzlu olmasını beklemezsiniz.

    • Fiziksel medyadan dijitale ya da dijitalden fiziksel medyaya geçen biri için geçişi basitleştirecek gibi görünüyor.
      Web sayfasındaki Mixbox algoritması karışım örnekleri gerçek gibi görünüyor; diğer programlardaki karışımlar ise aksine hatalı görünüyor.
      Ancak Mixbox’ın gerçek fiziksel pigment özelliklerini hesaba kattığını sanmıyorum; bu özellikler pigment karışımını ciddi biçimde etkileyebilir.