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

  •        162

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


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.

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.

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.

pixel - A hand-crafted 2D game library in Go

  •    Go

A hand-crafted 2D game library in Go. Take a look into the features to see what it can do.See requirements for the list of libraries necessary for compilation.

awesome-webgl - A curated list of awesome WebGL libraries, resources and much more

  •    

This is a curated list of awesome WebGL libraries, resources and much more. WebGL (Web Graphics Library) is a JavaScript API for rendering interactive 3D computer graphics and 2D graphics within any compatible web browser without the use of plug-ins. WebGL is integrated completely into all the web standards of the browser allowing GPU accelerated usage of physics and image processing and effects as part of the web page canvas.

pixi

  •    Javascript

The aim of this project is to provide a fast lightweight 2D library that works across all devices. The PixiJS renderer allows everyone to enjoy the power of hardware acceleration without prior knowledge of WebGL. Also, it's fast. Really fast. PixiJS is a rendering library that will allow you to create rich, interactive graphics, cross platform applications, and games without having to dive into the WebGL API or deal with browser and device compatibility.

libSDL2pp - C++11 bindings/wrapper for SDL2

  •    C++

This library provides C++11 bindings/wrapper for SDL2 and satellite libraries. There's also more elaborate tutorial.

veldrid - A low-level, portable graphics and compute library for .NET.

  •    CSharp

Veldrid is a cross-platform, graphics API-agnostic rendering and compute library for .NET. It provides a powerful, unified interface to a system's GPU and includes more advanced features than any other .NET library. Unlike other platform- or vendor-specific technologies, Veldrid can be used to create high-performance 3D applications that are truly portable. Veldrid uses the standard .NET Core tooling. Install the tools and build normally (dotnet build).