Sock Engine
A lightweight 3D game engine made with C++
Overview
Sock Engine is a custom 3D game engine made with C++. The engine is primarily a learning project focused on understanding game engine architecture and graphics programming fundamentals.
Technical Stack
- Language: C++
- Graphics API: OpenGL
- ECS: EnTT
- Math: GLM
- Models: Assimp
- Textures: SOIL2
- Windowing: GLFW
- UI: ImGui
- Build System: Premake5
Features
Rendering
- OpenGL forward renderer
- Shadow mapping with PCF filtering
- Blinn-Phong lighting model with directional lights
- Model loading via Assimp
- Multi-texture support
- Skybox rendering
- Debug visualization modes
Scene Management
- Entity-Component-System using EnTT
- Hierarchical transforms with parent-child relationships
- Component-based architecture
- Runtime scene graph management
Editor
- ImGui-based level editor
- Scene hierarchy with drag-and-drop
- Property inspector for components
- Real-time viewport rendering
- Debug panels and performance metrics
Core Systems
- Event-driven input handling
- Asset management pipeline
- Shader compilation system
- Premake5 build system
What's Next?
- Improved asset management with file system
- Scene and asset serialization
- Animation pipeline for skeletal meshes
- Physics integration with Jolt Physics
- Audio system with FMOD