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

tumcms/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) 2023 Technical University of Munich Chair of Computational Modeling and Simulation.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •