Mobilne akceleratory grafiki Kamil Trzciński, 2013 O mnie Kamil Trzciński http://ayufan.eu /
[email protected] ● Od 14 lat zajmuję się programowaniem (C/C++, Java, C#, Python, PHP, itd.) ● Od 10 lat zajmuję się programowaniem grafiki (OpenGL, DirectX 9/10/11, Ray-Tracing) ● Od 6 lat zajmuję się branżą mobilną (SymbianOS, Android, iOS) ● Od 2 lat zajmuję się mobilną grafiką (OpenGL ES, XNA, DirectX for WP8) Plan ● Bardzo krótko o historii ● Mobilne układy graficzne ● API ● Programowalne jednostki cieniowania ● Optymalizacja ● Silniki graficzne oraz silniki gier Wstęp Grafika komputerowa to dziedzina informatyki zajmująca się wykorzystaniem technik komputerowych do celów wizualizacji artystycznej oraz wizualizacji rzeczywistości. Bardzo często grafika komputerowa jest kojarzona z urządzeniem wspomagającym jej generowanie - kartą graficzną, odpowiedzialna za renderowanie grafiki oraz jej konwersję na sygnał zrozumiały dla wyświetlacza 1. Historia Historia Historia kart graficznych sięga wczesnych lat 80-tych ubiegłego wieku. Pierwsze karty graficzne potrafiły jedynie wyświetlać znaki alfabetu łacińskiego ze zdefiniowanego w pamięci generatora znaków, tzw. trybu tekstowego. W późniejszym okresie pojawiły się układy, wykonujące tzw. operacje BitBLT, pozwalające na nałożenie na siebie 2 różnych bitmap w postaci rastrowej. Historia Historia #2 ● Wraz z nadejściem systemu operacyjnego Microsoft Windows 3.0 wzrosło zapotrzebowanie na przetwarzanie grafiki rastrowej dużej rozdzielczości. ● Powstaje interfejs GDI odpowiedzialny za programowanie operacji związanych z grafiką. ● Krótko po tym powstały pierwsze akceleratory 2D wyprodukowane przez firmę S3. Wydarzenie to zapoczątkowało erę graficznych akceleratorów grafiki. Historia #3 ● 1996 – wprowadzenie chipsetu Voodoo Graphics przez firmę 3dfx, dodatkowej karty rozszerzeń pełniącej funkcję akceleratora grafiki 3D. ● Powstają biblioteki umożliwiające tworzenie trójwymiarowych wizualizacji: Direct3D oraz OpenGL. Historia #3 Historia #4 ● 1999/2000 – DirectX 7.0 dodaje obsługę: T&L (ang.