【极致中配】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 讲)
- P1 · Introducing the GAME ENGINE series!8 分钟
- P2 · What is a GAME ENGINE?9 分钟
- P3 · DESIGNING our GAME ENGINE14 分钟
- P4 · Project Setup | Game Engine Series15 分钟
- P5 · Entry Point | Game Engine Series14 分钟
- P6 · Logging | Game Engine Series17 分钟
- P7 · Premake | Game Engine Series19 分钟
- P8 · Planning the Event System | Game Engine series9 分钟
- P9 · Event System | Game Engine series22 分钟
- P10 · Precompiled Headers | Game Engine series6 分钟
- P11 · Window Abstraction and GLFW | Game Engine series18 分钟
- P12 · Window Events | Game Engine series14 分钟
- P13 · Layers | Game Engine series13 分钟
- P14 · Modern OpenGL (Glad) | Game Engine series11 分钟
- P15 · ImGui | Game Engine series16 分钟
- P16 · ImGui Events | Game Engine series14 分钟
- P17 · GitHub and Hazel | Game Engine series16 分钟
- P18 · Pull Requests | Game Engine series14 分钟
- P19 · Input Polling | Game Engine series16 分钟
- P20 · Key and Mouse Codes | Game Engine series14 分钟
- P21 · Maths | Game Engine series11 分钟
- P22 · ImGui Docking and Viewports | Game Engine series19 分钟
- P23 · Introduction to Rendering | Game Engine series17 分钟
- P24 · Rendering Architecture | Game Engine series18 分钟
- P25 · Rendering and Maintenance | Game Engine series15 分钟
- P26 · Static Libraries and ZERO Warnings | Game Engine series13 分钟
- P27 · Rendering Context | Game Engine series17 分钟
- P28 · Our First Triangle! | Game Engine series17 分钟
- P29 · OpenGL Shaders | Game Engine series26 分钟
- P30 · Renderer API Abstraction | Game Engine series29 分钟
- P31 · Vertex Buffer Layouts | Game Engine series31 分钟
- P32 · Vertex Arrays | Game Engine series26 分钟
- P33 · Renderer Flow and Submission | Game Engine series24 分钟
- P34 · CAMERAS and How They Work | Game Engine series24 分钟
- P35 · Creating an Orthographic Camera | Game Engine series23 分钟
- P36 · Moving to Sandbox | Game Engine series14 分钟
- P37 · TIMESTEPS and DELTA TIME | Game Engine series16 分钟
- P38 · Transforms | Game Engine series15 分钟
- P39 · Material Systems | Game Engine series20 分钟
- P40 · Shader Abstraction and Uniforms | Game Engine series16 分钟
- P41 · Refs, Scopes and Smart Pointers | Game Engine series15 分钟
- P42 · TEXTURES | Game Engine series31 分钟
- P43 · BLENDING | Game Engine series12 分钟
- P44 · Shader Asset Files | Game Engine series24 分钟
- P45 · Shader Library | Game Engine series25 分钟
- P46 · How to Build a 2D Renderer | Game Engine series23 分钟
- P47 · Camera Controllers | Game Engine series21 分钟
- P48 · Resizing | Game Engine series18 分钟
- P49 · Maintenance | Game Engine series15 分钟
- P50 · Preparing for 2D Rendering | Game Engine series17 分钟
- P51 · Starting our 2D Renderer | Game Engine series20 分钟
- P52 · 2D Renderer Transforms | Game Engine series9 分钟
- P53 · 2D Renderer Textures | Game Engine series13 分钟
- P54 · Single Shader 2D Renderer | Game Engine series16 分钟
- P55 · Intro to Profiling | Game Engine series14 分钟
- P56 · Visual Profiling | Game Engine series17 分钟
- P57 · Instrumentation | Game Engine series24 分钟
- P58 · Improving our 2D Rendering API | Game Engine series15 分钟
- P59 · How I Made a Game in an Hour Using Hazel19 分钟
- P60 · Hazel 2020 | Game Engine series13 分钟
- P61 · BATCH RENDERING | Game Engine series22 分钟
- P62 · Batch Rendering Textures (+ Debugging!) // Game Engine series30 分钟
- P63 · Drawing Rotated Quads // Game Engine series10 分钟
- P64 · Renderer Stats and Batch Improvements // Game Engine series22 分钟
- P65 · Testing Hazel's Performance! // Game Engine series13 分钟
- P66 · Let's Make Something in Hazel! // Game Engine series15 分钟
- P67 · How Sprite Sheets/Texture Atlases Work // Game Engine series15 分钟
- P68 · SubTextures - Creating a Sprite Sheet API // Game Engine series16 分钟
- P69 · Creating a Map of Tiles // Game Engine series14 分钟
- P70 · Next Steps + Dockspace | Game Engine series17 分钟
- P71 · Framebuffers | Game Engine series27 分钟
- P72 · Making a New C++ Project in Hazel | Game Engine series11 分钟
- P73 · Scene Viewport | Game Engine series14 分钟
- P74 · Code Review + ImGui Layer Events | Game Engine series24 分钟
- P75 · Where to go next + Code Review | Game Engine series22 分钟
- P76 · Entity Component System | Game Engine series26 分钟
- P77 · Intro to EnTT (ECS) | Game Engine series19 分钟
- P78 · Entities and Components | Game Engine series18 分钟
- P79 · The ENTITY Class | Game Engine series20 分钟
- P80 · Camera Systems | Game Engine series22 分钟
- P81 · Scene Camera | Game Engine series19 分钟
- P82 · Native Scripting | Game Engine series22 分钟
- P83 · Native Scripting (now with virtual functions!) | Game Engine series12 分钟
- P84 · Scene Hierarchy Panel | Game Engine series21 分钟
- P85 · Properties Panel | Game Engine series15 分钟
- P86 · Camera Component UI | Game Engine series22 分钟
- P87 · Drawing Component UI | Game Engine series12 分钟
- P88 · Transform Component UI | Game Engine series23 分钟
- P89 · Adding/Removing Entities and Components UI | Game Engine series21 分钟
- P90 · Making the Hazelnut Editor Look Good! | Game Engine series24 分钟
- P91 · Saving and Loading Scenes! | Game Engine series25 分钟
- P92 · Open/Save File Dialogs | Game Engine series18 分钟
- P93 · Transformation Gizmos | Game Engine series33 分钟
- P94 · Editor Camera | Game Engine series21 分钟
- P95 · Multiple Render Targets and Framebuffer Refactor // Game Engine series36 分钟
- P96 · Preparing Framebuffers for Mouse Picking // Game Engine series18 分钟
- P97 · Clearing Framebuffer Texture Attachments + Git Branching // Game Engine series17 分钟
- P98 · Mouse Picking // Game Engine series19 分钟
- P99 · Clicking to Select Entities // Game Engine series10 分钟
- P100 · SPIR-V and the New Shader System // Game Engine series33 分钟
- P101 · Content Browser/Asset Panel // Game Engine series21 分钟
- P102 · Content Browser Panel - ImGui Drag Drop // Game Engine series26 分钟
- P103 · Textures for Entities! // Game Engine series13 分钟
- P104 · Everything You Need in a 2D Game Engine (Hazel 2D) - Let's Talk44 分钟
- P105 · PLAY BUTTON! // Hazel 2D - Game Engine series29 分钟
- P106 · 2D PHYSICS! // Game Engine series51 分钟
- P107 · Universally Unique Identifiers (UUID/GUID) // Game Engine series26 分钟
- P108 · Playing and Stopping Scenes (and Resetting) // Game Engine series36 分钟
- P109 · Rendering Circles in a Game Engine // Game Engine series42 分钟
- P110 · Rendering Lines in a Game Engine // Game Engine series24 分钟
- P111 · Circle Physics Colliders // Game Engine series11 分钟
- P112 · Visualizing Physics Colliders // Game Engine series20 分钟
- P113 · Return of the Game Engine Series! (and Q&A)46 分钟
- P114 · Physics Simulation Mode // Game Engine series34 分钟
- P115 · Community Issues/PRs and Merging Branches // Game Engine series55 分钟
- P116 · Finishing the Pull Requests! // Game Engine series (Roast Edition™)109 分钟
- P117 · Final Cleaning Before Next MAJOR FEATURE! // Game Engine series81 分钟
- P118 · C# Scripting! // Game Engine series111 分钟
- P119 · Calling C++ from C# // Game Engine series78 分钟
- P120 · Using C# Scripting with the Entity Component System // Game Engine series75 分钟
- P121 · C++ Engine Components in C# // Game Engine series74 分钟
- P122 · C# - Separating Game Code from Core Engine Library // Game Engine series26 分钟
- P123 · Reading/Writing C# Fields in Editor // Game Engine series63 分钟
本课程卡由 AI 生成,可能存在误差,欢迎反馈。