Aflați cum să utilizați OpenGL pentru a crea grafică vectorială 2D și 3D în acest curs.
Curs de Victor Gordan. Vezi canalul lui: https://www.youtube.com/channel/UC8WizezjQVClpWfdKMwtcmw
💻 Cod: https://github.com/VictorGordan/opengl-tutorials
Vezi comentariul de top pentru mai multe resurse.
⭐️ Cuprins ⭐️
Introducere
0:00:00 Introducere la curs
Instalare
0:00:00 Descărcări
0:02:11 Configurarea proiectului VS
0:02:50 Se generează GLFW
0:03:29 Build Solution GLFW
0:04:03 Import de biblioteci
0:04:53 Configurarea VS
0:06:02 Terminare și testare
Fereastră
0:06:36 Se inițializează GLFW
0:07:03 Configurarea GLFW
0:08:26 Crearea ferestrei
0:09:53 While Loop
0:11:01 OpenGL Viewport
0:11:36 Explicația tamponului
0:12:55 Adăugarea culorii
0:14:03 Comentarii pentru fereastră
Triunghi
0:14:25 Conducta grafică
0:16:56 Cod sursă Shaders
0:17:24 Noduri
0:18:54 Umbritoare de vârfuri și fragmente
0:20:45 Programul Shader
0:21:36 Obiectul Vertex Buffer
0:24:35 Obiect Matrice Vertex
0:26:57 Curățare
0:27:34 Buclă de randare
0:28:38 Comentarii pentru Triangle
Index Buffer
0:29:24 Triunghi normal
0:29:47 Noduri duplicate
0:30:06 Soluție
0:30:26 Index Buffer
0:30:51 Implementare
0:32:22 Comentarii pentru Index Buffer
Organizarea
0:32:33 Introducere în organizare
0:32:43 Fișiere text Shader
0:33:21 Clasa Shader
0:35:27 Clasa VBO
0:36:18 Clasa EBO
0:36:35 Clasa VAO
0:37:36 Adăugarea de clase la Main.cpp
0:37:59 Comentarii pentru organizare
Shaders
0:38:34 Introducere în Shaders
0:38:44 Proprietăți Shaders
0:38:57 Vertex Shader
0:40:01 Fragment Shader
0:40:17 Adăugarea de culori
0:41:23 Modificarea clasei VAO
0:41:54 Explicația indicatorului pentru atributul vârfurilor
0:43:09 link Attribu Code
0:43:19 Interpolare
0:43:50 Uniforme
0:46:08 Eroare la verificarea Shaders
0:46:29 Comentarii pentru Shaders
Texturi
0:46:39 Tipuri de texturi
0:46:54 stb Biblioteca
0:47:58 pătrat
0:48:14 Dimensiunile texturii
0:48:37 Importul într-o imagine
0:49:19 Crearea texturii
0:49:43 Unități de textură
0:50:19 Tipuri de interpolare
0:51:11 Maparea texturii
0:52:27 Atribuirea imaginii texturii
0:53:10 Erori
0:53:21 Mipmaps
0:53:50 Coordonatele texturii
0:54:15 Umbritoare de vârfuri și fragmente
0:54:51 Terminând
0:55:39 Clasa de textura
0:55:56 Comentarii pentru Texturi
Trec în 3D
0:56:01 Introducere în Going 3D
0:56:11 Corectare
0:56:23 Matrici
0:56:57 GLM
0:57:26 Tipuri de coordonate
0:58:35 Matrici de transformare
0:59:13 Inițializarea matricei
0:59:41 Matrice de vizualizare și proiecție
1:01:16 Importarea matricilor
1:01:53 Înmulțirea finală a matricilor
1:02:07 Piramida
1:02:41 Rotire și cronometru
1:03:11 Tampon de adâncime
1:03:36 Comentarii pentru Going 3D
aparat foto
1:04:11 Fișier antet
1:05:04 Funcții de bază ale clasei camerei
1:05:54 Schimbări ale fișierului principal
1:06:21 Schimbări la Vertex Shader
1:06:43 Intrări cheie
1:07:38 Intrări mouse
1:09:21 Remedierea salturilor camerei
1:09:49 Comentarii pentru Cameră
Iluminat
1:10:13 Modificați camera
1:10:30 Cub de lumină
1:10:50 Culoare deschisă
1:12:03 Iluminat difuz și normal
1:15:36 Iluminare ambientală
1:16:18 Iluminare speculară
1:17:54 Comentarii pentru Iluminare
Hărți speculare
1:18:15 Modificați clasa de texturi
1:18:34 Avion cu textura
1:19:06 Teoria hărților speculare
1:19:30 Implementarea hărților speculare
1:20:06 Sfârșitul pentru hărți speculare
Tipuri de lumină
1:20:16 Tipuri de lumină
1:20:26 Punct de lumină
1:20:41 Atenuarea intensității
1:20:51 Legea inversă a pătratului
1:21:03 Ecuația intensității CG
1:21:36 Implementarea atenuării
1:22:09 Lumină direcțională
1:22:52 În lumina reflectoarelor
1:23:08 Conuri de lumină
1:23:18 Comparația conurilor
1:23:31 Cos vs Angle
1:23:45 Terminând lumina reflectoarelor
1:24:19 Comentarii pentru tipuri de lumină
Clasa Mesh
1:24:33 Introducere pentru clasa Mesh
1:24:46 Definiția rețelei
1:25:01 Antet clasa mesh
1:25:58 Modificați clasa VBO
1:27:06 Modificați clasa EBO
1:27:16 Constructor de plase
1:27:41 Rearanjați aspectul Shader
1:28:10 Funcția de rețea I
1:28:51 Modificați clasa de textura
1:29:22 Funcția Mesh Draw II
1:29:54 Modificați uniformele
1:30:20 Principal.cpp Modificări
1:31:06 Comentarii pentru Mesh Class
Încărcare model
1:31:28 Introducere pentru încărcarea modelului
1:31:47 Notă mică despre modelele 3D
1:32:27 Biblioteca JSON
1:32:41 Antet model
1:33:03 Fișierul Model.cpp
1:33:13 Structura fișierului JSON
1:33:30 Obținerea datelor binare
1:34:07 Structura fișierului glTF
1:36:28 getFloats() și getIndices()
1:39:09 Funcții de grupare
1:39:19 assembleVertices()
1:39:50 Modificarea clasei de textura
1:40:22 getTextures()
1:41:50 loadMesh()
1:42:23 Explicația transformărilor matriceale
1:42:54 Declarație traverseNode().
1:43:28 Modificarea clasei Mesh
1:43:41 Modificarea Vertex Shader
1:44:15 traverseNode() Scriere
1:45:18 Modificarea fișierului Main.cpp
1:45:28 Exemple de modele
1:46:01 Comentarii pentru încărcarea modelului
Cursuri interesante:
- Joc partea 5 | Gestiune taste în Java | Curs de programare Java – Lectia 16
- Codați un motor de joc 2D folosind Java – Curs complet pentru începători
- Curs abuziv de algoritmi grafici (cu Java)
- Realitate augmentată pentru toată lumea – Curs complet
- Python pentru începători – Curs complet [Tutorial de programare]
- Programare funcțională cu Elixir – Curs complet
- Curs 4. Ritm: Jazz, Pop și Clasic
- Senzație și percepție: curs intensiv de psihologie #5
- 1. Introducere
- Dezvoltare joc cu LÖVE 2D și Lua – Curs complet