SLProject  4.2.000
A platform independent 3D computer graphics framework for desktop OS, Android, iOS and online in web browsers
SLProject

Welcome to the SLProject. SL stands for Scene Library. It is developed at the Bern 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.

Read the following wiki page for more information:

Introduction:

Read the Introduction for an overview of the framework.
Read How one Frame gets painted for an overview of how on frame gets rendered.
Read The App Framework for an overview of the app framework.
Read Emscripten for an overview of how SLProject runs in the browser.

Contributors:

Contributors since 2005 in alphabetic order: Martin Christen, Jan Dellsperger, Manuel Frischknecht, Luc Girod, Michael Goettlicher, Michael Schertenleib, Stefan Thoeni, Timo Tschanz, Marc Wacker, Marino von Wattenwyl, Pascal Zingg

Framework Dependencies:

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.
  • SPA Solar Positioning Algorithm
  • stb_image for image file I/O.
  • zlib for data compression and decompression

Support:

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

Author: marcu.nosp@m.s.hu.nosp@m.drits.nosp@m.ch@b.nosp@m.fh.ch
Date: June 2024
Copyright (c): 2002-2024 Marcus Hudritsch, Kirchrain 18, 2572 Sutz, Switzerland