OpenGL® gölgeleme dili (GLSL), OpenGL kütüphanelerini kullanarak doğrudan bir grafik kartının grafik işlem birimi (GPU) içinde oluşturma işlemi sırasında üç boyutlu (3B) grafikleri işlemek ve kontrol etmek için özel olarak tasarlanmış bir bilgisayar programlama dilidir. Temel olarak, OpenGL® gölgelendirme dili, programcılara GPU donanımıyla arabirim oluşturmak için montaj dili yordamları yazmak zorunda kalmadan 3D geometrisine doğrudan erişim ve mümkün olan en düşük seviyede oluşturma sağlar. OpenGL® gölgelendirme dilinin kullanılmasıyla, prosedürle oluşturulan dokular ve geometri gibi efektler doğrudan GPU içinde uygulanabilir ve optimize edilebilir, böylece oluşturma süreci hızlandırılabilir. Ayrıca, animasyon veya özel efektler gibi daha karmaşık fonksiyonların, üst seviye kodun ek yükü olmadan verimli bir şekilde uygulanmasını sağlar. Gölgeleme dili GPU tarafından çalıştırılabilir koda derlenir, yani belirli uygulamalar ve derleyiciler ayrı ayrı grafik kartları için tasarlanabilir, böylece farklı gölgelendiricilerin kullanılmasından elde edilen performans artar.
Tüm pratik amaçlar için, OpenGL® gölgeleme dili, işaretçi tipi değişkenler ve bazı önişlemci direktifleri hariç, C programlama dilinin sözdizimini neredeyse her şekilde taklit eden tam olarak uygulanmış bir programlama dilidir. Kullanıcı tanımlı fonksiyonlar, değişkenler ve mantıksal dallanma ve döngü ifadelerinin tümü desteklenir; tamamen gölgelendirilmiş bir dil kullanılarak tam olarak gerçekleştirilen programların yazılmasına izin verilir ve farklı işletim sistemleri ve donanım yapılandırmalarında taşınabilir bir soyutlama düzeyi sağlar. Bir gölgelendirici programı tamamlandıktan sonra, oluşturma işlemi sırasında gerektiği gibi derlenip çalıştırıldığı GPU'ya geçirilir.
OpenGL® gölgelendirme dilinde yazılmış bir program, sonuçta grafik kartı üreticisi tarafından üretilen donanım veya sürücüler tarafından derlenebileceği GPU'ya geçirilir. Bu, dilin içinde kullanılan belirli ifadelerin, belirli bir grafik kartının belirli donanım özellikleriyle verimli çalışacak şekilde optimize edilmiş gerçek derlenmiş bayt kodlarına sahip olabileceği anlamına gelir. Bu, yürütme hızını artırır ve tek bir grafik kartına özgü olabilecek özel işleme seçenekleri ve efektleri içerecek şekilde temel işlevselliği genişletebilir.
OpenGL® gölgelendirme dilinin yazmak için kullanabileceği üç çeşit gölgelendirici vardır. Birincisi, bir köşe gölgelendiricisi olarak bilinir ve uzayda bir noktanın çevrilmesi, ölçeklenmesi veya tekstüre edilmesi gibi bireysel köşeler üzerinde karmaşık işlemler gerçekleştirmek üzere tasarlanmıştır. İkincisi, bir geometri gölgelendiricisidir ve sonunda rasterleştirilmeden önce çokgenleri eklemek, kaldırmak veya başka şekilde değiştirmek için kullanılabilir. Piksel gölgelendiricileri olarak da adlandırılan parça gölgelendiricileri, 3B sahnesindeki noktalarda, ışık efektleri veya çarpıtmalar gibi bir ekranda görüntülenmek üzere düz bir iki boyutlu (2B) görüntüye çevrilirken işlemleri gerçekleştirmek için yazılabilir.


