Skip to content

This is the official repository of tumcms BlueFramework as of April 2020

License

Notifications You must be signed in to change notification settings

pjanck/Blue-Framework

 
 

Repository files navigation

BlueFramework

Short overview

BlueFramework is divided into different parts e.g. Core, ImageProcessing, Rasterizer, and Engine.

The Core contains basic functionality for logging, vector and matrix algebra, string handling and some basic diagnostic functionality.

The ImageProcessing module offers basic functionality for image manipulation and loading and storing image files.

The Rasterizer is a thin abstract layer for graphic APIs such as Direct3D 11, Direct3D 12, OpenGL 3.x and up and Vulkan. Currently, there is a feature complete Direct3D 11 and Direct3D 12 implementation available (BlueFramework.D3D11RenderSystem, BlueFramework.D3D12RenderSystem). The OpenGL backend currently supports only a subset of the complete feature set of the Rasterizer module. The Vulkan implementation is still work in progress. As a user of the BlueFramework library, or more specifically as a user of the BlueFramework.Rasterizer module you program to an abstract interface that is internally mapped to the different render systems. This gives your application the advantage to use different graphic APIs by only writing code once.

The Engine module over functionality to download resources such as textures from URLs, a basic camera for first person and model view orientation, a view cube and basic resource management.

Who is using it?

TUM Open Infra Platform

TUM Open Infra Platform

OIP

Ether.DebugVisualizer

OIP

(Country Kitchen scene by Jay-Artist)

Documentation

Building

Deployment

Versioning

UnitTests

Rasterizer

License

Copyright (c) 2016 Technical University of Munich Chair of Computational Modeling and Simulation.

BlueFramework is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 3 as published by the Free Software Foundation.

BlueFramework is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Copyright notes

BlueFramework version 3.0.0.0 and up uses several software libraries. The corresponding licenses can be found in the Licenses folder distributed with this source code:

Some code has also been copied from the following projects:

Where appropriate the source code documents the original source.

Notes

  • BlueFramwork versions 0.4.1845.* to 2.4.1077.* were developed by Julian Amann and used code derived from niven that was not licensed in a correct way. The Copyright of niven belongs to Matthäus G. Chajdas. Those copyright issues have been fixed in this version (version 3.0.0.0 and up).
  • BlueFramework version 3.0.0.0 and up is developed by the Chair of Computational Modeling and Simulation of the Technical University of Munich. It is a complete rewrite.

About

This is the official repository of tumcms BlueFramework as of April 2020

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 81.4%
  • C 8.0%
  • CMake 6.5%
  • HLSL 2.3%
  • Batchfile 0.9%
  • Python 0.5%
  • GLSL 0.4%