A professional-grade 3D modeling application built with modern C++23 and Qt6, following industry-standard architecture patterns.
- β Basic 3D viewport and rendering
- β Scene management system
- β Transform tools with gizmos
- β Modular architecture implementation
- β Professional Theme System - Multiple dark modes, auto-detection, real-time switching
- β Modern UI Components - BaseComponent architecture, ThemeManager, ThemeSelector
- π Half-edge mesh operations
- π Advanced modeling tools
- β³ Plugin system
- β³ Advanced materials and lighting aims to be a complete 3D modeling solution comparable to industry standards like Blender or Maya, with a focus on:
- Modern Architecture: Clean, modular codebase following SOLID principles
- Performance: Optimized for real-time 3D workflows
- Extensibility: Plugin system for custom tools and workflows
- Professional UI: Intuitive interface designed for productivity
- 3D Primitives: Cube, Sphere, Cylinder, Plane generators with parametric controls
- Advanced Geometry: Half-edge mesh data structure for complex modeling operations
- Hybrid Geometry System: Seamless integration of mesh, NURBS, and voxel workflows
- Professional Viewport: Multi-view 3D rendering with modern OpenGL
- Scene Management: Hierarchical scene graph with transform inheritance
- Selection System: Vertex, edge, face, and object selection modes
- Transform Tools: Move, rotate, scale with precise numerical input
- Modeling Operations: Extrude, bevel, loop cut, subdivide
- Material System: PBR materials with texture support
- β
Professional Theme System: Multiple dark mode options (Modern Dark, High Contrast, Warm, Purple)
- Real-time theme switching without restart
- System dark mode auto-detection and following
- User-friendly theme selector integrated in main toolbar
- Modular UI: Dockable panels with customizable layouts
- Scene Hierarchy: Tree view of all scene objects with visibility controls
- Properties Panel: Context-sensitive object and material properties
- Tool Panels: Organized tool palette with keyboard shortcuts
- Responsive Design: Theme-aware components with consistent styling
- Modern UI Architecture: Comprehensive theme system with BaseComponent foundation
- Command Pattern: Full undo/redo system for all operations
- Plugin Architecture: Extensible system for custom tools and importers
- File I/O: Support for OBJ, STL, PLY formats with planned FBX/glTF support
- Performance: Optimized rendering pipeline with spatial data structures
- Theme System: Professional theming with multiple dark modes and auto-detection
- Qt 6.5+ with OpenGL support
- CMake 3.28+ (required for C++23 support)
- Visual Studio 2022 17.8+ or GCC 13+ / Clang 17+
- OpenGL 3.3+ compatible graphics card
-
Clone the repository:
git clone https://github.com/The-No-Hands-company/RudeBase3D.git cd RudeBase3D -
Build (Windows):
scripts\build.bat
-
Build (Unix):
chmod +x scripts/build.sh ./scripts/build.sh
mkdir build && cd build
cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_CXX_STANDARD=23
cmake --build . --config Release --parallelIf you get "Qt6 not found" errors, set the Qt path:
Windows:
cmake .. -DCMAKE_PREFIX_PATH="D:/Qt/6.6.1/msvc2022_64"Linux:
cmake .. -DCMAKE_PREFIX_PATH="/opt/Qt/6.6.1/gcc_64"macOS:
cmake .. -DCMAKE_PREFIX_PATH="/Users/$(whoami)/Qt/6.6.1/macos"- C++23 Support: Ensure you have Visual Studio 2022 17.8+ or GCC 13+
- OpenGL Issues: Update your graphics drivers
- Build Errors: Try a clean build:
rm -rf build && mkdir build
After building, the executable will be in build/bin/RudeBase3D.exe
RudeBase3D follows a modular, industry-standard architecture:
src/
βββ core/ # Core engine systems (math, memory, utils)
βββ geometry/ # Geometry processing (mesh, NURBS, voxels)
βββ scene/ # Scene management and object hierarchy
βββ rendering/ # OpenGL rendering pipeline
βββ tools/ # Modeling and transformation tools
βββ ui/ # User interface (Qt-based)
βββ input/ # Input handling and camera control
βββ io/ # File import/export systems
βββ commands/ # Command pattern for undo/redo
βββ plugins/ # Plugin architecture
- Separation of Concerns: Clear boundaries between UI, business logic, and rendering
- Dependency Injection: Loose coupling through interfaces and dependency inversion
- Command Pattern: All user actions are commands for robust undo/redo
- Observer Pattern: Event-driven updates between system components
- Plugin Architecture: Extensible system for custom tools and file formats
- πΊοΈ Development Roadmap - Project phases and feature timeline
- βοΈ Git Workflow - Contribution workflow and branching strategy
- ποΈ Project Governance - Leadership structure and decision making
- οΈ Architecture Overview - Technical architecture details
- πΉ Camera Controls - Viewport navigation guide
- π¨ Modeling Techniques - User guides and tutorials
- π Full Documentation - Complete documentation index
We welcome contributions from developers, artists, designers, and users!
- π Contributing Guidelines - How to contribute to the project
- π Security Policy - Reporting security vulnerabilities
- π Changelog - Project history and release notes
- Read our Contributing Guidelines
- Check the Development Roadmap for current priorities
- Look for issues labeled
good first issue - Join our Discord community for discussions
- Follow the Branching Strategy for development
Join our growing community of 3D artists, developers, and enthusiasts!
- π¬ Discord: The No Hands Company Community (Discord server setup guide available)
- π Issues: GitHub Issues
- π‘ Discussions: GitHub Discussions
- π§ Email: contact@no-hands-company.org
- β Basic 3D viewport and rendering
- β Scene management system
- β Transform tools with gizmos
- β Modular architecture implementation
- π Half-edge mesh operations
- π Advanced modeling tools
- β³ Plugin system
- β³ Advanced materials and lighting
- NURBS surface modeling
- Sculpting tools with dynamic topology
- Advanced selection modes
- Animation system
- Node-based material editor
We welcome contributions! Please see our Contributing Guidelines for details.
- Follow the building instructions above
- Enable all compiler warnings and treat them as errors
- Run tests before submitting PRs:
cmake --build . --target test - Use consistent code formatting (clang-format configuration provided)
This project is licensed under the MIT License - see the LICENSE file for details.
RudeBase3D is developed by The No Hands Company, focusing on innovative 3D software solutions.
RudeBase3D is built using modern C++23 features including:
- Concepts for type safety and better error messages
- Ranges for efficient data processing
- std::expected for error handling
- constexpr for compile-time optimizations
- Spaceship operator for automatic comparisons
- Launch RudeBase3D
- Use the "Create" menu to add primitives to the scene
- Select objects in the viewport or hierarchy panel
- Use transform tools to move, rotate, and scale objects
- Navigate the 3D view using mouse controls:
- Left mouse: Orbit camera
- Right mouse: Pan camera
- Scroll wheel: Zoom
MIT License - See LICENSE file for details