Renk tarihi, RGB, HSB, CMYK, Lab, renk uzayları, algısal düzgünlük, Alpha kanalı, histogram, renk paletleri, HDR, kontrast, renk psikolojisi, ImageMagick ve oyunlarda renk kullanımı
Aşağıdaki plan, dersin genel gidişatını göstermek amacıyla hazırlanmıştır. Öğrenci ihtiyaçlarına, ilerleme hızına ve güncel gelişmelere bağlı olarak konu sıralaması ve içeriklerde değişiklikler yapılabilir. Sınav haftalarında ders işlenmez.
| Hafta | Konu | Teori | Uygulama / Lab |
|---|---|---|---|
| 1 | Bilgisayar Grafiğine Giriş | Piksel, Raster vs Vektör, GPU vs CPU, Grafik Pipeline | GIMP ile piksel atölyesi |
| 2 | Renk Teorisi | RGB, HSB, Alpha, Renk Paletleri, Erişilebilirlik | GIMP / Coolors.co ile renk çalışması |
| 3 | Dijital Görüntü Temelleri | Çözünürlük, DPI/PPI, Dosya Formatları, Sıkıştırma | Sprite hazırlama |
| 4 | 2D Dönüşümler ve Koordinat Sistemleri | Translation, Rotation, Scaling, Pivot, Matris Temelleri | Dönüşüm uygulamaları |
| 5 | Pixel Art ve 2D Asset Oluşturma | Pixel Art İlkeleri, Dithering, Karakter Tasarımı | Sprite Sheet oluşturma |
| 6 | 2D Animasyon Temelleri | Frame-by-frame, Tweening, Easing, Animasyon İlkeleri | Animasyon uygulaması |
| 7 | Tilemap ve Seviye Tasarımı | Tile Sistemi, Tileset Tasarımı, Parallax | Tiled Map Editor |
| 8 | 📝 ARA SINAV | Bu hafta ders işlenmez — tüm süre sınava ayrılmıştır | |
| 9 | 3D Grafik Temelleri | 3D Koordinatlar, Mesh, Vertex, Polygon | Blender'a giriş |
| 10 | 3D Modelleme | Box Modeling, Extrude, Modifier | Prop Modelleme |
| 11 | Materyal, Texture ve UV Mapping | Texture, UV Mapping, Normal Map, PBR Temelleri | Blender UV workshop |
| 12 | Işık ve Render | Işık Türleri, Gölgeler, Ambient Occlusion | Render uygulaması |
| 13 | Shader ve Post-Processing | Shader Kavramı, Post-Process Efektleri | Shadertoy |
| 14 | Grafik Optimizasyonu ve Pipeline | Draw Call, Batching, LOD, Atlas, Profiling | Profiling uygulaması |
| 15 | Final Proje Sunumları | Proje Sunumları + Akran Değerlendirmesi | |
| Final | 📝 FİNAL SINAVI | Ders işlenmez — tüm dönem konularından sınav | |
| Etkinlik | Adet | Katkı % |
|---|---|---|
| Haftalık Lab Katılım & Çalışmalar | ~10 | 15% |
| Ödevler (GitHub Classroom) | 3 | 20% |
| Ara Sınav (Teori + Uygulama) | 1 | 25% |
| Final Projesi | 1 | 40% |
Bu ders kapsamındaki tüm sınavlar, ödevler ve projeler 2547 sayılı Yükseköğretim Kanunu ve ilgili yönetmelikler çerçevesinde değerlendirilir. Sınavlarda kopya çekmek, kopya vermek veya buna teşebbüs etmek disiplin suçudur.
📄 2547 Sayılı Yükseköğretim Kanunu: PDF İndir
⚠️ Tüm öğrenciler, kayıtlı oldukları üniversitenin öğrenci disiplin yönetmeliğini okumakla yükümlüdür.
Renk aslında beyninizin bir yorumudur. Fiziksel dünyada "kırmızı" diye bir şey yoktur — sadece farklı dalga boylarında elektromanyetik ışınlar vardır. Gözlerimiz bu ışınları algılar, beynimiz onları "renk" olarak yorumlar.
Fiziksel olarak, ışık bir elektromanyetik dalgadır. İnsan gözünün algılayabildiği dalga boyları yaklaşık 380 nm (nanometre) ile 700 nm arasındadır. Bu aralığa "görünür ışık spektrumu" denir. 380 nm civarı mor/menekşe, 700 nm civarı kırmızı olarak algılanır. Gökkuşağı, beyaz ışığın prizma veya yağmur damlalarıyla farklı dalga boylarına ayrılmasıdır!
Bir ağaç yaprağı ormanda yeşil görünür çünkü yeşil dalga boyundaki ışığı yansıtır, diğer dalga boylarını emer. Renkler objelerin kendisinde değil, ışıkta ve algımızdadır! Aynı yaprak kırmızı ışık altında siyah görünür — çünkü yansıtacak yeşil ışık yoktur.
İnsan gözünde retina üzerinde iki tür ışığa duyarlı hücre vardır:
~564 nm'de (kırmızı bölge) en duyarlı. Kırmızı ve turuncu ışığa tepki verir.
~534 nm'de (yeşil bölge) en duyarlı. Yeşil ışığa tepki verir. L-koni ile çok örtüşür.
~420 nm'de (mavi-mor bölge) en duyarlı. Mavi ve menekşe ışığa tepki verir.
Bilgisayar ekranları Red (Kırmızı), Green (Yeşil), Blue (Mavi) kullanır çünkü gözümüz tam olarak bu üç dalga boyuna duyarlı! Bu üç rengi farklı yoğunluklarda karıştırarak, beynimizi milyonlarca farklı rengi algılıyormuşuz gibi kandırabiliyoruz. Aslında ekranda sarı renk yoktur — kırmızı ve yeşil alt pikseller yan yana yanınca beynimiz "sarı" olarak algılar!
Işık, elektromanyetik tayfın sadece küçük bir diliminde yer alır. Tüm elektromanyetik tayf şöyle sıralanır:
| Dalga Boyu | Tür | Enerji | Kullanım Alanı |
|---|---|---|---|
| < 0.01 nm | Gama Işınları | En yüksek | Nükleer fizik, kanser tedavisi |
| 0.01 - 10 nm | X Işınları | Çok yüksek | Tıbbi görüntüleme |
| 10 - 380 nm | Morötesi (UV) | Yüksek | Güneş yanığı, sterilizasyon, blacklight efektleri |
| 380 - 700 nm | Görünür Işık | Orta | Görme, ekranlar, fotoğrafçılık! |
| 700 nm - 1 mm | Kızılötesi (IR) | Düşük | Uzaktan kumanda, gece görüşü, termal kamera |
| 1 mm - 1 m | Mikrodalga | Çok düşük | Mikrodalga fırın, Wi-Fi, 5G |
| > 1 m | Radyo Dalgaları | En düşük | FM/AM radyo, TV, Bluetooth |
Kısa dalga boyları (mor, mavi) daha yüksek enerjili, uzun dalga boyları (kırmızı) daha düşük enerjili. Bu yüzden morötesi ışık cildi yakar ama kızılötesi sadece ısıtır. Gözümüz bu enerji farkını "renk" olarak algılar. Beyaz ışık aslında tüm dalga boylarının eşit karışımıdır — Newton bunu prizma deneyi ile 1666'da keşfetmiştir.
Gökkuşağı: Güneş ışığı yağmur damlalarında prizma gibi kırılarak tayfına ayrılır. LCD Ekranlar: Beyaz LED backlight, renk filtreleri ile RGB alt piksellere ayrılır. OLED Ekranlar: Her piksel kendi ışığını üretir — bu yüzden gerçek siyah gösterebilir (piksel tamamen kapanır). Lazer: Tek bir dalga boyunda ışık yayar — bu yüzden çok "saf" bir renk görürüz.
İnsanlar üç tür koni hücreyle (trikromatik) görür, ama hayvanlar çok farklı renk dünyalarında yaşar:
Köpekler mavi ve sarı tonlarını görür, ama kırmızı ve yeşili ayırt edemez (insanlardaki deuteranopiye benzer). "Köpekler siyah-beyaz görür" efsanesi yanlıştır — sadece renk yelpazesi daha dardır.
🎾 Kırmızı top yeşil çimde köpek için neredeyse aynı renk! Mavi veya sarı top alın.
Kediler de köpeklere benzer dikromatik görüşe sahiptir ama gece görüşleri insanlardan 6-8 kat iyi. Tapetum lucidum adlı yansıtıcı katman sayesinde az ışıkta çok daha iyi görürler (gözleri karanlıkta parlamasının sebebi!).
İnsanlar 3 koni ile ~10 milyon renk görürken, Mantis Karidesi 16 farklı fotoreseptör tipine sahiptir! Morötesi ve kızılötesi ışığı bile görebilir. Doğadaki en karmaşık görme sistemi. Ancak renkleri karıştırmaz, doğrudan tanır.
Arılar morötesi (UV) ışığı görebilir ama kırmızıyı göremez. Çiçekler UV ışıkta insan gözünün göremediği "pist işaretleri" (nektar kılavuzları) gösterir. Arılar için kırmızı bir çiçek siyah görünür!
Kuşların çoğu 4 koni hücresine sahiptir (tetrakromatik) — UV dahil. İnsanların hiç göremediği renkleri algılarlar. Ayrıca kartalların görüş keskinliği insanın 4-8 katıdır.
Çukurluçenesi yılanları (pitonlar, çıngıraklı yılanlar) burunlarının yanındaki "pit organları" ile kızılötesi (termal) ışığı algılar. Karanlıkta avlarının vücut ısısını "görürler" — doğal termal kamera!
Bazı oyunlar hayvan perspektifinden oynamanıza olanak tanır. Assassin's Creed'deki kartal görüşü, Wolf Among Us'taki kurt perspektifi... Bir köpek simülasyonu oyunu yapsanız, renk paletini nasıl değiştirirdiniz? Cevap: Kırmızı ve yeşili aynılaştırır, mavi-sarı ekseninde tutardınız!
Çok nadir de olsa, bazı kadınlarda 4 tip koni hücresi bulunabilir (tetrakromasi). Bu kişiler ~100 milyon renk ayırt edebilir — normal insanın 10 katı! Bu genetik durum sadece kadınlarda görülür çünkü koni hücre genleri X kromozomundadır. Tahminen dünya kadın nüfusunun %2-3'ünde etkin tetrakromasi olabilir.
Renkleri karıştırmanın iki temel yolu vardır ve bu fark çok önemlidir:
Işık kaynakları birbirine eklenir. Daha fazla ışık = daha açık renk.
Kullanıldığı yer: Ekranlar, monitörler, LED, projektörler — yani bilgisayar grafiği!
Pigmentler ışığı emer (çıkarır). Daha fazla boya = daha koyu renk.
Kullanıldığı yer: Yazıcılar (CMYK), resim boyaları, matbaa
İlkokulda "ana renkler kırmızı, sarı, mavi" diye öğrenmiş olabilirsiniz. Bu aslında çıkarımsal (boya) karıştırma için yaklaşık doğrudur (CMYK: Cyan, Magenta, Yellow). Ama ışık (ekran) için ana renkler: Kırmızı, Yeşil, Mavi (RGB). Bilgisayar grafiğinde hep RGB dünyasındayız çünkü ekranlar ışık yayar, boya sürmez!
Renk teorisi, hem bilimsel hem de sanatsal bir geçmişe sahip derin bir alandır. Modern dijital renk sistemlerini anlamak için bu tarihi bilmek, tasarımcıların daha bilinçli kararlar almasını sağlar. Aşağıda renk teorisinin önemli dönüm noktaları özetlenmiştir.
Bilinen ilk renk teorilerinden biri, Eski Yunan'da yazılan On Colors metninde bulunur. Metin, tüm renklerin karanlık ile aydınlık arasındaki bir spektrumda var olduğunu ve dört ana rengin dört elementten (ateş, hava, su, toprak) geldiğini savunur. Bugün tuhaf görünse de "karanlık bir renk değildir, sadece ışığın yokluğudur" gibi önemli gözlemler de içerir.
Isaac Newton, 1704'te yayımladığı Opticks ile ışığın doğasını kökten değiştirdi. Newton, beyaz ışığı prizmadan geçirdiğinde renk tayfına ayrıldığını keşfetti ve ardından bu tayf renklerini tekrar birleştirerek beyaz ışığa döndürebildi. Kırmızı ile morun karışımıyla tayfta olmayan magenta rengini üreterek renk tayfını bir çembere sardı — tarihte ilk renk çemberi.
Newton'un çemberinde 7 renk vardı (haftanın günleri ve müzik notalarıyla eşleştirilmiş). Çember, iki rengin karıştırma sonucunu tahmin etmek için kullanılabiliyordu: çember üzerinde ortadaki rengi gösterin.
Alman şair Wolfgang von Goethe, 1810'da yayımladığı Theory of Colors ile rengin insan algısına odaklandı. Üç ana renk — magenta, sarı ve mavi — belirledi ve bunların diğer tüm renkleri karıştırabileceğini savundu. Newton'la çelişir gibi görünse de aslında ikisi de haklıydı: Newton toplamsal (ışık), Goethe çıkarımsal (boya) karışımı anlatıyordu.
Goethe'nin ardışık görüntü (afterimage) ve optik illüzyon deneyleri, renk algısının ne kadar göreceli olduğunu gösterdi — bu çalışmalar Itten ve Albers'i derinden etkileyecektir.
Newton'un (ışık) ve Goethe'nin (boya) yaklaşımları arasındaki fark, iki temel renk karıştırma yöntemini temsil eder:
18.-19. yüzyılda sanatçılar renk tayfını 3 boyutlu katılar olarak göstermeye başladı:
Kaynaklar: Programming Design Systems
Amerikan ressam Albert Henry Munsell, insan deneyleri ve mekanik aletlerle algısal olarak düzgün bir renk modeli yaratmayı başardı. Renk uzayını üç boyuta ayırdı:
Munsell, renk katısının düzensiz bir şekle sahip olması gerektiğini fark eden ilk kişiydi: Koyu tonların doygunluk aralığı daha dar, bazı tonlar diğerlerinden daha geniş bir chroma aralığına sahip. Bu boyutlar bugün hâlâ HSV/HSL modellerinin temelini oluşturur.
Munsell'in sistemi hâlâ birçok güzel sanatlar okulunun müfredatında kullanılmaktadır. Sayısal renk notasyonu fikri (renkleri isim yerine koordinatlarla ifade etme) bugünkü dijital renk kodlarının atası sayılabilir.
20. yüzyılın başında Bauhaus okulu renk eğitiminde devrim yarattı:
Itten, The Art of Color (1961) kitabında tasarımcıların ustalaşması gereken 7 renk kontrastı tanımladı: açık-koyu kontrastı, ton kontrastı, sıcak-soğuk kontrastı, tamamlayıcı kontrast, eşzamanlı kontrast, doygunluk kontrastı ve alan kontrastı. Bu sınıflandırma hâlâ renk hakkında sistematik düşünmenin temelini oluşturur.
Itten'in öğrencisi Albers, Interaction of Color (1963) kitabında rengin ne kadar göreceli olduğunu gösterdi. En ünlü deneyi: iki farklı arka plan üzerindeki aynı renkteki iki kare, tamamen farklı renkler gibi algılanır.
Sol kare
Sağ kare
İki küçük kare tamamen aynı renktir (#8a7060). Arka plan rengi algımızı değiştirir. Albers'in en ünlü deneyi.
Bu tarih bize önemli şeyler öğretiyor:
📖 Programming Design Systems: A Short History of Color Theory — Bu tarihin detaylı anlatımı
RGB, bilgisayar ekranlarında kullanılan temel renk modelidir. Her renk, Kırmızı (R), Yeşil (G) ve Mavi (B) bileşenlerinin karışımından oluşur. Bu model doğrudan gözümüzün üç tür koni hücresine karşılık gelir.
Her bileşen 0 ile 255 arasında bir değer alır:
RGB değerlerini rgb(R, G, B) formatında yazarız. Örneğin: rgb(233, 69, 96) —
bu, çok kırmızı, biraz yeşil, biraz mavi demektir. Sonuç: koyu pembe/kırmızı bir ton.
1) R ve G'yi 255 yapıp B'yi 0 yapın → Sarı! (kırmızı + yeşil ışık = sarı algısı)
2) Üç slider'ı da aynı değere getirin → Gri tonları!
3) Cilt rengi yapmayı deneyin → Turuncu tonlarında (R yüksek, G orta, B düşük)
Neden 0-255? Çünkü her bileşen 8 bit (1 byte) ile saklanır. 2⁸ = 256 farklı değer (0'dan 255'e). Üç bileşen birlikte: 256 × 256 × 256 = 16.777.216 farklı renk! Buna "True Color" veya "24-bit renk" denir. Bu sayı, insan gözünün ayırt edebildiği renk sayısından (~10 milyon) bile fazladır — yani pratik olarak "sınırsız renk" demektir.
Bazı temel renklerin RGB değerlerini ezbere bilmek işinize yarar:
| Renk | R | G | B | Not |
|---|---|---|---|---|
| ⬛ Siyah | 0 | 0 | 0 | Hiç ışık yok — ekran kapalı gibi |
| ⬜ Beyaz | 255 | 255 | 255 | Tüm ışıklar tam açık |
| 🔴 Kırmızı | 255 | 0 | 0 | Sadece kırmızı kanal açık |
| 🟢 Yeşil | 0 | 255 | 0 | Sadece yeşil kanal açık |
| 🔵 Mavi | 0 | 0 | 255 | Sadece mavi kanal açık |
| 🟡 Sarı | 255 | 255 | 0 | Kırmızı + Yeşil (Mavi yok) |
| 🩵 Cyan | 0 | 255 | 255 | Yeşil + Mavi (Kırmızı yok) |
| 🩷 Magenta | 255 | 0 | 255 | Kırmızı + Mavi (Yeşil yok) |
| 🩶 Gri (%50) | 128 | 128 | 128 | R=G=B → her zaman gri tonları |
| 🟠 Turuncu | 255 | 165 | 0 | Çok kırmızı + orta yeşil |
| 🟤 Kahverengi | 139 | 69 | 19 | Koyu turuncu — düşük değerlerle |
R, G ve B değerleri birbirine eşit olduğunda her zaman bir gri tonu elde edersiniz. (0,0,0) siyah, (64,64,64) koyu gri, (128,128,128) orta gri, (192,192,192) açık gri, (255,255,255) beyaz. Toplamda 256 farklı gri tonu vardır. Bu bilgi shader yazarken çok işinize yarayacak!
Bir RGB görüntüyü üç ayrı kanal (channel) olarak düşünebilirsiniz. Her kanal tek başına gri tonlu bir görüntüdür:
Her pikselde ne kadar kırmızı olduğunu gösteren gri tonlu görüntü. Beyaz = çok kırmızı, siyah = kırmızı yok.
Her pikselde ne kadar yeşil olduğunu gösteren gri tonlu görüntü. GIMP'te Renk → Ayrıştır ile görebilirsiniz.
Her pikselde ne kadar mavi olduğunu gösteren gri tonlu görüntü. Bu üç kanal birleşince renkli görüntü oluşur!
GIMP'te herhangi bir fotoğrafı açıp Windows → Dockable Dialogs → Channels (Pencereler → Takılabilir Diyaloglar → Kanallar) seçeneğiyle her kanalı tek tek görüntüleyebilirsiniz. Kırmızı bir domates fotoğrafında R kanalı parlak, G ve B kanalları koyu olacaktır!
Web'de ve tasarım araçlarında renkleri HEX (hexadecimal / onaltılık) formatında sıkça görürsünüz. HEX aslında RGB'nin başka bir yazım şeklidir — aynı bilgiyi daha kısa ve kompakt bir şekilde ifade eder.
Neden "onaltılık" (hexadecimal)? Normal (ondalık / decimal) sayı sisteminde 10 sembol kullanılır: 0-9.
Onaltılık sistemde ise 16 sembol kullanılır: 0 1 2 3 4 5 6 7 8 9 A B C D E F.
A=10, B=11, C=12, D=13, E=14, F=15. İki basamaklı bir HEX sayısı 00-FF arasında = 0-255 ondalık.
Ondalık → Onaltılık nasıl çalışır?
Normal sayılar 0-9 arası 10 rakam kullanır. HEX ise 0-9 ve A-F arası 16 sembol kullanır.
A=10, B=11, C=12, D=13, E=14, F=15
Örnek: E9 = (14 × 16) + 9 = 224 + 9 = 233
Örnek: FF = (15 × 16) + 15 = 240 + 15 = 255 (maksimum)
Örnek: 00 = (0 × 16) + 0 = 0 (minimum)
Örnek: 80 = (8 × 16) + 0 = 128 (tam orta)
| Renk | HEX | RGB Karşılığı | Not |
|---|---|---|---|
| ⬛ Siyah | #000000 | rgb(0, 0, 0) | En kısa hali: #000 |
| ⬜ Beyaz | #FFFFFF | rgb(255, 255, 255) | En kısa hali: #FFF |
| 🔴 Kırmızı | #FF0000 | rgb(255, 0, 0) | En kısa hali: #F00 |
| 🟢 Yeşil | #00FF00 | rgb(0, 255, 0) | En kısa hali: #0F0 |
| 🔵 Mavi | #0000FF | rgb(0, 0, 255) | En kısa hali: #00F |
| 🩶 Gri | #808080 | rgb(128, 128, 128) | Web'de "gray" adıyla da kullanılır |
Eğer her kanalın iki basamağı aynıysa, kısaltılabilir: #FF0000 → #F00, #AABBCC → #ABC. Bu sadece yazım kolaylığıdır, anlam aynıdır. CSS'te yaygın kullanılır.
HEX-ondalık çevirme işlemini elle yapmanıza gerek yok! Tüm renk seçici araçlar (color picker) otomatik çevirir. Önemli olan #FF0000 = kırmızı, #00FF00 = yeşil, #0000FF = mavi olduğunu bilmek ve bir HEX kodunu gördüğünüzde yaklaşık olarak ne renk olduğunu tahmin edebilmek.
HEX'in RGB'ye göre avantajları:
#E94560 vs rgb(233, 69, 96) — 7 karakter vs 17 karakterSonuçta HEX ve RGB aynı şeyi ifade eder, sadece yazım biçimi farklıdır. Hangisini isterseniz kullanın!
RGB renkleri karıştırmak bazen zor olabilir — "biraz daha açık turuncu" istediğinizde hangi R, G, B değerlerini değiştirmeniz gerektiğini bilmek kolay değildir. HSB (veya HSL) modeli daha insan dostu bir yaklaşımdır çünkü rengi, insanların renk hakkında düşünme biçimine daha yakın bir şekilde tanımlar.
HSL, rengi üç bağımsız özellikle tanımlar:
Rengin kendisi: kırmızı, turuncu, sarı, yeşil, mavi, mor... Bir renk çemberi üzerinde 0° - 360° derece olarak ifade edilir.
0° = Kırmızı, 60° = Sarı, 120° = Yeşil, 180° = Cyan, 240° = Mavi, 300° = Mor, 360° = tekrar Kırmızı
Rengin canlılığı: çok canlı/doygun mu, yoksa soluk/griimsi mi?
0% = tamamen gri (renksiz), 100% = en canlı hali. Doygunluğu düşürmek rengi "pastel" yapar.
Rengin açıklığı/koyuluğu: siyaha mı yoksa beyaza mı yakın?
HSL'de: 0% = siyah, 50% = en doygun, 100% = beyaz. HSB'de: 0% = siyah, 100% = en parlak.
HSL ile renk üzerinde çok sezgisel kontrol sahibi olursunuz:
"Daha açık kırmızı istiyorum" → L'yi artır, H ve S'ye dokunma
"Daha soluk/pastel mavi istiyorum" → S'yi düşür
"Aynı tonda ama yeşil istiyorum" → H'yi 120°'ye getir, S ve L aynı kalsın
RGB'de bunları yapmak çok daha zor olurdu!
Deneyin: Hue'yu sabit tutup sadece Saturation ve Lightness ile oynayın — aynı rengin çok farklı varyasyonlarını keşfedin! Sonra Hue'yu değiştirip aynı S/L ile farklı renkler yaratın.
HSB/HSV (Hue, Saturation, Brightness/Value) ve HSL (Hue, Saturation, Lightness) birbirine çok benzer ama tam aynı değildir:
İkisini de bilmeniz faydalı! Temel mantık aynıdır, sadece "parlaklık" ölçeği biraz farklı çalışır.
HSL (çift koni) ve HSV (tek koni) renk modellerinin farklı 3D gösterimleri. Hue çemberin etrafında döner, Saturation merkezden dışa artar, Lightness / Value dikey eksende değişir.
Kaynak: Wikipedia — HSL and HSV
| Durum | Önerilen Model | Neden? |
|---|---|---|
| Kod içinde renk belirtmek (CSS, C#, shader) | RGB / HEX | Çoğu API ve format RGB kullanır, doğrudan piksel değeri |
| Renk paleti oluşturmak | HSL | Hue sabit tutup S/L ile varyasyon yaratmak çok kolay |
| Rengi açmak/koyulaştırmak | HSL | Sadece L (Lightness) değerini değiştir, diğerleri sabit |
| Rengi soldurmak/canlılaştırmak | HSL | Sadece S (Saturation) değerini değiştir |
| Shader yazmak (GPU programlama) | RGB | GPU'lar doğal olarak RGB ile çalışır, en hızlı format |
| Renk geçişleri / animasyon | HSL | Hue üzerinde geçiş yapmak gökkuşağı efekti verir, RGB'de garip karışımlar olabilir |
| Tasarımcıyla iletişim | HEX | Tasarımcılar genellikle HEX kodlarıyla konuşur |
RGB ve HSL dışında birçok renk modeli/uzayı (color space) vardır. Her biri farklı bir ihtiyaca göre tasarlanmıştır. Profesyonel grafik çalışmasında bunları bilmek önemlidir.
Cyan, Magenta, Yellow, Key (Black) — Çıkarımsal (subtractive) renk modelidir. Mürekkep/boya ile çalışır.
GIMP'te: Image → Mode → CMYK (GIMP 3.0+) veya Colors → Components → Decompose → CMYK ile kanallara ayırabilirsiniz
Inkscape'te: File → Document Properties → Color Management ile CMYK profili atayabilirsiniz
CIE (Commission Internationale de l'Éclairage) tarafından 1976'da tanımlanan bu model, insan algısına en yakın renk uzayıdır.
Neden önemli? Lab'da eşit mesafe = eşit algısal fark. Bu kavram JND (Just Noticeable Difference — Fark Edilebilir En Küçük Fark) ile doğrudan ilişkilidir. Lab uzayında iki renk arasındaki mesafe ΔE (Delta E) olarak ölçülür. ΔE ≈ 1 bir JND'ye karşılık gelir — yani insan gözünün ayırt edebildiği en küçük renk farkıdır. ΔE < 1 ise fark algılanamaz, ΔE 2-5 arası yakından bakınca fark edilir, ΔE > 5 ise açıkça farklı renkler olarak görülür. RGB/HSL'de ise aynı sayısal mesafe eşit algısal farka karşılık gelmez!
Kullanım: Renk düzeltme, cilt tonu ayarlama, fotoğraf düzenleme, endüstriyel renk kalite kontrolü (boya, tekstil). Photoshop'un dahili renk dönüşümleri Lab üzerinden geçer.
Araç: Colorizer.org — Lab, RGB, CMYK, HSV arasında interaktif dönüşüm yapabilirsiniz
a*-b* düzlemi (L* = 65):
Yatay: a* (yeşil→kırmızı) · Dikey: b* (mavi→sarı) · Koyu bölgeler: gamut dışı
TV yayıncılığı ve video sıkıştırma (JPEG, MPEG, H.264) için tasarlanmış modeldir.
Neden önemli? İnsan gözü parlaklık değişimlerine renkten çok daha hassastır (çubuk hücreler > koni hücreler). YUV bunu kullanır: Y kanalı (parlaklık) tam çözünürlükte saklanır, U ve V kanalları yarı çözünürlükte saklanır → dosya boyutu %50 azalır, göz farkı anlamaz! Buna chroma subsampling (4:2:0) denir.
Kullanım: JPEG sıkıştırma, video codec'ler (H.264, H.265, VP9), TV yayını (PAL/NTSC), video oynatıcılar
Orijinal (RGB)
Y (Luma)
Parlaklık bilgisi
Cb (Mavi fark)
Mavi renk bileşeni
Cr (Kırmızı fark)
Kırmızı renk bileşeni
İnsan gözü parlaklık değişimlerine (Y) renk değişimlerinden (Cb, Cr) çok daha hassastır. JPEG ve video codec'ler bu özelliği kullanarak Cb ve Cr kanallarını yarı çözünürlükte saklar — göz farkı anlamaz ama dosya boyutu %50 azalır! Yukarıdaki Y kanalının ne kadar detaylı olduğuna, Cb/Cr kanallarının ise daha “buğulu” göründüğüne dikkat edin.
Eğer Photoshop/Unity kullanıyorsanız HSV düşünün, CSS/web yapıyorsanız HSL düşünün. Dönüşüm formülleri basittir, çoğu araç otomatik yapar.
Renk modeli (RGB, HSL, CMYK) ile renk uzayı (sRGB, Adobe RGB, DCI-P3) farklı kavramlardır ve bu farkı anlamak dijital renk çalışmasının temelidir. Bir renk modeli, renkleri tanımlamak için kullanılan matematiksel yapıdır (3 boyut, 4 boyut vb.). Renk uzayı ise bu modelin somut, ölçülebilir bir uygulamasıdır — belirli bir cihaz veya standart için hangi renklerin ifade edilebildiğini tanımlar.
Soyut matematiksel yapı. Renk tayfını çok boyutlu bir şekilde temsil eden görselleştirme.
Soru: "Rengi nasıl tanımlıyoruz?"
Modelin somut uygulaması. Belirli bir dizi rengi (gamut) tanımlayan, ölçülebilir standart.
Soru: "Bu renkler gerçekte ne kadar geniş bir aralığı kapsıyor?"
Dosyaya gömülen meta veri. Dijital bir görüntünün hangi renk uzayına ait olduğunu belirtir.
Soru: "Bu dosyadaki renkler hangi uzaya göre?"
Renk modelini bir harita projeksiyon yöntemi (Mercator, Robinson vb.) olarak düşünün. Renk uzayı bu projeksiyonda hangi ülkelerin gösterildiğini belirler. Renk profili ise haritanın lejantıdır — bakan kişiye "bu harita şu projeksiyondadır" bilgisini verir.
1930'larda CIE (Commission Internationale de l'Éclairage), insan denekleri üzerinde yürütülen kapsamlı görme deneyleriyle insan gözünün algılayabildiği tüm renkleri bir diyagrama yerleştirdi. Bu CIE kromatiklik diyagramı (veya CIE XYZ renk uzayı), tüm modern renk uzaylarının referans noktasıdır.
Basitleştirilmiş CIE 1931 kromatiklik diyagramı üzerinde farklı renk uzaylarının gamut'ları. Her üçgenin köşeleri o uzayın ana (primary) renklerini gösterir.
1996'da HP ve Microsoft tarafından oluşturulan ve bugün web'in, çoğu monitörün ve dijital fotoğrafçılığın standardı olan renk uzayı.
Adobe tarafından CMYK baskının gerektirdiği renk aralığını karşılamak üzere oluşturulmuş geniş gamutlu bir uzay.
Dijital sinema endüstrisi tarafından tanımlanan ve Apple'ın 2015'ten beri tüm ürünlerinde benimsediği geniş gamutlu renk uzayı.
color(display-p3 1 0 0) sözdizimi ile kullanılabilir (CSS Color Level 4)Diyelim ki dizüstü bilgisayarınızda ve harici monitörünüzde aynı P5.js çizimini açtınız — ikisi de sarı bir daire gösteriyor. Renk uzayları olmasa, iki ekranın farklı kalitedeki ışıkları yüzünden tamamen farklı sarılar görürdünüz. Renk uzayları şu işlemi standartlaştırır: RGB değerini → CIE XYZ referansına dönüştür → ekranın bilinen ışık özelliklerine göre alt piksel parlaklıklarını ayarla. Sonuç: her iki ekranda aynı sarı.
Dijital bir görüntü ICC profili (renk profili) gömerek piksel değerlerinin hangi renk uzayına ait olduğunu belirtir. Profil olmadan, program renkleri yanlış yorumlayabilir.
📖 Making Sense of Color Management (A Book Apart) — renk yönetimi hakkında kapsamlı kaynak
Unity: Project Settings → Player → Color Space: Linear (fiziksel doğru) vs Gamma (eski tip). Modern oyunlarda Linear önerilir.
Unreal Engine: Varsayılan olarak linear sRGB çalışma uzayı kullanır. ACES tone mapping ile çıktıyı ekrana uygular.
Shader yazarken: Texture sampler sRGB → linear dönüşümünü otomatik yapar. Ancak normal map'ler ve mask texture'lar linear olarak import edilmelidir!
HDR ekranlar: PS5/Xbox Series X, DCI-P3 gamut'unda HDR çıktı üretebilir. Extended sRGB (>1.0 değerler) kullanılır.
sRGB ve onun üzerine kurulu renk modelleri (HSL, HSV) mükemmel görünse de ciddi bir sorunları var: algısal olarak düzgün (perceptually uniform) değiller. Yani eşit sayısal adımlar, gözde eşit renk farkları olarak algılanmaz. Bu, özellikle kodla renk üretirken büyük sorun yaratır.
Aşağıda yeşilden maviye eşit Hue adımlarıyla 10 dikdörtgen çizilmiştir. Üst sıra normal HSL, alt sıra algısal düzeltme uygulanmış. Farkı gözlemleyin:
Neden böyle? CIE kromatiklik diyagramına bakarsanız, yeşil bölge çok geniş bir alan kaplar. 520-560 nm aralığının hepsi "yeşil" olarak görünür. Ama 460-500 nm arası çok daha fazla çeşitlilik içerir (mavi, cyan, yeşilmavi). Bu yüzden HSL'de eşit hue adımlarıyla ilerlerken yeşiller birbirine benzer, ama maviler dramatik şekilde farklılaşır.
CIE'nin 1930'lardaki XYZ uzayını geliştirerek oluşturduğu iki renk uzayı. İkisi de algısal düzgünlük hedefler:
Ancak bu uzaylarda "u, v" veya "a, b" değerleriyle renk tanımlamak sezgisel değil — karanlık mor için hangi LUV değerlerini kullanacağınızı tahmin edemezsiniz. Çözüm: sezgisel modelle birleştirmek.
HSLuv, CIELUV renk uzayını tanıdık Hue-Saturation-Lightness boyutlarıyla kullanmanıza olanak tanır. Sonuç: HSL kadar sezgisel, ama algısal olarak düzgün.
hsluv.hsluvToRgb([h, s, l])// HSLuv → RGB dönüşüm (JavaScript)
const rgb = hsluv.hsluvToRgb([hue, saturation, lightness]);
// rgb dizisi [0-1, 0-1, 0-1] — 255 ile çarparak CSS'e uygun hale getirin
const cssRgb = `rgb(${rgb[0]*255}, ${rgb[1]*255}, ${rgb[2]*255})`;
Björn Ottosson'un 2020'de geliştirdiği Oklab, modern bir algısal düzgün renk uzayı olarak hızla yaygınlaştı. CSS Color Level 4 ile oklch() fonksiyonu olarak doğrudan CSS'e eklendi.
/* CSS'te oklch kullanımı */
.button {
background: oklch(0.7 0.15 180); /* L=0.7, C=0.15, H=180° (cyan) */
color: oklch(0.98 0.01 180); /* Neredeyse beyaz, hafif cyan ton */
}
/* Perceptually uniform gradient */
.gradient {
background: linear-gradient(in oklch, oklch(0.6 0.2 0) , oklch(0.6 0.2 240));
}
📖 Oklab: A Perceptual Color Space for Image Processing — Björn Ottosson'un orijinal makalesi
📖 Chrome Developers: CSS Color Spaces — oklch() kullanım rehberi
Programatik olarak tutarlı renk paletleri üretirken (döngüde rastgele renkler), algısal düzgün uzayda çalışmak eşit parlaklıkta renkler garanti eder. sRGB'de rastgele hue seçerseniz bazıları çok parlak (sarı), bazıları çok koyu (mavi) olur.
Harita ve grafiklerde renkli ölçek (color scale) kullanırken, düzgün olmayan renk uzayı verileri yanıltıcı gösterebilir. Algısal düzgün ölçekler (viridis, inferno, plasma) bu sorunu çözer.
Aynı parlaklıkta okunaklı renkler seçmek (koyu arka plan üzerinde metin), algısal düzgün uzayda çok daha kolay ve güvenilir. W3C kontrast oranı hesaplaması da CIELUV tabanlıdır.
Programming Design Systems kitabının Color Schemes bölümü, etkili renk şemaları için HSL'nin üç boyutunun bilinçli kullanımını önerir:
Altın kural: "Siyah-beyaz'da nasıl görünüyor?" sorusu her tasarım için sorulmalıdır. İyi bir tasarım, renksiz haliyle bile okunaklı ve kontrastlı olmalıdır.
Bazen bir rengin saydam (transparent) olmasını isteriz. Örneğin bir oyun karakterinin sprite'ının arka planı saydam olmalıdır ki arkadaki oyun dünyası görünsün. Ya da bir cam veya su efekti yapmak istiyorsanız, yarı saydamlık gerekir. İşte burada Alpha kanalı devreye girer.
Alpha, RGB'ye eklenen dördüncü bir kanaldır: RGBA(R, G, B, A). Pikselin ne kadar saydam veya opak (katı) olduğunu belirler:
Yarı saydam bir piksel ekrana çizildiğinde, renk matematiksel olarak karıştırılır:
Son Renk = (Ön Renk × Alpha) + (Arka Renk × (1 - Alpha))
Örnek: Yarı saydam kırmızı (255,0,0, %50) mavi (0,0,255) zemin üzerine çizilirse:
R = (255 × 0.5) + (0 × 0.5) = 128
G = (0 × 0.5) + (0 × 0.5) = 0
B = (0 × 0.5) + (255 × 0.5) = 128
Sonuç: (128, 0, 128) — mor! Kırmızı ve mavi karışımı.
Kırmızı karenin saydamlığını ayarlayın — arkasındaki dama tahtası deseni ve mavi kare görünür
Alpha farklı formatlarda ifade edilebilir:
rgba(233, 69, 96, 0.5) — son değer 0-1 arası float#E9456080 — son 2 karakter alpha (80 hex = 128 decimal = %50)Bir karakter sprite'ının dikdörtgen resim dosyasında, karakterin dışındaki alanlar alpha = 0 (tamamen saydam) olur. Bu yüzden oyun sprite'ları için PNG formatı kullanılır — JPG alpha desteklemez!
Duman, ateş, büyü efektleri, patlama... Hepsi yarı saydam parçacıklar (particle) kullanır. Alpha zamanla azalarak "sönen" efekt verilir. Bu sayede efektler gerçekçi görünür.
Yarı saydam materyaller: cam pencereler, su yüzeyleri, buz, hologram efektleri. Saydamlık derecesine göre arkadaki objeler az veya çok görünür.
Oyun HUD'ı (sağlık barı, minimap, menüler) genellikle yarı saydam yapılır ki arkadaki oyun dünyası da görünsün. Özellikle pause menüleri ve overlay'ler.
Saydam objeler render etmek, opak objelerden daha pahalıdır (daha fazla GPU işlemi gerektirir). Çünkü GPU hem önündeki hem arkasındaki pikseli hesaplamalı ve karıştırmalıdır. Çok fazla üst üste saydam obje (overdraw) performansı düşürebilir. Bu yüzden oyun geliştiriciler saydamlığı dikkatli kullanır.
Histogram, bir görüntüdeki piksel değerlerinin dağılımını gösteren grafiktir. X ekseni piksel değerlerini (0-255), Y ekseni o değerdeki piksel sayısını gösterir. Histogram, bir görüntünün pozlama, kontrast ve ton dağılımı hakkında hızlı bilgi verir.
⬜ Brightness (Parlaklık)
🔴 Red
🟢 Green
🔵 Blue
📷 Varsayılan fotoğraf: Golde33443 — Wikimedia Commons (CC BY-SA)
Çoğu piksel koyu → Karanlık (underexposed) görüntü. Gece sahneleri, korku oyunları.
Çoğu piksel açık → Parlak (overexposed) görüntü. Karla kaplı sahneler, rüya sekansları.
Pikseller yayılmış → Dengeli, yüksek kontrastlı görüntü. Genellikle istenen durum.
Colors → Levels (Renkler → Düzeyler) veya Colors → Curves (Renkler → Eğriler) diyaloglarında histogram görüntülenir. Histogram'ı ayrıca Windows → Dockable Dialogs → Histogram ile bağımsız panel olarak açabilirsiniz.
📖 GIMP Tutorial: GIMP Histogram Dialog | Levels Tool | Curves Tool
Settings → Dockers → Histogram ile canlı histogram paneli açılır. Seçili katmanın veya tüm görüntünün histogramını gösterir. RGB kanallarını ayrı ayrı veya birlikte izleyebilirsiniz.
📖 Krita Tutorial: Histogram Docker
Window → Histogram ile panel açılır. Image → Adjustments → Levels (Ctrl+L) veya Curves (Ctrl+M) ile histogram üzerinden düzenleme yapılır. Photoshop'ta histogram canlı güncellenir ve RGB kanalları renkli çizgilerle gösterilir.
Oyun geliştirmede histogram, post-processing efektlerinin (bloom, tone mapping, auto-exposure) doğru çalıştığını kontrol etmek için kullanılır. Unreal Engine'de r.VisualizeBuffer komutuyla canlı histogram görebilirsiniz. Unity'de Post Processing Stack'in debug modunda histogram bulunur.
Bir oyun, film veya tasarım projesinde rastgele renkler seçmezsiniz. Renk paleti, birbiriyle uyumlu renklerin seçilmiş bir grubudur. İyi bir palet, projenize profesyonel ve tutarlı bir görünüm kazandırır. Kötü bir palet ise projeyi amatör ve dağınık gösterir.
Renk uyumu, yüzlerce yıllık sanat teorisine dayanır. Renk çemberi (color wheel) üzerindeki ilişkiler, hangi renklerin birbiriyle iyi durduğunu belirler. Bu kurallar subjektif değildir — insan algısının nasıl çalıştığına dayanır.
Renk çemberinde birbirine zıt (180° karşısında) iki renk. Güçlü kontrast sağlar. Aksiyon oyunlarında düşman vs oyuncu renkleri için idealdir.
Renk çemberinde karşı karşıya (180°) duran iki renk. En yüksek kontrast sağlar. Dikkat çekmek için mükemmel ama aşırı kullanılırsa gözü yorar.
🎮 Oyun örneği: Mario'nun kırmızı şapkası yeşil borular üzerinde, Sonic'in mavi rengi altın sarısı yüzükleriyle.
Renk çemberinde yan yana duran 3-4 renk (30-60° aralıkta). Uyumlu, huzurlu, doğal görünüm. Ama kontrast düşük olduğu için önemli elemanlar kaybolabilir.
🎮 Oyun örneği: Orman seviyeleri (yeşil-sarı-yeşilmavi), gün batımı sahneleri (kırmızı-turuncu-sarı).
Renk çemberinde eşit aralıklı üç renk (120° arayla). Canlı ama dengeli. Çocuk oyunlarında ve enerjik tasarımlarda sık kullanılır.
🎮 Oyun örneği: Superman'in renkleri (kırmızı-mavi-sarı), birçok süper kahraman tasarımı.
Bir ana renk ve onun tamamlayıcısının iki yanındaki renkler. Tamamlayıcının kontrastını verir ama daha yumuşak ve hata yapması daha zor.
🎮 Yeni başlayanlar için en güvenli seçim!
Tek bir rengin farklı açıklık (lightness) ve doygunluk (saturation) varyasyonları. Zarif, tutarlı, minimal. Ama monoton olabilir.
🎮 Oyun örneği: Limbo (tamamen gri tonları), Inside (koyu mavi-gri tonları).
Yukarıdaki geleneksel renk uyumu kategorileri (tamamlayıcı, triadic vb.) popüler olsa da önemli bir eksiklikleri var: sadece ton (hue) boyutunu dikkate alırlar ve doygunluk ile parlaklığı tasarımcıya bırakırlar. Aynı "triadic" şema, farklı doygunluk ve parlaklık değerleriyle tamamen farklı sonuçlar üretir. Bu yüzden etkili renk şemaları, HSL'nin üç boyutunu ayrı ayrı ve bilinçli olarak ele almalıdır:
En temel kontrast kaynağı. "Siyah-beyaz'da nasıl görünür?" sorusu her tasarım için kritiktir.
Pasif/aktif ayrımının anahtarı. Apple iOS'un arayüz felsefesi buna dayanır.
Rengin "türü". Ton mesafesi atmosferi belirler.
Doygunluk tercihinin kültürel ve bağlamsal olduğunu gösteren mükemmel bir karşılaştırma:
İki yaklaşım da "doğru" — bağlama göre birini seçmek tasarımcının işi. Oyun seviyeleri, UI tasarımı, marka kimliği hep bu tercihi yansıtır. Kaynak: Programming Design Systems
Analog (yakın ton) renk şemaları doğanın en sık kullandığı uyum tipidir. İşte iki farklı atmosfer:
Her iki sahne de analog ton şeması kullanıyor ama tamamen farklı atmosferler oluşturuyor — çünkü doygunluk, parlaklık ve seçilen ton aralığı farklı. Kaynak: Programming Design Systems
Programming Design Systems kitabında, HSL boyutlarının bilinçli kullanımına güzel bir gerçek dünya örneği: Mast Brothers çikolata ambalajları. Her ürün farklı bir renk şemasıyla kişilik kazanıyor:
Aynı marka, aynı geometrik desen, sadece renk şeması değişiyor — her biri tamamen farklı bir kişilik ve tat çağrışımı oluşturuyor. Bu, HSL'nin üç boyutunun gücünü gösterir. Kaynak: Programming Design Systems
Kodla renk paleti üretmenin güçlü bir yolu, lineer interpolasyon (lerp) tekniğidir. İki renk arasında adım adım geçiş oluşturarak Material Design tarzı renk swatch'ları üretebilirsiniz:
// İki renk arasında 10 adımlık geçiş
for (let i = 0; i < 10; i++) {
const t = i / 9; // 0 → 1 arası interpolasyon miktarı
const h = lerp(startH, endH, t);
const s = lerp(startS, endS, t);
const l = lerp(startL, endL, t);
// fillHsluv(h, s, l); — algısal düzgün sonuç
}
Bu teknik, Programming Design Systems kitabında detaylıca anlatılmakta ve Material Design swatch'larının yeniden üretimi için kullanılmaktadır.
İç mekan tasarımından gelen bu kural oyunlarda da çalışır:
Bu oranları takip ederseniz, tasarımınız doğal ve profesyonel görünecektir!
Sıcak, doğal, huzurlu — yeşil ve toprak tonları dominasyon. Çiftlik teması ve doğa hissi yaratıyor. Analog palet + nötr tonlar.
Koyu, gizemli, az sayıda vurgulayıcı renk. Monokromatik koyu mavi + turuncu/kırmızı vurgu. Her bölgenin kendi alt paleti var.
Her bölüm farklı palet — duygusal anlatımı destekliyor. Karanlık bölümlerde mor-koyu mavi, huzurlu bölümlerde açık mavi-beyaz.
Sıcak, agresif — kırmızı ve turuncu dominansı. Yeraltı dünyası teması, ateş/lav hissi. Koyu arka plan üzerinde canlı renkler = güçlü kontrast.
Renkler insan psikolojisi üzerinde derin ve ölçülebilir etkilere sahiptir. Pazarlama, sinema, iç mimari ve oyun tasarımında bu etkiler bilinçli olarak kullanılır.
Duygu: Tutku, enerji, tehlike, öfke, aşk, acil durum
Fizyolojik etki: Kalp atış hızını artırır, iştah açar, dikkat çeker
🎮 Oyunlarda: Tehlike, hasar, düşük sağlık, düşman | 🍔 Fast food logoları: McDonald's, KFC (iştah etkisi)
Duygu: Güven, huzur, sadakat, profesyonellik, soğukluk
Fizyolojik etki: Kalp atışını yavaşlatır, sakinleştirir, iştahı azaltır
🎮 Oyunlarda: Mana, su, barış, bilgi | 🏢 Teknoloji logoları: Facebook, Twitter, IBM, Intel
Duygu: Doğa, büyüme, sağlık, para, yenilenme, zehir
Fizyolojik etki: Gözü dinlendirir (en rahat algılanan renk), stresi azaltır
🎮 Oyunlarda: Sağlık, zehir, doğa, para | 🌿 Eko markalar: Starbucks, Spotify, Android
Duygu: Neşe, iyimserlik, dikkat, uyarı, yaratıcılık
Fizyolojik etki: Göze en çarpıcı renk, metabolizmayı hızlandırır
🎮 Oyunlarda: Altın, quest işareti, güç-up | ⚠️ Trafik: Uyarı işaretleri, taksiler
Duygu: Lüks, gizem, maneviyat, yaratıcılık, asalet
Fizyolojik etki: Hayal gücünü tetikler, sakinleştirir
🎮 Oyunlarda: Büyü, nadir eşya, gizem | 👑 Lüks markalar: Cadbury, Twitch, Yahoo
Duygu: Coşku, macera, sıcaklık, arkadaşlık, güven
Fizyolojik etki: Enerji verir, sosyal etkileşimi teşvik eder
🎮 Oyunlarda: Enerji, patlama, legendary eşya | 🎮 Oyun markaları: Nickelodeon, SoundCloud
Color swatch, belirli bir rengin fiziksel veya dijital örneğidir. Baskı dünyasında Pantone swatch kitapları standart referanstır. Dijital ortamda ise swatch'lar renk paletlerinin yapı taşlarıdır.
:root { --primary: #e94560; } ile kendi swatch sisteminizi kodda tanımlayın📖 Pantone Color Finder — Pantone renklerini arayın | Yılın Rengi 2025
Renklerin anlamları kültürden kültüre değişir! Beyaz: Batı'da saflık ve düğün rengi, Doğu Asya'da yas ve cenaze rengi. Kırmızı: Batı'da tehlike, Çin'de şans ve refah. Yeşil: İslam'da kutsal renk, Batı'da doğa ve çevre. Küresel bir oyun yapıyorsanız hedef kitlenin kültürel bağlamını araştırın!
📖 ColorPsychology.org — Renklerin psikolojik etkileri hakkında kapsamlı kaynak
🎬 "Color Psychology in Marketing" — Philip VanDusen
📖 Renk Duygu Haritası — Görsel infografik
Oyunlarda renk sadece "güzel görünmek" için değildir. Renk, oyun tasarımının en güçlü araçlarından biridir. Doğru kullanıldığında renk, bilgi iletir, duygu yaratır, oyuncuyu yönlendirir ve hikâye anlatır.
Oyunlarda renkler evrensel bir dil oluşturur. Oyuncular bu renk kodlarını sezgisel olarak anlar:
RPG ve looter oyunlarda eşya nadirliği renk ile belirtilir: ⚪ Common (Beyaz) → 🟢 Uncommon (Yeşil) → 🔵 Rare (Mavi) → 🟣 Epic (Mor) → 🟠 Legendary (Turuncu/Altın). Bu sistem World of Warcraft'tan beri standarttır ve oyuncular bunu sezgisel olarak bilir.
Renk, diyalog veya metin olmadan bile güçlü duygular yaratır:
Film ve oyunlarda "renk sıcaklığı" atmosfer yaratmanın en güçlü araçlarından biridir. Sıcak filtre (turuncu/sarı tint) = gün batımı, çöl, nostalji. Soğuk filtre (mavi/yeşil tint) = gece, uzay, karanlık gelecek, teknoloji. Örnek: Breaking Bad'in Meksika sahneleri sarı filtre, Matrix yeşil filtre kullanır.
Oyuncunun nereye gitmesi gerektiğini anlatmak için renk, en doğal ve non-intrusive (oyunu bozmayan) yöntemdir:
İyi bir oyun tasarımında oyuncu "nereye gideceğimi nasıl anladım bilmiyorum ama doğru yere gittim" der — bu genellikle renk yönlendirmesi sayesindedir!
Renk, hikâye anlatımının görsel bir aracı olarak da kullanılır:
En sevdiğiniz bir oyunu düşünün. Renk paleti nasıl? Sıcak mı soğuk mu? Renkler bilgi veriyor mu? Duygusal bir atmosfer yaratıyor mu? Oyuncu yönlendirmesi için renk kullanılıyor mu? Sınıfta tartışalım!
Pixar ve büyük oyun stüdyoları, bir projenin tüm sahne akışının renk planını önceden çıkarır. Buna color script denir. Her sahnenin baskın rengini, atmosferini ve geçişlerini gösteren panoramik bir çalışmadır.
📖 GDC: The Art of Journey — Color scripting örneği
📖 Gamasutra: Color in Games — Detaylı makale
Modern oyunlar, renkleri statik değil dinamik olarak kullanır:
| Oyun Türü | Tipik Palet | Neden? |
|---|---|---|
| Korku (Horror) | Koyu, desaturated, kırmızı vurgular | Karanlık = bilinmeyen, kırmızı = kan/tehlike |
| Platformer | Canlı, yüksek doygunluk, kontrastlı | Oyuncu ve zemin net ayrılmalı, eğlenceli his |
| Strateji (RTS) | Okunabilir takım renkleri | Birlikleri hızla ayırt etme hayati önemde |
| Simülasyon | Gerçekçi, doğal tonlar | İmmersion (daldırma) ön planda |
| Puzzle | Temiz, minimal, yüksek kontrast | Oyun mekaniklerini görsel olarak anlatır |
| Battle Royale | Geniş görüş alanında okunabilir renkler | Düşmanı uzaktan fark etme, loot rarity |
🎬 GDC: Color in Games — Game Developers Conference konuşması
🎬 Design Doc: How Games Use Color
🎬 Extra Credits: How Games Use Color
📖 Game Developer: Color in Games - An In-Depth Look
📖 80.lv: How to Pick Colors for Your Game
📖 Game Design Deep Dive: Color Theory
🎬 GDC: The Art of Journey — Muhteşem renk kullanımının perde arkası
Modern ekranlar ve oyun motorları sadece renk değil, parlaklık aralığı (dynamic range) ve kontrast ile de ilgilenir. Bu kavramlar görsel kaliteyi dramatik şekilde etkiler.
Dinamik aralık: Bir sahnenin en karanlık ve en aydınlık noktası arasındaki parlaklık farkıdır. Gerçek dünyada bu aralık çok geniştir (güneş vs gölge). Standart ekranlar (SDR) bu aralığı sınırlı gösterir.
Oyunlarda HDR: Red Dead Redemption 2, God of War, Forza Horizon — HDR ile gün batımları, ateş efektleri, neon ışıklar çok daha etkileyici görünür.
Kontrast, bir görseldeki en açık ve en koyu değer arasındaki farktır. Yüksek kontrast = net ayrım, düşük kontrast = sisli/soluk görünüm.
📖 WebAIM Contrast Checker ile hemen test edin
Gerçek dünyanın geniş parlaklık aralığını ekranın sınırlı aralığına sığdırma işlemidir. Fotoğrafçılıkta ve oyun motorlarında kritik öneme sahiptir.
Gamma: Ekranın giriş sinyali ile gösterdiği parlaklık arasındaki doğrusal olmayan ilişkidir. İnsan gözü karanlık tonlardaki farklara daha hassas olduğu için gamma düzeltmesi uygulanır.
Oyunlarda "parlaklık ayarı" ekranı genelde gamma ayarıdır. "Karanlıkta logoyu zar zor görecek şekilde ayarlayın" — bu gamma kalibrasyonudur!
8-bit: Kanal başına 256 değer, toplam 16.7M renk (True Color) — standart ekranlar
10-bit: Kanal başına 1024 değer, toplam 1.07 milyar renk — HDR ekranlar, profesyonel monitörler
16-bit: Kanal başına 65536 değer — fotoğraf düzenleme (RAW dosyaları) ve sinema
32-bit float (HDR): Sınırsız aralık — oyun motorlarında dahili render, .exr ve .hdr dosya formatları
Grafik editörlerinde renk üzerinde güçlü kontrol sağlayan araçlar vardır. İşte en sık kullanılanlar:
| İşlem | Menü Yolu | Açıklama |
|---|---|---|
| Renk Dengesi | Colors → Color Balance | Gölge/orta ton/aydınlık ayrı ayrı renk tonu ayarı |
| Ton-Doygunluk | Colors → Hue-Saturation | HSL üzerinden renk ayarı, her renk kanalı için ayrı |
| Eğriler | Colors → Curves | Profesyonel parlaklık/kontrast kontrolü. Her kanal ayrı |
| Düzeyler | Colors → Levels | Giriş/çıkış düzeyleriyle histogram düzenleme |
| Eşikleme | Colors → Threshold | Görüntüyü siyah-beyaz'a çevirir (eşik değerine göre) |
| Posterize | Colors → Posterize | Renk sayısını azaltır (retro pixel art efekti) |
| Renk Sıcaklığı | Colors → Color Temperature | Sıcak/soğuk ton ayarı (Kelvin cinsinden) |
| Renk Ters Çevir | Colors → Invert | Tüm renklerin negatifini alır (255 - değer) |
| Doygunluğu Azalt | Colors → Desaturate | Görüntüyü gri tonlara çevirir (birden fazla yöntemle) |
| Kanalları Karıştır | Colors → Components → Channel Mixer | RGB kanallarını birbirine karıştırarak efektler üretin |
| Renk Haritası | Colors → Map → Color Rotate | Belirli renkleri başka renklerle değiştirin |
📖 GIMP Colors Menüsü Resmi Dokümantasyonu
📖 GIMP Tutorial: Eğriler (Curves) ile Renk Düzeltme
🎬 GIMP Color Correction Tutorial — Davies Media Design
Bir görseldeki belirli bir rengi başka renkle değiştirmek için:
📖 Inkscape Fill and Stroke Referansı
📖 Inkscape Temel Tutorial
🎬 Inkscape Color Management Tutorial
ImageMagick, komut satırından görüntü işleme yapmanızı sağlayan güçlü ve ücretsiz bir araçtır. Oyun geliştirmede toplu (batch) görüntü işleme, asset pipeline ve otomasyonda yaygın kullanılır.
Linux: sudo apt install imagemagick
macOS: brew install imagemagick
Windows: imagemagick.org/download — installer indirin
Matematiksel karşılığı: Y = 0.299R + 0.587G + 0.114B (luminosity yöntemi — insan gözünün yeşile daha hassas olmasını hesaba katar)
magick input.png -colorspace Gray output_gray.png
Alternatif yöntemler: -grayscale Rec709Luminance (daha doğru), -monochrome (siyah-beyaz, gri yok)
Matematiksel karşılığı: Her piksel değeri: newValue = 255 - oldValue. Siyah→beyaz, beyaz→siyah, kırmızı→cyan
magick input.png -negate output_negative.png
Matematiksel karşılığı: newValue = oldValue + offset (parlaklık). Clamp: min(255, max(0, newValue))
# Parlaklık +30, kontrast +20
magick input.png -brightness-contrast 30x20 output_bright.png
# Sadece gamma ile parlaklık ayarı (daha doğal)
magick input.png -gamma 1.5 output_gamma.png
Matematiksel karşılığı: Kanal ayırma: pixelR = (r, r, r), pixelG = (g, g, g). Kanal değiştirme: (R,G,B) → (B,G,R) gibi permütasyonlar
# Sadece kırmızı kanalı çıkar
magick input.png -channel R -separate red_channel.png
# RGB kanallarını ayrı ayrı dosyalara çıkar
magick input.png -separate channels_%d.png
# Kırmızı ve mavi kanalları yer değiştir (soğuk efekt)
magick input.png -channel RGB -separate -swap 0,2 -combine swapped.png
# Sepia efekti (nostaljik kahverengi ton)
magick input.png -sepia-tone 80% output_sepia.png
# Doygunluk artırma/azaltma
magick input.png -modulate 100,150,100 output_saturated.png
# modulate: parlaklık, doygunluk, hue (yüzde olarak, 100=değişim yok)
# Posterize (renk sayısını azaltma — pixel art efekti)
magick input.png -posterize 4 output_poster.png
# Belirli bir rengi değiştir (kırmızıyı maviye)
magick input.png -fill blue -opaque red output_recolor.png
# Histogram eşitleme (otomatik kontrast iyileştirme)
magick input.png -equalize output_equalized.png
# Toplu işlem: klasördeki tüm PNG'leri gri yap
magick mogrify -colorspace Gray *.png
Asset pipeline: Yüzlerce sprite'ı toplu olarak yeniden boyutlandırma, format değiştirme, renk düzeltme
Sprite sheet: magick montage *.png -geometry 64x64+0+0 spritesheet.png ile sprite sheet oluşturma
Normal map üretimi: Yükseklik haritasından normal harita türetme
CI/CD: Otomatik build pipeline'ında asset optimizasyonu
📖 ImageMagick Resmi Dokümantasyonu | ImageMagick Usage Examples
Dünya nüfusunun yaklaşık %8'i (erkeklerde) ve %0.5'i (kadınlarda) bir tür renk körlüğüne sahiptir. Bu, bir sınıftaki 30 erkek öğrenciden 2-3 tanesinin kırmızı-yeşil veya mavi-sarı farkını göremeyeceği anlamına gelir. Oyun geliştiriciler olarak bu kitleyi görmezden gelemezsiniz.
Renk körlüğü genellikle koni hücrelerdeki genetik farklılıklardan kaynaklanır:
L-koni (kırmızı) eksik veya bozuk. Kırmızı ile yeşili ayırt edemez. Kırmızılar daha koyu ve gri görünür. Erkeklerin ~%1'inde.
M-koni (yeşil) eksik veya bozuk. En yaygın tür! Kırmızı-yeşil ayrımı yapamaz. Erkeklerin ~%6'sında.
S-koni (mavi) eksik veya bozuk. Mavi-sarı ayrımı yapamaz. Çok nadir (~%0.01). Yaşla oluşabilir.
Aşağıdaki fotoğraflar, aynı sahnenin farklı renk körlüğü derecelerinde nasıl göründüğünü karşılaştırır:
Dikkat edin: Şiddetli renk körlüğünde kırmızı meyveler yeşil yapraklardan neredeyse ayırt edilemiyor. Oyun tasarımında sadece renge değil, parlaklık kontrastına ve şekil/ikon gibi ek ipuçlarına güvenmek şart! Kaynak: Programming Design Systems
Normal renk görüşü. Tüm renkler ayırt edilebilir.
Among Us: Karakterlere şapka/aksesuar ekleyerek renk dışında ayırt edicilik sağlar. Fortnite: Kapsamlı erişilebilirlik ayarları — düşman vurgusu, dost/düşman renk değiştirme. The Last of Us Part II: Oyun endüstrisinin en kapsamlı erişilebilirlik seçeneklerine sahip — 60+ erişilebilirlik ayarı! Bu sadece etik bir sorumluluk değil, aynı zamanda daha geniş bir kitleye ulaşmak = daha fazla satış demektir.
RGB(0, 0, 0) hangi renktir?
Bir rengi "daha soluk/pastel" yapmak istiyorsanız HSL'de hangi değeri düşürürsünüz?
Bir oyunda sağlık azaldığını göstermek için sadece kırmızı renk kullanmak neden sorunlu olabilir?
24-bit renk (True Color) ile toplam kaç farklı renk oluşturulabilir?
RGB(255, 255, 0) hangi renktir?
Alpha = 0 olan bir piksel nasıl görünür?
Toplamsal (additive) renk karıştırmada tüm renkler (R+G+B) karıştırılırsa ne olur?
GDC Talk — Profesyonel oyun tasarımcılarından renk kullanımı stratejileri. Oyun endüstrisinin konferansı.
YouTube · GDC · 30 dk · İngilizceBlender Guru — Renk teorisinin temelleri, çok anlaşılır anlatım. 3D sanatçı perspektifinden.
YouTube · 15 dk · İngilizceDesign Doc — Oyunlarda rengin anlamı, bilgi iletimi ve atmosfer yaratma. Birçok oyundan örnek.
YouTube · 12 dk · İngilizceThe Futur — Renk teorisi temelleri, tasarım perspektifi. Renk çemberi, uyum kuralları, pratik ipuçları.
YouTube · 10 dk · İngilizceVerge Science — Renk körlüğünün bilimi, nasıl çalışır, nasıl simüle edilir. Erişilebilirlik farkındalığı.
YouTube · 8 dk · İngilizceAdamCYounis — Pixel art için renk teorisi, palet oluşturma, doygunluk ve değer (value) kavramları.
YouTube · 20 dk · İngilizceJourney oyununun sanat yönetmeninden renk kullanımı ve color scripting anlatımı. Mükemmel case study.
YouTube · GDC · 60 dk · İngilizceOyunlarda renk kullanımının farklı boyutlarını anlaşılır animasyonlarla açıklıyor.
YouTube · Extra Credits · 8 dk · İngilizcePhilip VanDusen — Renklerin pazarlama ve marka kimliğindeki psikolojik etkileri.
YouTube · 12 dk · İngilizcePixar filmlerinde renk anlatımı — oyun geliştiriciler için de geçerli film dili ilkeleri.
YouTube · 8 dk · İngilizceDavies Media Design — GIMP'te renk düzeltme, curves, levels ve renk dengesi kullanımı.
YouTube · 20 dk · İngilizceSciShow — Farklı hayvanların renk görüşü, UV ve kızılötesi algı, mantis karidesi ve arıların dünyası.
YouTube · SciShow · 10 dk · İngilizceRenk teorisinin kapsamlı açıklaması: terimler, kurallar, örnekler. Akademik ama erişilebilir.
Web · İngilizce · ÜcretsizOyun tasarımında renk ve erişilebilirlik. Unity'nin resmi blogundan pratik öneriler.
Blog · İngilizceOyun geliştirme için hazır renk paletleri koleksiyonu — özellikle pixel art için. Yüzlerce palet, filtre ve arama.
Web · ÜcretsizOyun erişilebilirliği için kapsamlı kılavuz. Renk körlüğü dahil tüm erişilebilirlik konuları.
Web · İngilizce · ÜcretsizRenk uzaylarının mükemmel interaktif açıklaması. RGB, CIE, Lab, sRGB arasındaki ilişkileri görselleştiriyor.
Web · İngilizce · İnteraktifProgramming Design Systems — Newton'dan Albers'e renk teorisinin kısa tarihi.
Web · İngilizce · ÜcretsizProgramming Design Systems — Renk modelleri ve renk uzayları arasındaki farkın programlama perspektifinden açıklaması.
Web · İngilizce · ÜcretsizProgramming Design Systems — CIE Lab, HSLuv ve algısal düzgünlük kavramının detaylı açıklaması.
Web · İngilizce · ÜcretsizProgramming Design Systems — lerp() ile programatik renk paleti üretimi ve üç boyutlu renk düşüncesi.
Web · İngilizce · ÜcretsizOyunlarda renk kullanımının derinlemesine analizi. Fonksiyonel renk, atmosferik renk, yönlendirme.
Makale · İngilizceOyun geliştirme perspektifinden renk paleti seçimi ve uygulaması hakkında pratik rehber.
Makale · İngilizceRenklerin psikolojik etkileri hakkında kapsamlı kaynak. Her rengin duygusu, pazarlama ve kültürel anlamları.
Web · İngilizce · ÜcretsizBjörn Ottosson'un geliştirdiği modern renk uzayı. CSS oklch() desteği ile web'e de geldi.
Blog · İngilizce · TeknikGIMP'teki tüm renk araçlarının detaylı açıklaması — Levels, Curves, Color Balance, Desaturate vb.
Dokümantasyon · İngilizceInkscape resmi başlangıç rehberi — renk seçimi, fill/stroke, gradient temelleri dahil.
Dokümantasyon · İngilizceHızlı ve kolay renk paleti oluşturucu — Space tuşuyla rastgele palet! Kilitleme, ayarlama, export. Lab'da kullanacağız.
Web App · ÜcretsizRenk çemberi ile interaktif palet oluşturma. Analog, tamamlayıcı, üçlü vb. uyum kurallarını otomatik uygular.
Web App · ÜcretsizDetaylı renk uyum aracı. Farklı harmonileri görselleştirir, önizleme modları sunar.
Web App · ÜcretsizGörsellerinizi yükleyip farklı renk körlüğü türlerinde nasıl göründüğünü simüle edin.
Web App · Ücretsizİki renk arasındaki kontrast oranını ölçün. WCAG standartlarına uygun mu kontrol edin.
Web App · ÜcretsizÖzellikle pixel art için palette editörü. Sınırlı renk paleti oluşturmak ve paylaşmak için harika.
Web App · ÜcretsizRGB, HSV, HSL, CMYK, Lab renk modelleri arası interaktif dönüştürücü. Tüm modelleri aynı anda görün.
Web App · ÜcretsizKomut satırından güçlü görüntü işleme. Toplu dönüşüm, renk manipülasyonu, sprite sheet oluşturma.
CLI Aracı · Ücretsiz · Açık KaynakMasaüstü renk körlüğü simülatörü. Tüm ekranınızı anında renk körü perspektifinden gösterir.
Desktop App · Ücretsiz · Win/Mac/LinuxEndüstri standardı Pantone renk referansı. 2000+ standart renk arasında arama ve dönüşüm.
Web AppWeb sitenizin renk paletini anında canlı olarak önizleyin. Renk seçerken sitenin nasıl görüneceğini görün.
Web App · ÜcretsizBir renk girin, otomatik olarak uyumlu palet önerileri alın. Gradient üretici de dahil.
Web App · Ücretsiz