The Case for Graphics Programming Using the D Language
summary
Examples include a D-written ray tracer from "Ray Tracing in One Weekend" that compiles and renders images, shaders embedded as source, and an OBJ parser built with ranges and slicing; the build uses DMD (LDC/GDC for speed) plus OpenGL and GLFW. Compile-time tricks like compile-time function execution and mixins generate zero-branch math; a parallel foreach cuts a render from 5.9s to 0.76s, and switching a heap-allocated class to a struct roughly halves runtime. Unit tests, profiler and optional GC/betterC control are used.
AI-written summary · about
chapters (46)
- 0:00Introduction to D
- 1:03Audience poll
- 2:33First impressions of D
- 5:51Compile time features
- 10:12High-level systems language
- 13:42The case for D
- 17:34Ray tracing example
- 21:12Classes vs structs
- 25:38Operator overloading
- 26:54String mixins
- 28:36Template constraints
- 30:18Built-in unit testing
- 31:58Language profilers
- 32:49Garbage collection
- 34:02Parallelism in D
- 35:48Performance benchmarks
- 37:34Teaching D at university
- 39:34D and C++ complementary
- 40:35Real-time graphics in D
- 42:34Game engine inspiration
- 43:27Dagon and Dash engines
- 44:50Crash course on graphics
- 46:16Interfacing with C
- 47:13OpenGL loaders
- 47:53Module initialization
- 50:13Rendering a triangle
- 51:59Safety features
- 53:39Embedding shader code
- 54:15Parsing structured data
- 55:16OBJ file parser
- 57:24Comparison with C++
- 58:52Parallelizing parsing
- 59:45Flexible vertex format
- 1:01:04Reflection in D
- 1:02:58OpenGL attribute setup
- 1:05:55Render targets
- 1:06:53Debugging graphics code
- 1:08:30Hot reloading
- 1:10:02Game loop structure
- 1:10:54Build times
- 1:12:30Better C mode
- 1:14:00Managing memory
- 1:15:53Polymorphism with structs
- 1:17:36D contracts
- 1:18:40Data structures
- 1:20:15Learning resources
related talks
01h 01mThree Unlikely Successful Features of D
01h 01m3D Graphics for Dummies
49mRapid Prototyping of Graphics Shaders in Modern C++
01h 03mIntro to 3D Graphics
01h 28mData-Oriented Design and C++
37mCreative Coding for Fun and (Non)Profit
05mLightning Talk: Programming is Fun in Cpp!
01h 13mJai Demo and Design Explanation (KEYNOTE) - Updated
