跳到主要内容
步芽

【极致中配】EA前游戏引擎软件工程师 Yan Chernikov 讲解游戏引擎

由前EA工程师Yan Chernikov主讲,从零手写C++游戏引擎Hazel,涵盖架构设计、事件系统、2D渲染、ECS、编辑器与物理及C#脚本集成。

难度
难度 4/5需扎实C++基础与图形学知识,从零手写引擎架构,工程量大
适合人群
有C++基础、想从零构建游戏引擎的中高级开发者与图形程序员
前置要求
C++编程(现代C++、指针、智能指针、模板)、OpenGL/图形学基础(着色器、渲染管线概念有帮助)、线性代数(向量、矩阵、变换)、软件工程与构建工具(Premake、Git等)
课程规模
123 · 2391播放

主题覆盖

游戏引擎架构事件系统窗口与GLFW抽象OpenGL渲染着色器与材质2D批量渲染正交相机与变换帧缓冲实体组件系统ECS编辑器与场景面板2D物理C++/C#脚本互操作

课程大纲(123 讲)

  1. P1 · Introducing the GAME ENGINE series!8 分钟
  2. P2 · What is a GAME ENGINE?9 分钟
  3. P3 · DESIGNING our GAME ENGINE14 分钟
  4. P4 · Project Setup | Game Engine Series15 分钟
  5. P5 · Entry Point | Game Engine Series14 分钟
  6. P6 · Logging | Game Engine Series17 分钟
  7. P7 · Premake | Game Engine Series19 分钟
  8. P8 · Planning the Event System | Game Engine series9 分钟
  9. P9 · Event System | Game Engine series22 分钟
  10. P10 · Precompiled Headers | Game Engine series6 分钟
  11. P11 · Window Abstraction and GLFW | Game Engine series18 分钟
  12. P12 · Window Events | Game Engine series14 分钟
  13. P13 · Layers | Game Engine series13 分钟
  14. P14 · Modern OpenGL (Glad) | Game Engine series11 分钟
  15. P15 · ImGui | Game Engine series16 分钟
  16. P16 · ImGui Events | Game Engine series14 分钟
  17. P17 · GitHub and Hazel | Game Engine series16 分钟
  18. P18 · Pull Requests | Game Engine series14 分钟
  19. P19 · Input Polling | Game Engine series16 分钟
  20. P20 · Key and Mouse Codes | Game Engine series14 分钟
  21. P21 · Maths | Game Engine series11 分钟
  22. P22 · ImGui Docking and Viewports | Game Engine series19 分钟
  23. P23 · Introduction to Rendering | Game Engine series17 分钟
  24. P24 · Rendering Architecture | Game Engine series18 分钟
  25. P25 · Rendering and Maintenance | Game Engine series15 分钟
  26. P26 · Static Libraries and ZERO Warnings | Game Engine series13 分钟
  27. P27 · Rendering Context | Game Engine series17 分钟
  28. P28 · Our First Triangle! | Game Engine series17 分钟
  29. P29 · OpenGL Shaders | Game Engine series26 分钟
  30. P30 · Renderer API Abstraction | Game Engine series29 分钟
  31. P31 · Vertex Buffer Layouts | Game Engine series31 分钟
  32. P32 · Vertex Arrays | Game Engine series26 分钟
  33. P33 · Renderer Flow and Submission | Game Engine series24 分钟
  34. P34 · CAMERAS and How They Work | Game Engine series24 分钟
  35. P35 · Creating an Orthographic Camera | Game Engine series23 分钟
  36. P36 · Moving to Sandbox | Game Engine series14 分钟
  37. P37 · TIMESTEPS and DELTA TIME | Game Engine series16 分钟
  38. P38 · Transforms | Game Engine series15 分钟
  39. P39 · Material Systems | Game Engine series20 分钟
  40. P40 · Shader Abstraction and Uniforms | Game Engine series16 分钟
  41. P41 · Refs, Scopes and Smart Pointers | Game Engine series15 分钟
  42. P42 · TEXTURES | Game Engine series31 分钟
  43. P43 · BLENDING | Game Engine series12 分钟
  44. P44 · Shader Asset Files | Game Engine series24 分钟
  45. P45 · Shader Library | Game Engine series25 分钟
  46. P46 · How to Build a 2D Renderer | Game Engine series23 分钟
  47. P47 · Camera Controllers | Game Engine series21 分钟
  48. P48 · Resizing | Game Engine series18 分钟
  49. P49 · Maintenance | Game Engine series15 分钟
  50. P50 · Preparing for 2D Rendering | Game Engine series17 分钟
  51. P51 · Starting our 2D Renderer | Game Engine series20 分钟
  52. P52 · 2D Renderer Transforms | Game Engine series9 分钟
  53. P53 · 2D Renderer Textures | Game Engine series13 分钟
  54. P54 · Single Shader 2D Renderer | Game Engine series16 分钟
  55. P55 · Intro to Profiling | Game Engine series14 分钟
  56. P56 · Visual Profiling | Game Engine series17 分钟
  57. P57 · Instrumentation | Game Engine series24 分钟
  58. P58 · Improving our 2D Rendering API | Game Engine series15 分钟
  59. P59 · How I Made a Game in an Hour Using Hazel19 分钟
  60. P60 · Hazel 2020 | Game Engine series13 分钟
  61. P61 · BATCH RENDERING | Game Engine series22 分钟
  62. P62 · Batch Rendering Textures (+ Debugging!) // Game Engine series30 分钟
  63. P63 · Drawing Rotated Quads // Game Engine series10 分钟
  64. P64 · Renderer Stats and Batch Improvements // Game Engine series22 分钟
  65. P65 · Testing Hazel's Performance! // Game Engine series13 分钟
  66. P66 · Let's Make Something in Hazel! // Game Engine series15 分钟
  67. P67 · How Sprite Sheets/Texture Atlases Work // Game Engine series15 分钟
  68. P68 · SubTextures - Creating a Sprite Sheet API // Game Engine series16 分钟
  69. P69 · Creating a Map of Tiles // Game Engine series14 分钟
  70. P70 · Next Steps + Dockspace | Game Engine series17 分钟
  71. P71 · Framebuffers | Game Engine series27 分钟
  72. P72 · Making a New C++ Project in Hazel | Game Engine series11 分钟
  73. P73 · Scene Viewport | Game Engine series14 分钟
  74. P74 · Code Review + ImGui Layer Events | Game Engine series24 分钟
  75. P75 · Where to go next + Code Review | Game Engine series22 分钟
  76. P76 · Entity Component System | Game Engine series26 分钟
  77. P77 · Intro to EnTT (ECS) | Game Engine series19 分钟
  78. P78 · Entities and Components | Game Engine series18 分钟
  79. P79 · The ENTITY Class | Game Engine series20 分钟
  80. P80 · Camera Systems | Game Engine series22 分钟
  81. P81 · Scene Camera | Game Engine series19 分钟
  82. P82 · Native Scripting | Game Engine series22 分钟
  83. P83 · Native Scripting (now with virtual functions!) | Game Engine series12 分钟
  84. P84 · Scene Hierarchy Panel | Game Engine series21 分钟
  85. P85 · Properties Panel | Game Engine series15 分钟
  86. P86 · Camera Component UI | Game Engine series22 分钟
  87. P87 · Drawing Component UI | Game Engine series12 分钟
  88. P88 · Transform Component UI | Game Engine series23 分钟
  89. P89 · Adding/Removing Entities and Components UI | Game Engine series21 分钟
  90. P90 · Making the Hazelnut Editor Look Good! | Game Engine series24 分钟
  91. P91 · Saving and Loading Scenes! | Game Engine series25 分钟
  92. P92 · Open/Save File Dialogs | Game Engine series18 分钟
  93. P93 · Transformation Gizmos | Game Engine series33 分钟
  94. P94 · Editor Camera | Game Engine series21 分钟
  95. P95 · Multiple Render Targets and Framebuffer Refactor // Game Engine series36 分钟
  96. P96 · Preparing Framebuffers for Mouse Picking // Game Engine series18 分钟
  97. P97 · Clearing Framebuffer Texture Attachments + Git Branching // Game Engine series17 分钟
  98. P98 · Mouse Picking // Game Engine series19 分钟
  99. P99 · Clicking to Select Entities // Game Engine series10 分钟
  100. P100 · SPIR-V and the New Shader System // Game Engine series33 分钟
  101. P101 · Content Browser/Asset Panel // Game Engine series21 分钟
  102. P102 · Content Browser Panel - ImGui Drag Drop // Game Engine series26 分钟
  103. P103 · Textures for Entities! // Game Engine series13 分钟
  104. P104 · Everything You Need in a 2D Game Engine (Hazel 2D) - Let's Talk44 分钟
  105. P105 · PLAY BUTTON! // Hazel 2D - Game Engine series29 分钟
  106. P106 · 2D PHYSICS! // Game Engine series51 分钟
  107. P107 · Universally Unique Identifiers (UUID/GUID) // Game Engine series26 分钟
  108. P108 · Playing and Stopping Scenes (and Resetting) // Game Engine series36 分钟
  109. P109 · Rendering Circles in a Game Engine // Game Engine series42 分钟
  110. P110 · Rendering Lines in a Game Engine // Game Engine series24 分钟
  111. P111 · Circle Physics Colliders // Game Engine series11 分钟
  112. P112 · Visualizing Physics Colliders // Game Engine series20 分钟
  113. P113 · Return of the Game Engine Series! (and Q&A)46 分钟
  114. P114 · Physics Simulation Mode // Game Engine series34 分钟
  115. P115 · Community Issues/PRs and Merging Branches // Game Engine series55 分钟
  116. P116 · Finishing the Pull Requests! // Game Engine series (Roast Edition™)109 分钟
  117. P117 · Final Cleaning Before Next MAJOR FEATURE! // Game Engine series81 分钟
  118. P118 · C# Scripting! // Game Engine series111 分钟
  119. P119 · Calling C++ from C# // Game Engine series78 分钟
  120. P120 · Using C# Scripting with the Entity Component System // Game Engine series75 分钟
  121. P121 · C++ Engine Components in C# // Game Engine series74 分钟
  122. P122 · C# - Separating Game Code from Core Engine Library // Game Engine series26 分钟
  123. P123 · Reading/Writing C# Fields in Editor // Game Engine series63 分钟

本课程卡由 AI 生成,可能存在误差,欢迎反馈。