3D Graphics for Dummies3D Graphics for Dummies Significant content “borrowed” from Dan Chang @ Nintendo NTD “with permission” Chris Ryan CppCon 2021 github.com/ChrisR98008/CppCon20213 3D Graphics for Dummies4 3D Graphics Dummies5 3D Graphics for Dummies6 3D Graphics for Dummies7 3D Graphics for Dummies8 3D Graphics for Dummies9 3D Graphics for Dummies10 3D Graphics for Dummies11 3D Graphics for Dummies12 3D Graphics Graphics for Dummies13 3D Graphics for Dummies14 3D Graphics for Dummies15 3D Graphics for Dummies Winding / Right Hand Rule Fingers curled in the order of the points, thumb points up Counter clockwise0 码力 | 79 页 | 4.61 MB | 6 月前3
Hello 算法 1.1.0 C++ 版0‑5 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 Python 代码的可视化运行(基于 pythontutor 实现)。如图 0‑6 所示,你 可以点击代码块下方的“可视化运行”来展开视图,观察算法代码的执行过程;也可以点击“全屏观看”,以 获得更好的阅览体验。 图 0‑6 Python 代码的可视化运行 第 0 章 前言 hello‑algo.com 8 0.2.4 在提问讨论中共同成长 具备 一定的“动态性”。 Tip 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 CPU 可以直接进行运算的类型,在算法中直接被使用,主要包括以下几种。 ‧ 整数类型 byte、short、int、long0 码力 | 379 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0 C++版0‑5 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 Python 代码的可视化运行(基于 pythontutor 实现)。如图 0‑6 所示,你 可以点击代码块下方的“可视化运行”来展开视图,观察算法代码的执行过程;也可以点击“全屏观看”,以 获得更好的阅览体验。 图 0‑6 Python 代码的可视化运行 第 0 章 前言 hello‑algo.com 8 0.2.4 在提问讨论中共同成长 行过程中对其长 度进行调整。 � 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 CPU 可以直接进行运算的类型,在算法中直接被使用,主要包括以下几种。 ‧ 整数类型 byte、short、int、long0 码力 | 378 页 | 17.59 MB | 1 年前3
Hello 算法 1.2.0 简体中文 C++ 版0‑5 代码块与对应的源代码文件 除了本地运行代码,网页版还支持 Python 代码的可视化运行(基于 pythontutor 实现)。如图 0‑6 所示,你 可以点击代码块下方的“可视化运行”来展开视图,观察算法代码的执行过程;也可以点击“全屏观看”,以 获得更好的阅览体验。 图 0‑6 Python 代码的可视化运行 第 0 章 前言 www.hello‑algo.com 8 0.2.4 具备 一定的“动态性”。 Tip 如果你感觉物理结构理解起来有困难,建议先阅读下一章,然后再回顾本节内容。 3.2 基本数据类型 当谈及计算机中的数据时,我们会想到文本、图片、视频、语音、3D 模型等各种形式。尽管这些数据的组织 形式各异,但它们都由各种基本数据类型构成。 基本数据类型是 CPU 可以直接进行运算的类型,在算法中直接被使用,主要包括以下几种。 ‧ 整数类型 byte、short、int、long0 码力 | 379 页 | 18.48 MB | 10 月前3
Techniques to Optimise Multi-threaded Data Building During Game Developmentbuilding? • Differences from Game Code • Assumptions and Concepts 2. Techniques • Keep Threads Busy • 3D Caching • Optimise Sorting • Avoid Blocking Threads 3. Questions 2Three sections Background What Speaker notesCACHING STATIC WORLD DATA • Problems: ▪ Need to cache static world data for access using 3D coords ▪ Prevent tasks from duplicating IO and processing work • Usually use traditional spatial data from duplicating work - and code ▶ Traditionally use one of tree structures - recursively subdivide 3d space • K-D tree partitions by axially aligned plane • Octree into 8 octants surrounding centre point0 码力 | 99 页 | 2.40 MB | 6 月前3
Making Games Start Fast: A Story About Concurrencygame rules & databases 14Start Enumeration Read Localization Load Audio Load 2D Assets Load 3D Assets Load Game Databases CPU: 5.6s Wait: 1.2s CPU: 8.2s Wait: 1.4s CPU: 7.3s Wait: 0.8s (Old) Startup Profile 15Start Enumeration Read Localization Load Audio Load 2D Assets Load 3D Assets Load Game Databases CPU: 0.5s Wait: 0.6s CPU: 0.9s Wait: 1.4s CPU: 4.5s Wait: 0.2s Threading Computations 3 40Side by Side Comparison 41Loading graphic assets ◉ Loading of both 2D and 3D assets was single threaded ◉ Huge speedup potential if we could spread it on all cores ◉ But0 码力 | 76 页 | 2.22 MB | 6 月前3
Data Structures That Make Video Games Go RoundMade from scratch (no game engine). ● Short release cycle. ● Small, by modern standards.Today: ● 3D, Photorealistic, Physics based. ● Multi-threaded. ● Made with a game engine. ● Long development Physics Rendering Audio Simulation Rendering AudioSimulation Imagine our hypothetical game is 3D with a vast world. Multiple systems ticking, ● Entity Component Systems (ECS) ● Artificial Intelligence world by recursively subdividing. Quadtree Octree ● 2D ● Recursively subdivided into 4 spaces ● 3D ● Recursively subdivided into 8 spaces.Quadtrees & Octrees Used to partition space in the game world0 码力 | 196 页 | 3.03 MB | 6 月前3
Better Code: Exploring ValidityReserved. About the artist Dan Zucco London-based 3D art and motion director Dan Zucco creates repeating 2D patterns and brings them to life as 3D animated loops. Inspired by architecture, music, modern0 码力 | 117 页 | 6.03 MB | 6 月前3
Tracy: A Profiler You Don't Want to Missgeneration! • [Halide] Yeah… std::stringstream is kinda slow… • [Substance 3D Modeler] Improved parallel shader compilation • [Substance 3D Stager] Eliminating GPU<->CPU copies with GPU API interop81 Comparing0 码力 | 85 页 | 6.51 MB | 6 月前3
Better Code: ContractsReserved. 134 About the artist Dan Zucco London-based 3D art and motion director Dan Zucco creates repeating 2D patterns and brings them to life as 3D animated loops. Inspired by architecture, music, modern0 码力 | 204 页 | 4.46 MB | 6 月前3
共 28 条
- 1
- 2
- 3













