Skip to content

The-No-Hands-company/Simple3D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple3D

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

Current Features

Core Features

  • 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)

User Interface

  • 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
  • Standard application menus:
    • File (New, Open, Save)
    • Edit (Undo, Redo)
    • View (Reset View)

Technical Features

  • 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

Planned Features

Modeling

  • 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 Management

  • Scene hierarchy
  • Object grouping
  • Layer system with visibility/lock controls
  • Material system:
    • PBR materials
    • Texture mapping
    • Custom shaders

Import/Export

  • Common 3D file format support:
    • OBJ
    • FBX
    • glTF
    • STL
  • Material/texture import/export

Viewport Features

  • Multiple viewport layouts (Single, Quad, Custom)
  • Viewport shading modes:
    • Wireframe
    • Solid
    • Textured
    • PBR preview
  • Grid customization
  • Transform gizmos
  • Selection tools

Animation

  • Timeline editor
  • Keyframe animation
  • Animation curves
  • Skeletal animation
  • Export animation data

Rendering

  • Real-time shadows
  • PBR rendering
  • Post-processing effects
  • Environment lighting
  • Ambient occlusion
  • Anti-aliasing options

User Interface

  • Customizable shortcuts
  • Theme support
  • Plugin system
  • Python scripting support
  • Command palette

Building from Source

Prerequisites

  • CMake 3.20 or higher
  • Qt 6.8.1 or higher
  • C++23 compliant compiler
  • OpenGL 4.6 capable GPU

Build Instructions

# 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

Contributing

Contributions are welcome! Please read our contributing guidelines and code of conduct before submitting pull requests.

License

[Your chosen license]

Acknowledgments

  • Qt framework
  • OpenGL
  • [Other libraries and tools used]

About

No description, website, or topics provided.

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published