A C++ journey from old to modern - Modernising ObjectiveFrame
summary
Code originally written for C++98 and SGI/Windows OpenGL is modernized into a single cross-platform build that compiles on Windows, Linux and macOS, replaces FLTK/fixed-function rendering with Immediate-mode UI via ImGUI and GLFW plus GLAD, swaps legacy Newmat solvers for modern libraries (Armadillo/Eigen), adds ChaiScript plugins for geometry creation, fixes selection to ray intersections, introduces std::filesystem and pervasive smart pointers, and delivers real-time interactive updates and far fewer crashes.
AI-written summary · about
chapters (26)
- 0:00ObjectiveFrame journey intro
- 2:17PhD inspiration
- 5:29Gaming inspiration for UIs
- 7:37Hardware challenges early 2000s
- 10:30Choosing FLTK for UI
- 14:033D graphics with OpenGL
- 16:10Building IVF Plus+ scene graph
- 20:51Object-oriented FEM model
- 24:01Matrix computations with newmat
- 26:53First prototype features
- 28:41User testing flaws
- 31:382013 revival with Leap Motion
- 34:472018 upgrade OpenGL limits
- 35:52Modernization goals
- 37:15Refactoring with modern C++
- 40:29Modernizing IVF Plus+ scene graph
- 43:06ImGui for UI
- 45:11ImGui with FLTK
- 48:47GLFW for windowing
- 50:11Engine with Armadillo
- 52:22Scripting with ChaiScript
- 54:32Current architecture
- 55:55Cross-platform challenges
- 57:00Modernization lessons
- 58:49Live demo
- 1:02:28Future plans
related talks
01h 03m“The MAME story: From C to Modern C++"
01h 25mWriting games in very modern C++
01h 08mWindows, Macos & the Web: Lessons From Cross-Platform Development
01h 06mModern C and What We Can Learn From It
01h 03mContemporary C++ in action
49mWindows, macOS & the Web: Lessons from Cross-platform Development at think-cell
01h 26mHow I Teach Modern C++ One Pixel at a Time
01h 25mComparing 'Classic C++' and 'Modern C++' Ways to Solve Programming Tasks
