A modern, cross-platform 3D modeling and visualization application built with C++23, Qt and OpenGL 4.6.following a modular and incremental development approach
- Modern OpenGL-based rendering (OpenGL 4.6)
- Interactive 3D viewport with grid and coordinate axes
- Camera controls:
- Orbit camera with mouse drag
- Zoom with mouse wheel
- Auto-clamped vertical rotation to prevent gimbal lock
- Configurable camera distance limits (2-50 units)
- Clean, modern Qt-based interface
- Dockable panels:
- Properties panel with transform controls
- Position (X, Y, Z)
- Rotation (X, Y, Z)
- Scale (X, Y, Z)
- Layers panel
- Properties panel with transform controls
- Standard application menus:
- File (New, Open, Save)
- Edit (Undo, Redo)
- View (Reset View)
- Modern C++23 codebase
- Shader-based rendering pipeline
- Vertex buffer objects (VBO) for efficient geometry rendering
- Multi-sample anti-aliasing (MSAA) support
- High DPI display support
- Basic 3D primitives (Cube, Sphere, Cylinder, etc.)
- Mesh editing tools:
- Vertex manipulation
- Edge operations
- Face operations
- Boolean operations
- Subdivision surfaces
- UV mapping and texture support
- Scene hierarchy
- Object grouping
- Layer system with visibility/lock controls
- Material system:
- PBR materials
- Texture mapping
- Custom shaders
- Common 3D file format support:
- OBJ
- FBX
- glTF
- STL
- Material/texture import/export
- Multiple viewport layouts (Single, Quad, Custom)
- Viewport shading modes:
- Wireframe
- Solid
- Textured
- PBR preview
- Grid customization
- Transform gizmos
- Selection tools
- Timeline editor
- Keyframe animation
- Animation curves
- Skeletal animation
- Export animation data
- Real-time shadows
- PBR rendering
- Post-processing effects
- Environment lighting
- Ambient occlusion
- Anti-aliasing options
- Customizable shortcuts
- Theme support
- Plugin system
- Python scripting support
- Command palette
- CMake 3.20 or higher
- Qt 6.8.1 or higher
- C++23 compliant compiler
- OpenGL 4.6 capable GPU
# Clone the repository
git clone https://github.com/yourusername/Simple3D.git
cd Simple3D
# Create build directory
mkdir build
cd build
# Configure and build
cmake ..
cmake --build . --config Release
Contributions are welcome! Please read our contributing guidelines and code of conduct before submitting pull requests.
[Your chosen license]
- Qt framework
- OpenGL
- [Other libraries and tools used]