Modern 2D vector geometry and rendering engine for Qt6/C++
In memory of Jamshid Sharmahd.
OpenVED is a lightweight 2D vector drawing and geometry engine originally developed in the late 1990s in Hannover, Germany.
The project has been modernized and ported to modern C++ and Qt6 while preserving its original geometric concepts and lightweight architecture.
OpenVED focuses on:
- 2D vector geometry
- precise geometric primitives
- lightweight rendering
- modern Qt integration
- clean CMake-based builds
- reduced legacy dependencies
The original codebase has been refactored to remove historical ballast, obsolete C libraries, and platform-specific legacy code.
- Modern C++23 implementation
- Qt6-based rendering and UI integration
- 2D vector primitives
- Geometry operations
- Lightweight architecture
- Cross-platform design
- CMake build system
- Minimal external dependencies
OpenVED is intended as:
- a reusable 2D vector geometry engine
- a foundation for CAD-like applications
- an educational geometry/codebase
- a preservation of historical engineering software concepts modernized for current systems
| Component | Technology |
|---|---|
| Language | C++23 |
| GUI/Rendering | Qt6 |
| Build System | CMake |
| Platforms | Linux, macOS, Windows |
- C++23 compatible compiler
- Qt6 Widgets
- CMake 3.24+
- Ninja (recommended)
- FreeType development files
- HarfBuzz development files
FreeType and HarfBuzz can be provided either by the system/package manager or vendored under
third_party/freetype and third_party/harfbuzz.
git clone https://github.com/YOURNAME/OpenVED.git
cd OpenVED
mkdir build
cd build
cmake .. -G Ninja
cmake --build .Using Homebrew:
brew install cmake ninja qt freetype harfbuzz
git clone https://github.com/YOURNAME/OpenVED.git
cd OpenVED
cmake -S . -B build -G Ninja \
-DCMAKE_PREFIX_PATH="$(brew --prefix qt);$(brew --prefix freetype);$(brew --prefix harfbuzz)"
cmake --build buildUsing vcpkg and Visual Studio 2022:
git clone https://github.com/YOURNAME/OpenVED.git
cd OpenVED
vcpkg install qtbase freetype harfbuzz --triplet x64-windows
cmake -S . -B build -G Ninja `
-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake `
-DVCPKG_TARGET_TRIPLET=x64-windows
cmake --build buildFor a fully static Windows dependency build, use a static vcpkg triplet:
vcpkg install qtbase freetype harfbuzz --triplet x64-windows-static
cmake -S . -B build-static -G Ninja `
-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake `
-DVCPKG_TARGET_TRIPLET=x64-windows-static
cmake --build build-staticOpenVED intentionally avoids unnecessary complexity and large framework abstractions where possible.
The goal is to provide:
- understandable geometry code
- long-term maintainability
- lightweight architecture
- direct control over rendering and geometry structures
The project is currently under active modernization and cleanup.
APIs and internal structures may still evolve.
OpenVED is released under the MIT License — see LICENSE.
It also links against and/or bundles third-party components under their own licenses:
- Qt 6 (Widgets, Gui, PrintSupport) — LGPL v3
- FreeType — FreeType License (FTL)
- HarfBuzz — "Old MIT" License
- Bundled fonts — Liberation family (SIL OFL 1.1), optionally DejaVu (Bitstream Vera + public domain)
Full texts are in licenses/; attribution, linking details and
required credits are documented in
THIRD_PARTY_LICENSES.md.
This project is dedicated to the memory of Jamshid Sharmahd, a talented software engineer, independent thinker, and longtime friend.
Originally developed in Hannover, Germany.
Modernized and maintained by Lukas Rasegi in Hannover, Germany.