A C++20 cross-platform demo framework for graphics and compute APIs like Vulkan, OpenGL ES, OpenVX, OpenCL, OpenVG, and OpenCV.
DemoFramework is a C++20 cross-platform framework for rapidly developing demos and benchmarks for graphics and compute APIs such as Vulkan, OpenGL ES, OpenVX, OpenCL, OpenVG, and OpenCV. It handles low-level OS-specific tasks like window creation, context setup, and asset management, allowing developers to concentrate on implementing visual effects, algorithms, or performance tests. The framework ensures that the same demo code runs identically across supported platforms, enabling accurate cross-platform performance comparisons.
Graphics engineers, embedded systems developers, and researchers who need to create portable demos, benchmarks, or proof-of-concepts for GPU APIs across Android, Linux, and Windows environments.
Developers choose DemoFramework for its extensive cross-platform support, automated build system that reduces maintenance overhead, and comprehensive abstraction of boilerplate code. Its large collection of pre-built samples (over 235) across multiple APIs accelerates prototyping and testing, while the consistent architecture ensures demos are easily portable and comparable across different operating systems.
DemoFramework is a multi-platform framework designed to accelerate the development of demos and benchmarks for various graphics and compute APIs. It abstracts away OS-specific boilerplate code for window management, context creation, asset loading, and rendering loops, allowing developers to focus on writing the core demo logic. The same demo code can be compiled and run across multiple platforms, enabling true comparative performance analysis.
DemoFramework prioritizes developer productivity by eliminating repetitive platform-specific code, ensuring that demos are portable and maintainable across a wide range of operating systems and graphics APIs.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Runs on Android NDK, Linux (Yocto), Ubuntu, and Windows 10+, enabling true comparative benchmarks with the same codebase.
Uses FslBuildGen to auto-generate platform-specific build files from minimal XML configs, reducing maintenance for over 235 sample applications.
Provides a content manager service for platform-agnostic asset loading, shader compilation, and file handling, abstracting OS-specific complexities.
Includes built-in support for performance graphs, screenshots, frame stepping, and time-step management, facilitating debugging and benchmarking.
Relies on a proprietary XML-based meta-build system (FslBuildGen) that is not industry-standard, requiring developers to learn and maintain a unique toolchain.
Several key APIs like Vulkan, OpenCL, and OpenVX are labeled as 'early access,' indicating potentially incomplete or unstable implementations.
The framework imposes its own architecture for demo registration, service usage, and content management, which can be overwhelming for those new to the ecosystem.