OpenGL 4.0 w systemie Windows.

Slides:



Advertisements
Podobne prezentacje
Migrating Desktop Podsumowanie projektu
Advertisements

Monitory i systemy graficzne
Prezentacja na temat: Porównanie Windows XP i Windows 7
Sieci VLAN.
CORBA Łukasz Wnęk.
SCR 2008/2009 – informatyka rok 5. Edytor Wizualny - Agenda Przeznaczenie komponentu Funkcjonalność Opis działania.
Grafika komputerowa Wykład 2 Wykorzystanie podstawowych usług bibliotecznych (API) w operacjach graficznych.
Politechnika Gdańska WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI
Politechnika Gdańska WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Damian Urbańczyk PHP Obsługa sesji.
Systemy operacyjne.
Systemy operacyjne Bibliografia:
Microsoft WinFS – nowy system plików, zasada działania. Wojtek Galek.
Temat nr 10: System przerwań
Wzorce projektowe w J2EE
WINDOWS 95 WYCINEK AUTOSTART TWORZENIE POWIĄZAŃ PLIKÓW Z APLIKACJAMI
REPOZYTORIA 1. Co to są repozytoria?
Dalsze elementy metodologii projektowania. Naszym celem jest...
Przegląd ważniejszych bibliotek używanych przy projekcie Quall.
Projekt i implementacja aplikacji wspomagającej testowanie
Made by Mateusz Szirch Kilka słów o JavaScript.
Łukasz Sobczak. 1)Co to jest Office 2010 Web Apps 2)SharePoint 2010 a narzędzia pakietu office 3)Integracja Office Web Apps z SharePoint )Problemy.
Twoje narzędzie do pracy grupowej
Menu Tabela program Microsoft Word
Administracja linux-em
Tworzenie nowych kont lokalnych i domenowych, oraz zarządzanie nimi
Witold Bołt. Agenda W czym tkwi problem..? Po co jest oprogramowanie? Kim jest użytkownik? Zbieranie danych Co to jest design Współpraca programista-projektant.
Konfiguracja systemu Windows
Systemy operacyjne.
Fraktale w Gimp’ie 2.6 Czyli taka grafika jak w tle
Farseer Physics Engine. Farseer Physics Engine jest silnikiem fizycznym napisanym dla platformy.NET. Został on zainspirowany przez silnik Box2D znany.
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Etapy uruchamiania systemu Pliki konfiguracyjne
W ą t e k (lekki proces) thread.
Service Oriented Architecture
Przeglądarki Wszelkie prawa zastrzeżone! Google Chrome – przeglądarka internetowa tworzona przez Google. Jej kod został napisany w oparciu o rozwiązania.
Visual Basic w Excelu - podstawy
Proces tworzenia oprogramowania Proces tworzenia oprogramowania jest zbiorem czynności i związanych z nimi wyników, które prowadzą do powstania produktu.
Przykłady analiza i projektowanie
Microsoft Disk Operating System
Podstawy języka skryptów
Jak wykonać prosty licznik odwiedzin strony internetowej?
Obiekty COM Przemysław Buczkowski. Plan prezentacji 1.Wprowadzenie do COM 2.Historia standardu 3.Jak działa COM 4.Interface IUknown 5.Paradygmaty COM.
© 2012 Microsoft Corporation. Wszelkie prawa zastrzeżone. Dodawanie kontaktu Lista Kontakty upraszcza komunikację i umożliwia sprawdzenie statusu obecności.
Platforma .Net.
Struktura systemu operacyjnego
Temat 1 Pojęcie systemu operacyjnego Opracował: mgr Marek Kwiatkowski.
Dowiązania (linki) twarde i symboliczne
System Operacyjny Windows Przedstawia Mateusz Bałdyga kl. 1 „D”
Temat 4 Systemy plików [Przedmiot: Systemy operacyjne | Opracował: mgr Marek Kwiatkowski | ZS Mogilno – 2015]
obsługa wyświetlacza graficznego
Aktualizowanie systemów operacyjnych Przedmiot: Systemy operacyjne Klasa: 1TI Opracował: Marek Kwiatkowski.
Tworzenie wykresów część I
Historia Systemów Windows, Mac i Linux
Hooks w systemie Windows Autorzy: Paweł Kwiecień, Wojciech Kruczkowski Temat: Modelowanie użytkowników Zadaniem jest stworzenie (lub modyfikacja) systemu,
Temat: Porównanie technologii php,c# oraz javascript na przykładzie webaplikacji typu społecznościowy agregator treści Autor: Wojciech Ślawski.
T ESTY JEDNOSTKOWE W C# Alicja Majka, A GENDA Wprowadzenie do środowiska Czym są testy jednostkowe i po co je stosować? XUnit, NUnit Pokrycie.
Politechnika Warszawska Wydział Elektryczny Kierunek: Informatyka stosowana Praca dyplomowa inżynierska Aplikacja do kontroli wydajności produkcji w.
Metody posługiwania się środkami i narzędziami TI.
Źródło: Microsoft Clip Organizer Zacznijmy od samego początku… Do czego używamy komputera?
Liczby 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, …(i tak dalej) nazywamy liczbami naturalnymi. Tak jak z liter tworzy się słowa, tak z cyfr tworzymy liczby. Dowolną.
Systemy operacyjne W projekcie brali udział Rabiniak Mateusz, Marek Mycek Damian Kostecki, Piotr Dojlido.
Projekt i implementacja symulatora żaglówki z wykorzystaniem biblioteki DirectX Promotor: dr hab. prof. WWSI Grabowski Michał Dyplomant: Radosław Czebreszuk.
Wady i zalety pracy w chmurze
OS/2 Justyna Pabisek.
Typy wyliczeniowe, kolekcje
Nowinki technologiczne
Autor: Łukasz Budrewicz
System operacyjny cz.2 i ostatnia
Zapis prezentacji:

OpenGL 4.0 w systemie Windows. Dawid Zarzycki

Plan prezentacji Czym jest OpenGL Ewolucja biblioteki Mechanizm rozszerzeń OpenGL według Microsoft Tworzenie kontekstu renderingu

Czym jest OpenGL? OpenGL zdefiniowano jako „interfejs programowy dla sprzętu graficznego”. Niskopoziomowe API do renderowania. Praca z tą biblioteką nie polega na wydawaniu poleceń typu „Narysuj ten model w tym miejscu”.

Ewolucja biblioteki. Prekursorem była biblioteka IRIS GL firmy Silicon Graphics. Firma SGI chcąc sprzedawać więcej swoich komputerów potrzebowała większej ilości oprogramowania działającego na ich sprzęcie. Inni producenci również zdali sobie z tego sprawę i w efekcie narodziła się OpenGL ARB (ang. Architecture Review Board).

Ewolucja bibioteki. Pierwszego lipca 1992 roku zaprezentowano specyfikację OpenGL w wersji 1.0. Z biegiem czasu rada ARB rozrastała się o wielu kolejnych członków, z których większa część to producenci sprzętu. W 2006 roku SGI przekazuję pieczę nad standardem firmie Khronos Group.

Ewolucja bibioteki. Ostatnio nowe wersje specyfikacji OpenGL są publikowane częściej niż raz do roku. W 2010 roku przedstawiono wersje 3.3 i 4.0. Aktualnie najnowsza wersjia to 4.2.

Mechanizm rozszerzeń Producenci mogą konkurować ze sobą nie tylko na polu wydajności i jakości obrazu, ale także dodawać nowe funkcjonalności do swoich implementacji. Nie jest niczym niezwykłym , że rozszerzenia jednego producenta z czasem obsługiwane są przez innych producentów.

Mechanizm rozszerzeń Często zdarza się, że wszyscy zgadzają się, że dane rozszerzenie jest na tyle ciekawe, że zaimplementują je wszyscy (EXT_). Istnieją też rozszerzenia zatwierdzone przez ARB (ARB_). Tego rodzaje rozszerzenia najczęściej oznaczają ostatni etap, zanim wejdą do standardu.

Funkcje wycofane Standard OpenGL cały czas ewoluował, do każdego kolejnego wydania dodawano nowe funkcje. W tym czasie niczego nie usuwano. Jednak kontynuowanie tego podejścia stało się w końcu nierealne. Architektura komputerów i GPU znacznie się zmieniła. Sztuczki wydajnościowe odchodzą do lamusa, dlatego część funkcji stała się przestarzała.

Funkcje wycofane W ARB podjęto decyzje, że po raz pierwszy w historii biblioteki zostanie z niej usunięta część „przestarzałego balastu”. W nowych aplikacjach pisanych w OpenGL 3.0 stosowanie odrzuconych funkcji było zabronione. Wówczas wydawało się to dobrym pomysłem…

OpenGL 3.0 Jak to bywa z planami, często coś je krzyżuję. W skład grupy ARB wchodzą producenci sprzętu graficznego, a ci mają swoich klientów, z którymi trzeba się liczyć. Porozumienie = funkcję przestarzałe – kiedyś je usuniemy (mówiono, że w GL 3.1).

OpenGL 3.1 W przypadku 3.1 staliśmy się świadkami dzielenia włosa na czworo. Rzeczywiście usunięto z rdzennej specyfikacji wszystkie przestarzałe elementy, ale dodano nowe rozszerzenie GL_ARB_compatibility. Rdzeń + wszystkie stare funkcję, które obiecaliśmy usunąć, a których nie usuneliśmy.

OpenGL 3.2 W wersji 3.2 sytuacje nieco naprawiono. Usunięto nieszczęsne rozszerzenie i zamiast tego podzielono specyfikację na dwa profile – rdzenny i zgodnościowy. Czemu ciężko usunąć przestarzałe elementy? Profil zgodnościowy jeszcze długo będzie nam towarzyszył.

OpenGL 4.x Dodawane są nowe rozszerzenia, nowe funkcję, typy wyliczeniowe etc. Dalej mamy dwa profile.

Profil rdzenny. Profil rdzenny w swojej najprostszej skróconej postaci to nic więcej, jak tylko „programy cieniujące”. Są one potrzebne, aby zrobić cokolwiek. Nie ma w nim wbudowanego modelu oświetlenia, wygodnych stosów macierzy etc.

OpenGL według Microsoft OpenGL pojawiła się na platformie Win32 wraz z wydaniem systemu Windows NT 3.5. Microsoft dostarcza ogólną programową implementacje GL 1.1. Microsoft nie bierze udziału w rozwoju OpenGL już od wielu lat. OpenGL32.dll – implementuję tylko wersje 1.1.

OpenGL według Microsoft Sterowniki nie mogą dodawać nowej funkcjonalności do biblioteki opengl32.dll, dlatego wykorzystano do tego mechanizm rozszerzeń. Rozszerzenia WGL_.

Windows Vista/7 OpenGL działa podobnie jak w starszych wersjach. Jednak w Vista/7 ostateczny wynik prezentowany jest użytkownikowi przy użyciu tzw. Systemu DCE (Desktop Composition Engine). Wcześniej każde okno renderowało do pikseli dostępnego pulpitu. Teraz okno renderuje na powierzchni, której jest przekazywany nowy komponent systemu operacyjnego o nazwie Desktop Window Manager (DWM).

Ładowanie rozszerzeń PROC wglGetProcAddress(LPSTR procName); Wersja funkcji jest zależna od aktualnego kontekstu renderingu. Skąd brać prototypy funkcji? <gl/gl.h> - przestarzałe gl3.h, glext.h, wglext.h – dobre  GLEW, GL3W - zautomatyzowane

Tworzenie kontekstu Aby załadować funkcję potrzebne do stworzenia kontekstu, musimy… stworzyć kontekst. Pokazane w praktyce .

GxFramework

Pytania na kolokwium Dlaczego musimy tworzyć dwa okna aby stworzyć kontekst renderingu w nowszych wersjach OpenGL? Czym jest biblioteka OpenGL i kto był prekursorem tej biblioteki?

Dziękuję za uwagę 