a day ago
- 参加了 Wheel Reinvention Jam,并构建了一个名为 ShapeUp 的 3D 建模器。
- 从 TypeScript 子集转向使用光线步进符号距离场 (SDF) 的 3D 项目,以获得更引人注目的演示。
- 选择 C 语言是因为其简洁性、快速编译以及易于编译为 WebAssembly;使用静态数组存储形状以避免动态分配问题。
- 实现了一个具有枚举控制的即时模式 UI (IMGUI),简化了调试和布局。
- 批评 raylib 参数验证不足、使用 int 而非枚举、错误报告无帮助,以及对其依赖项(如 GLFW)缺乏责任感。
- 遵循分层开发方法,确保建模器始终可用,像金字塔一样逐步构建。
- 最终项目总共 2024 行 C 代码和 250 行 GLSL 代码,能够导出 .obj 文件并在多个平台运行。