Helion


Szczegóły kursu video

OpenGL. Kurs video. Wprowadzenie do programowania grafiki komputerowej

OpenGL. Kurs video. Wprowadzenie do programowania grafiki komputerowej

Obierz kurs na... programowanie grafiki komputerowej

Wprowadzanie na rynek kolejnych, coraz bardziej atrakcyjnych wizualnie gier komputerowych wymusza produkcję wysoko wydajnych kart graficznych. Siłą rzeczy przyspieszają także prace nad rozwojem tzw. graficznych API, umożliwiających komunikację z kartą oraz wykonywanie za jej pomocą działań matematycznych. Poza zastosowaniem najbardziej oczywistym, takim jak generowanie obrazu czy rysowanie kolejnych klatek gry komputerowej, procesory graficzne okazują się przydatne w wielu innych dziedzinach, w których możliwe jest prowadzenie obliczeń w sposób równoległy, na przykład w sieciach neuronowych i — ogólniej — w machine learning.

Jednym z tego typu API jest przedstawiony w tym kursie OpenGL. Jako że jest stosunkowo łatwy do opanowania, a przy tym bardzo popularny, poleca się rozpocząć poznawanie zagadnienia właśnie od OpenGL i dopiero potem ewentualnie przejść do oprogramowania bardziej wyrafinowanego, jak choćby Vulkan. Do niewątpliwych zalet OpenGL — obok łatwości obsługi i wszechstronności — należy to, że jego specyfikacja jest udostępniona darmowo w internecie. Dodatkowo z API można korzystać na wielu urządzeniach i systemach operacyjnych, co stanowi konkurencję dla interfejsu Direct3D, który funkcjonuje jedynie na systemie Windows.

Co Cię czeka podczas naszego profesjonalnego szkolenia?

W trakcie tego kursu video:

  • poznasz oprogramowanie OpenGL;
  • opanujesz podstawy jego obsługi;
  • dowiesz się, jak działa kamera, czym są tekstury i jak poprawnie ładować modele;
  • zrozumiesz, czym jest instanced rendering.

Co więcej...

  • będziesz pracować na najnowszej wersji interfejsu, a przy okazji zapoznasz się z compute shader, programem pozwalającym wykorzystywać kartę graficzną do zastosowań innych niż generowanie obrazu.

OpenGL. Kurs video. Wprowadzenie do programowania grafiki komputerowej kończy się na poziomie podstawowym, ale porusza także tematy wchodzące w zakres bardziej zaawansowany. Przerobienie całego kursu oraz sumienne utrwalenie zdobytej wiedzy (najlepiej poprzez stworzenie kilku własnych projektów) powinno pozwolić kursantowi dostać się na staż jako graphics programmer. Należy jednak mieć na uwadze, że na tego rodzaju stanowisku bardzo istotna jest również co najmniej średnio zaawansowana znajomość języka C lub C++.

Kim jest graphic programmer

Najprościej rzecz ujmując, rolą graphics programmera jest generowanie obrazu lub specjalnych efektów graficznych, takich jak rzucanie cieni przez obiekty w świecie gry, odbicie świata w lustrach itp. W ramach swojej pracy graphic programmer wykonuje wiele obliczeń matematycznych (to głównie algebra liniowa oraz analiza matematyczna). W praktyce, ze względu na umiejętność obchodzenia się ze specyficzną architekturą sprzętu prowadzącego obliczenia w sposób równoległy, zajmuje się często także wykorzystaniem procesorów graficznych do innych, bardziej ogólnych celów obliczeniowych. W codziennej praktyce zawodowej graphics programmera bardzo ważna okazuje się zarówno znajomość graficznego API, jak i świadomość tego, jak jego wykorzystanie przekłada się na działania podejmowane przez rzeczywisty sprzęt.

OpenGL — pierwsze kroki

Podczas tego kursu video zdobędziesz solidne podstawy obsługi programu OpenGL w wersji 4.5. Dowiesz się, jak stworzyć okno przeznaczone do jego użycia z wykorzystaniem przeznaczonej do tego popularnej biblioteki oraz jak uzyskać dostęp do funkcji tego interfejsu. Nauczysz się posługiwać atrybutami wierzchołków, programować vertex shader i geometry shader oraz poprawnie manipulować danymi w pamięci z uwzględnieniem ich położenia i formatu, w jakim są zapisane. Poznasz mniej oczywiste formaty zapisu danych, zasady programowania fragment shader, jak również sposoby obsługi bufora indeksów. Stworzysz i narysujesz swój pierwszy trójkąt, załadujesz obrazy z plików graficznych (formaty takie jak JPG, BMP, PNG i inne) i na ich podstawie wykreujesz tekstury. Zrozumiesz, jak poprawnie posługiwać się mipmapami, korzystać z tekstur oraz samplerów dwuwymiarowych, a także ładować modele z plików, tworzyć na ich podstawie meshe i generować obraz. Sięgniesz po algebrę liniową dla potrzeb trójwymiaru oraz obliczysz oświetlenie rysowanych obiektów. Na koniec zapoznasz się z podstawami instancingu i korzystania z karty graficznej do celów niezwiązanych bezpośrednio z generowaniem obrazu.

  • 1. Wstęp i konfiguracja środowiska
    • 1.1. O kursie00:01:09
    • 1.2. Instalacja GLFW00:03:22
    • 1.3. Stworzenie okna00:05:59
    • 1.4. Ładowanie funkcji OpenGL00:03:09
  • 2. Podstawy obsługi OpenGL
    • 2.1. Wierzchołki i system koordynatów00:03:27
    • 2.2. Vertex buffer i definiowanie atrybutów00:08:17
    • 2.3. Wprowadzenie do rendering pipeline oraz vertex shader00:07:14
    • 2.4. Atrybuty wierzchołków00:07:57
    • 2.5. Fragment shader00:03:52
    • 2.6. Kompilacja shaderów00:08:06
    • 2.7. Pierwszy draw call00:05:57
    • 2.8. Przykład interpolacji między wierzchołkiem a fragmentem00:04:15
    • 2.9. Half float jako typ atrybutu00:15:41
    • 2.10. Index buffer - wprowadzenie00:04:52
    • 2.11. Index buffer - przykład użycia00:04:56
  • 3. Podstawy techniczne
    • 3.1. Uniforms - input do shadera00:10:07
    • 3.2. Instalacja biblioteki GLM00:02:09
    • 3.3. Algebra liniowa: operacje na wektorach00:06:03
    • 3.4. Algebra liniowa: macierze i ich mnożenie00:10:04
    • 3.5. Macierze transformacji00:09:55
    • 3.6. Model matrix w praktyce00:10:32
    • 3.7. View oraz projection matrix w praktyce00:07:36
    • 3.8. Depth test na przykładzie kostki00:15:40
    • 3.9. Face culling00:06:07
    • 3.10. Blending00:08:55
  • 4. Tekstury
    • 4.1. Instalacja stb_image00:02:05
    • 4.2. Ładowanie i tworzenie tekstur00:10:57
    • 4.3. Rysowanie z teksturowaniem00:13:03
    • 4.4. Parametry tekstury: filtering00:03:24
    • 4.5. Parametry tekstury: wrapping00:07:02
    • 4.6. Mipmapy00:06:46
  • 5. Kamera
    • 5.1. Klasa kamery, cz. 100:07:08
    • 5.2. Klasa kamery, cz. 200:12:17
    • 5.3. Integracja kamery z aplikacją, cz. 100:07:10
    • 5.4. Integracja kamery z aplikacją, cz. 200:09:32
  • 6. Ładowanie modeli
    • 6.1. Kompilacja i instalacja biblioteki Assimp00:07:38
    • 6.2. Ładowanie modeli z biblioteką Assimp00:19:23
    • 6.3. Ładowanie modelu w praktyce00:14:30
  • 7. Instanced rendering
    • 7.1. Instanced rendering, cz. 100:03:41
    • 7.2. Instanced rendering, cz. 200:04:39
  • 8. Oświetlenie
    • 8.1. Oświetlenie: składowe ambient, diffuse00:16:43
    • 8.2. Oświetlenie: składowa specular00:10:17
  • 9. Particle system
    • 9.1. Geometry shader00:14:55
    • 9.2. Tworzymy particle system, cz. 100:05:59
    • 9.3. Tworzymy particle system, cz. 200:08:53
    • 9.4. Tworzymy particle system, cz. 300:09:00
    • 9.5. Wprowadzenie do compute shader00:13:28
    • 9.6. Compute shader w praktyce00:17:08
    • 9.7. Tworzymy particle system, cz. 400:06:25
    • 9.8. Tworzymy particle system, cz. 500:08:19
    • 9.9. Tworzymy particle system, cz. 600:07:21
    • 9.10. Tworzymy particle system, cz. 700:08:16

  • Tytuł: OpenGL. Kurs video. Wprowadzenie do programowania grafiki komputerowej
  • Autor: Krzysztof Szenk
  • Ilość rozdziałów: 9
  • Ilość lekcji: 52
  • Czas trwania: 07:11:20
  • ISBN: 978-83-283-5826-3, 9788328358263
  • Identyfikator pozycji: vmoopg