Bilgisayar grafiklerinde aydınlatmayı modelleme
- Global styles
- Apa
- Bibtex
- Chicago Fullnote
- Help
Abstract
Bilgisayar grafikleri, bilgisayarların ve özel bir grafik donanımı ve yazılımının yardımıyla bir bilgisayar tarafından görüntü verisinin temsilini kullanarak oluşturulmuş grafiklerdir. Üç boyutlu grafikler oluşturulmasında karşılaşan en büyük sorun - bu sahneye gerçek aydınlatma vermektir. Doğru aydınlatma sahne izlenimini arttırır. O nesnelerin şeklini daha iyi gösterir ve aynı zamanda sahnenin genel bir ruh halini yaratır. Parlak renkler ve ışık bolluğu tatil efekti verir ve bastırılmış ışık ile gölgeli nesneler gerginlik ve endishe hissi uyandırır.Aydınlatma üç boyutlu grafiklerde önemli bir rol oynar. Üç boyutlu grafik nesneleri, aydınlatma olmadıgı zaman düz ve yapay görünür. Aydınlatma sahnedeki nesnelerin görünürlüğünü sağlar, hem de tüm sahneye üç boyutluluk ve gerçeklik duygusu verir.Işığı mükemmel şekilde modellemek için o çok karmaşık bir sistemdir. Bundan dolayı bilgisayarda yapılan fotogerçekçi üç boyutlu görüntüler nadiren karşılaşır. Ne kadar karmaşık ve gerçekçi görüntü almak istenirse, o kadar çok hesaplamaları yapmak gerekir, demek ekrana da yavaş oynanacak.Zamanla bilgisayar grafikleri daha karmaşık hale geliyor ve bu nedenle görüntülerin oluşturulması ayrı bir zanaat haline geldi. Fotogerçekçi görüntülerin sentezinin sorununa çözümü arama sahne aydınlatması için çeşitli algoritmaların geliştirilmesine yol açmıştır. Bu algoritmaların hızı ve sentezlenmiş görüntülerin kalitesi xiiifarklıdır. Bazı algoritmalar hızlı çalışıyor, diğerleri yüksek kaliteli görüntülerini verir, ancak uzun sureli hesaplamalar gerektirir.Aslında, ışık demeti yansıma ve kırılmaya çok sayıda rastlanır ve bilgisayar grafiklerinde ise, ışının yansıma sayısı sadece bilgisayarın donanım özelliklerine göre belirlenir. Doğal aydınlatma prensiplerinin yazılımda uygulanması oldukça karmaşıktır. Dolayısıyla, interaktiv uygulamada, küçük hesaplamalar ile gerçekçi bir sonuç verecek, çeşitli aydınlatma modelleri kullanılır. Gerçek fotogerçekçi görseller için yoğun algoritmaları kullanmak gerekir.Üç boyutlu grafiği programlamak için güçlü grafik işlemci ( GPU ) gerekir. Çağdaş grafik işlemcinin tüm imkanlarını etkili kullanabilmek için gerekli olan grafik arayüzleri (API) kullanılmalı. Böyle API uygulama ve grafik işlemci arasında bir köprü görevi yapar. Şu anda gerçek zamanlı üç boyutlu grafiği programlamak için, yaygın kullanılmakta olan iki tür API vardır. Bunlar OpenGL ve Direct3D. OpenGL çapraz platform kütüphanesi ve Direct3D tek Windows platformunda kullanılabilir.OpenGL kütüphanesi üç boyutlu grafiklerle çalışmak için en popüler programlama arayüzleri (API) biridir. OpenGL standartı yazılım geliştirme alanında önde gelen firmaları tarafından 1992 yılında onaylanmıştır. Onun temeli Silicon Graphics tarafından geliştirilen, IRIS GL kütüphanesi oldu.OpenGL `Açık Grafik Kütüphanesi` olarak çevirir. Başka bir deyişle, OpenGL - yüzlerce fonksiyonları içeren bir spesifikasyondur. OpenGL grafik kütüphanesi bağımsız çapraz platform yazılım arayüzü belirler, onun yardımıyla programcı iki boyutlu ve üç boyutlu bilgisayar grafikleri kullanan uygulamaları geliştirebilir.Farklı aydınlatma modellerini gerçekleştirmek için OpenGL Tarayıcı Dili – GLSL kullanmak gerekir. Tarayıcı dilinde yazılan programlar merkez işlemci tarafından değil, grafiksel işlemci tarafından çalıştırılır. Bu dilde yazılan programlar shader adlanır. Shaderleri kullanınıyla farklı aydınlatma modelleri gerçekleştirilebilir. Eski OpeanGL de shaderler yoktu, ve dolayısıyla programcılar grafiksel uygulamalarında sadece bir sabit aydınlatma modelini kullanmak zorunda kalırdı ve o yalnız modelin parametrelerini xivdeğiştirebilirlerdi. Grafiksel işlemci hızı merkez işlemciye göre çok yüksek olduğu için bu programlar verileri hızlı ve parallel işletir.Çağdaş grafiksel uygulamada üç boyutlu sahneyi göstermek için iki yöntem kullanır. Onlar global (evrensel) ve yerel aydınlatma modelleri. Evrensel modeller foto-gerçekçi gorüntü verir, gölgeleri hesaplamak için ek algoritmalar gerekmiyor. Yerel aydınlatma modelleri ise (evrensel modellere göre) daha az foto-gerçekçi gorüntü verir, fakat daha verimli. Bu nedenle gerçek zamanlı üç boyutlu grafiksel uygulamalarda yerel modelleri kullanılmakta.Yerel aydınlatma modelleri üç temel bileşenden oluşur. Onlar ortam ışığı (ambient light), dağınık yansıma (diffuse reflection) ve düzgün yansıma (specular reflection) diye adlandırılır.Ortam ışığı (ambient light) – sahneye başlangıç sabit aydınlatma verir. O ışık kaynağınan gelip binlerce yansımaya uğrayıp alana yayılan ışığı modelini yapar.Dağınık yansıma (diffuse reflection) – belli bir yönden nesne yüzeyine gelip de her tarafa eşit şiddette yayılan ışığı modeler. Biz nesnelerin rengi olarak kabul ettiğimiz aslında beyaz ışıkla aydınlatılan nesneyin dağınık yansımasıdır.Düzgün yansıma (specular reflection) – belli bir yönden nesne yuzeyine gelip de nesne yüzünen belli bir tarafa yansıyan ışığı modeller. Böyle yansımadan dolayı nesne yuzeyınde parlayan beyaz noktalar ortaya çıkar.Üç bileşen ayrı-ayrı hesaplanır ve toplanır. Böyle aydınlatma modeli yerel aydınlatma modellerinin temelini sağlar.Bu çalışmada, 7 yerel aydınlatma modelleri ve onların matematiksel temelleri incelenmiştir. Onlar Lambert, Wrap-around, Oren-Nayar, Minnaert dağınık yansıma modelleri ve Phong, Blinn-Phong, Ward düzgün yansıma modelleri. Tüm modeller için ortam ışığı aynıdır. Lambert, Wrap-around, Oren-Nayar, Minnaert modelleri sadece dağınık yansımayı modeller, düzgün yansıma bileşeni yoktur. Phong, Blinn-Phong, Ward modellerinde dağınık yansıma bileşeni Lambert modeli ile hesaplanır, düzgün yansıma bileşeni ise farklı yöntemler ile bulunur. xvBu çalışma sonunda bu aydınlatma modellerini gösteren gerçek zamanlı grafiksel uygulama geliştirilmiştir. Uygumalada modeller seçebilir ve karşılaştırabilir. Uygulama OpenGL grafik kütüphanesini kullanarak Visual Studio 2017 (Community Edition) ortamında C ++ programlama dili ile yazılmıştır. Aydınlatma modelleri GLSL dilinde (OpenGL tarayıcı dili) uygulanmıştır.Anahtar Kelimeler: Bilgisayar grafikleri, 3D bilgisayar grafikleri, aydınlatma, aydınlatma modelleri, OpenGL, GLSL. Компьютерная гра́фика — область деятельности включающая в себя создание и редактирование различных изображений на компьютере при помощи специальных алгоритмов и ПО, а также двумерное и трехмерное моделирование. Самая большая проблема при создании трехмерной графики – это реалистичное освещение сцены. Правильное освещение позволяет лучше передать форму предметов. Свет — это очень сложная система, чтобы смоделировать ее в совершенстве. Поиск решения проблемы синтеза фотореалистичных изображений привел к разработке различных алгоритмов расчета освещения сцены. Эти алгоритмы отличаются скоростью и качеством синтезируемого изображения. Во всех случаях, чем сложнее и реалистичнее создаваемая вами виртуальная сцена, тем больше вычислений вы должны произвести, и тем медленнее она будет воспроизводиться на экран.В современных графических приложениях используются два подхода к моделированию освещения трехмерных сцен: методы глобального освещения и локальные модели освещения. Первый подход даёт высокую реалистичность получаемого изображения, и при этом не требуется дополнительных алгоритмов для построения теней от объектов. В отличие от первого метода, алгоритмы расчета локального освещения дают менее реалистичное изображение, но намного производительнее, что позволяет их с успехом применять в приложениях, где требуется интерактивность взаимодействия с трехмерной сценой. Локальная xiмодель освещения состоит из трех компонентов: фоновая, диффузная (рассеянная) и спекулярная (зеркальная).В этой работе рассмотрены семь локальных моделей освещения: Ламберт, Wrap-around, Орен-Наяр, Миннеарт, Фонг, Блинн-Фонг, Вард. Для всех моделей освещения фоновая составляющая одинаковая. Модели Ламберт, Wrap-around, Орен-Наяр и Миннеарт моделируют только диффузное отражение, зеркальное составляющая отсутсутвует. Модели Фонг, Блинн-Фонг, Вард отличаются вычисленим зеркальной составляющей, а диффузный компонент вычисляется моделью Ламберта.В конце работы было разработано графическое приложение реального времени демонстрирующая эти модели на практике, можно посмотреть изображения дающие эти модели и сравнивать их. Приложение было написано на Vusial C++ в среде разработки Visual Studio 2017 (Community Edition) с использованием графической библиотеки OpenGL. Сами модели освещния были реализованы на языке шейдеров OpenGL – GLSL. Из-за аппаратных ограничений не была произведена оценка производительности моделей освещения.Ключевые слова: Компьютерная графика, трехмерная графика, освещение, модели освещения, источник света, виртуальная сцена, OpenGL, GLSL.
Collections