Welcome to the SLProject. SL stands for Scene Library. It is developed at the Berne University of Applied Sciences (BFH) and is used for student projects in the cpvrLab. The various applications show what you can learn in three semesters about 3D computer graphics in real time rendering and ray tracing. The framework is built in C++ and OpenGL ES and can be built for Windows, Linux, macOS (Intel & arm64), Android, Apple iOS and for WebAssembly enabled browsers. The framework can render alternatively with Ray Tracing and Path Tracing which provides in addition high quality transparencies, reflections and soft shadows.
The SLProject is hosted online on GitHub.
The source code is provided under the GNU General Puplic License (GPL). The code is provided without any warranties whether expressed or implied.
- Wiki Home
- How to get SLProject
- SLProject Features
- SLProject Version History
- Build instructions for MS Visual Studio
- Build on any OS with QtCreator
- Build for Android with Android Studio.
- Build for MacOS with Apple XCode
- Build for iOS with Apple XCode
- Build on Ubuntu Linux
- Minimal OpenGL Applications
- Minimal OpenCV Applications
- Repository folder structure
- Coding Style Guidelines for Contributors
- How to generate the HTML Documentation using Doxygen
- Data Protection Declaration
Read the Introduction Page for an overview of the framework.
Read the onPaint Page for an overview how on frame gets rendered.
Contributors since 2005 in alphabetic order: Martin Christen, Jan Dellsperger, Manuel Frischknecht, Luc Girod, Michael Goettlicher, Michael Schertenleib, Stefan Thoeni, Timo Tschanz, Marc Wacker, Pascal Zingg
The framework uses beside OpenGL the following external libraries that are also included in the SLProject repository:- assimp for 3D file formats loading.
- emscripten for the WebAssembly build for browsers.
- GL3W for OpenGL function binding.
- GLFW for window and OpenGL context creation.
- Mediapipe for Google's machine learning framework.
- OpenCV for image processing.
- OpenGL platform independent realtime rendering.
- OpenSSL for secure sochet layer networking in HTTPS
- ImGUI for an easy to use GUI.
- SPASolar Positioning Algorithm
- stb_imageSingle File Image Library
- zlib for data compression and decompression
- The code is provided without any warranties whether expressed or implied.
- No support can be provided on installation, compiler or build issues. The framework was tested on several machines using MS Visual Studio 2017 as well as on Mac OSX using XCode with GCC or LLVM compiler.
- The code is provided under GNU General Puplic License (GPL). This means in general, that you must provide your code as well under GPL if you use this code.
- Feedback always welcome.
Authors: [email protected]
Date: June 2023
Copyright (c): 2002-2023 Marcus Hudritsch, Kirchrain 18, 2572 Sutz, Switzerland