bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library

  •        786

Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library. http://airmech.com/ AirMech is a free-to-play futuristic action real-time strategy video game developed and published by Carbon Games.

https://bkaradzic.github.io/bgfx/overview.html
https://github.com/bkaradzic/bgfx

Tags
Implementation
License
Platform

   




Related Projects

DiligentEngine - Master repository for Diligent Engine project

  •    C++

Diligent Engine is a lightweight cross-platform abstraction layer between the application and the platform-specific graphics API designed to take advantages of next-generation APIs such as Direct3D12 and Vulkan, while providing support for older platforms via Direct3D11, OpenGL and OpenGLES. Diligent Engine exposes common front-end for all supported platforms and provides interoperability with underlying native API. Shader source code converter allows HLSL shaders to be used on all supported platforms and rendering backends. The engine is intended to be used as a graphics subsystem in a game engine or any other 3D application, and supports integration with Unity. Diligent Engine is distributed under Apache 2.0 license and is free to use. Alternatively, you can get master repository fisrt, and then individually clone all submodules into the engine's root folder.

renderdoc - RenderDoc is a stand-alone graphics debugging tool.

  •    C++

RenderDoc is a frame-capture based graphics debugger, currently available for Vulkan, D3D11, D3D12, OpenGL, and OpenGL ES development on Windows 7 - 10, Linux, and Android. It is completely open-source under the MIT license. If you have any questions, suggestions or problems or you can create an issue here on github, email me directly or come into IRC to discuss it.

ShaderConductor - ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages

  •    C++

ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages. Note that this project is still in an early stage, and it is under active development.

BansheeEngine - Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting

  •    CSharp

Banshee is a high-quality and modern game development toolkit. It provides a high-performance, multi-threaded game engine written in C++14. The engine includes math and utility libraries, Vulkan, DirectX 11 and OpenGL support, handles common tasks such as input, GUI, physics, audio, animation and scripting, and supports many popular resource formats (e.g. FBX, PNG, PSD, TTF, OGG, WAV).


Silk

  •    CSharp

Silk.NET is your one-stop-shop for high-speed .NET multimedia, graphics, and compute; providing bindings to popular low-level APIs such as OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, and DirectX. Silk.NET works on any .NET Standard 2.0 compliant platform, including .NET 5.0, Xamarin, .NET Framework 4.6.1+, and .NET Core 2.0+.

bsf - Modern C++14 library for the development of real-time graphical applications

  •    C++

bs::framework is a C++ library that aims to provide a unified foundation for the development of real-time graphical applications, whether games, engines or tools. Current feature-set includes a wide range of high level systems, ranging from math and utility libraries, to a physically based renderer backed by Vulkan, DirectX or OpenGL, all the way to input, GUI, physics, audio, animation and scripting systems, with asset support for most popular resource formats.

Fiber2D - Cross-platform 2D Game Engine in pure Swift

  •    Swift

This project originated as cocos2d-objc rewrite to Swift. As I stopped commiting to the repo since June, because Obj-C is dead for me. This is still in a very alpha state, but you already can build some games with it, even though it may be unpleasant process as I change API almost every day. The project served as .dylib (.so on Linux/Android) that builds by Swift Package Manager. It requires some project config in order to use it, but you can experiment with the demo provided in the repo. Generally the project should be considered unstable and most of the API is likely to be changed.

rendy - State of the art "build your own engine" kit powered by gfx-hal

  •    Rust

A rendering engine based on gfx-hal, which mimics the Vulkan API. Most importantly rendy features safer API by checking important states and invariants. It checks invariants statically using marker types and dynamically with stored values.

lwjgl3 - LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL), audio (OpenAL) and parallel computing (OpenCL) applications

  •    Kotlin

LWJGL (https://www.lwjgl.org) is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL/Vulkan), audio (OpenAL) and parallel computing (OpenCL) applications. This access is direct and high-performance, yet also wrapped in a type-safe and user-friendly layer, appropriate for the Java ecosystem.LWJGL is an enabling technology and provides low-level access. It is not a framework and does not provide higher-level utilities than what the native libraries expose. As such, novice programmers are encouraged to try one of the frameworks or game engines that make use of LWJGL, before working directly with the library.

filament - Filament is a real-time physically based rendering engine for Android, Windows, Linux and macOS

  •    C++

Filament is a real-time physically based rendering engine for Android, Linux, macOS and Windows. This rendering engine was designed to be as small as possible and as efficient as possible on Android. Filament is currently used in the Sceneform library both at runtime on Android devices and as the renderer inside the Android Studio plugin.

datoviz - ⚡ High-performance GPU interactive scientific data visualization with Vulkan

  •    C

Datoviz is an open-source high-performance interactive scientific data visualization library leveraging the graphics processing unit (GPU) for speed, visual quality, and scalability. It supports both 2D and 3D rendering, as well as minimal graphical user interfaces (using the Dear ImGUI library). Written in C, Datoviz has been designed from the ground up for performance. It provides native Python bindings (based on Cython). Bindings to other languages could be developed thanks to community efforts (Julia, R, MATLAB, Rust, C#, and so on). Datoviz uses the Vulkan graphics API created by the Khronos consortium, successor of OpenGL. Supporting other modern graphics API, such as WebGPU, would constitute interesting developments.

herebedragons - A basic 3D scene implemented with various engines, frameworks or APIs.

  •    C

Hic sunt dracones. This repository contains multiple implementations of the same 3D scene, using different APIs and frameworks on various platforms. The goal is to provide a comparison between multiple rendering methods. This is inherently biased due to the variety of algorithms used and available CPU/GPU configurations, but can hopefully still provide interesting insights on 3D rendering.

AE Engine

  •    C++

AE Engine is a free 3D Engine. It runs in Linux and Windows and uses OpenGL or DirectX for graphics rendering and SDL or DirectX to communicate with the operating system. Its main goal is to be fast, flexible and easy to use.

KlayGE - KlayGE is a cross-platform open source game engine with plugin-based architecture.

  •    C++

KlayGE is a cross-platform open source game engine with plugin-based architecture. It's started since 2003. The explicit goal of KlayGE is: to arm your engine with cutting-edge technology. It provides a framework to make game development, testing, porting as simple as possible. Before compiling KlayGE, Python 2.7+ and CMake 3.4+ must be installed first. Then you can run build_all.py to build KlayGE, its Samples, Tools, etc. For details, please see http://www.klayge.org/wiki/index.php/Installation.

Rendering.NET

  •    DotNet

Rendering.NET is an abstraction for any visualization device and over several APIs like OpenGL, DirectX, XNA, WebGL, WPF, Silverlight, Mobile DirectX, etc.

nanogui - Minimalistic C++/Python GUI library for OpenGL, GLES2/3, Metal, and WebAssembly/WebGL

  •    C++

NanoGUI is a minimalistic cross-platform widget library for OpenGL 3+, GLES 2/3, and Metal. It supports automatic layout generation, stateful C++ lambdas callbacks, a variety of useful widget types and Retina-capable rendering on Apple devices thanks to NanoVG by Mikko Mononen. Python bindings of all functionality are provided using pybind11. A different set of naming conventions is used for function and variable names that feels more natural in a mixed C++ & Python environment. (specifically, underscore_case for methods and variables rather than camelCase).






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.