Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

Vulkan-Guide

Vulkan Guide
https://github.com/mikeroyal/Vulkan-Guide

Last synced: 4 days ago
JSON representation

  • Game Engines

  • Game Development Tools

    • GameMaker Studio 2
    • Vulkan - platform graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms. Vulkan is currently in development by the Khronos consortium.
    • Unreal Engine - time 3D creation tool. Continuously evolving to serve not only its original purpose as a state-of-the-art game engine, today it gives creators across industries the freedom and control to deliver cutting-edge content, interactive experiences, and immersive virtual worlds.
    • Unity - platform game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers.
    • Unigine - platform game engine designed for development teams (C++/C# programmers, 3D artists) working on interactive 3D apps.
    • Panda3D - source and free for any purpose, including commercial ventures.
    • Source 2 - Life: Alyx.
    • Havok
    • AutoDesk 3ds Max
    • Houdini
    • A-Frame - Component. A-Frame works on Vive, Rift, desktop, mobile platforms.
    • AppGameKit
    • Blender
    • CryEngine - time game development platform created by Crytek.
    • Godot - packed, cross-platform game engine to create 2D and 3D games from a unified interface. It provides a comprehensive set of common tools, so that users can focus on making games without having to reinvent the wheel. Games can be exported in one click to a number of platforms, including the major desktop platforms (Linux, Mac OSX, Windows) as well as mobile (Android, iOS) and web-based (HTML5) platforms.
    • Open Graphics Library(OpenGL) - accelerated rendering of 2D/3D vector graphics currently developed by the [Khronos Group](https://www.khronos.org/).
    • OpenGL Shading Language(GLSL) - style language, so it covers most of the features a user would expect with such a language. Such as control structures (for-loops, if-else statements, etc) exist in GLSL, including the switch statement.
    • High Level Shading Language(HLSL) - like programmable shaders for the Direct3D pipeline. HLSL was first created with DirectX 9 to set up the programmable 3D pipeline.
    • MoltenVK
    • MoltenGL
    • Mesa 3D Graphics Library - source implementation of the OpenGL specification. A system for rendering interactive 3D graphics. Mesa ties into several other open-source projects: the [Direct Rendering Infrastructure](https://dri.freedesktop.org/), [X.org](https://x.org/), and [Wayland](https://wayland.freedesktop.org/) to provide OpenGL support on Linux, FreeBSD, and other operating systems.
    • OpenGL ES
    • EGL
    • VDPAU
    • VA API - source library and API specification, which provides access to graphics hardware acceleration capabilities for video processing.
    • XvMC
    • AMD Radeon ProRender - based rendering engine that enables creative professionals to produce stunningly photorealistic images on virtually any GPU, any CPU, and any OS in over a dozen leading digital content creation and CAD applications.
    • NVIDIA Omniverse - GPU, real-time simulation and collaboration platform for 3D production pipelines based on Pixar's Universal Scene Description and NVIDIA RTX.
    • Three.js - browser JavaScript library and application programming interface used to create and display animated 3D computer graphics in a web browser using WebGL.
    • Superpowers - time collaborative projects . You can use it solo like a regular offline game maker, or setup a password and let friends join in on your project through their Web browser.
    • URHO3D - platform 2D and 3D game engine implemented in C++ and released under the MIT license. Greatly inspired by OGRE and Horde3D.
    • Vivox
    • HGIG
    • GameBlocks - Cheat & Middleware software.
    • Vulkan - platform graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms. Vulkan is currently in development by the Khronos consortium.
    • Unity - platform game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers.
    • Vivox
    • GameMaker Studio 2
    • DirectX 12 Ultimate
    • LibGDX - platform Java game development framework based on OpenGL (ES) that works on Windows, Linux, Mac OS X, Android, your WebGL enabled browser and iOS.
    • cocos2d-x - platform framework for building 2d games, interactive books, demos and other graphical applications. It is based on cocos2d-iphone, but instead of using Objective-C, it uses C++. It works on iOS, Android, macOS, Windows and Linux.
    • MonoGame - platform games. The spiritual successor to XNA with thousands of titles shipped across desktop, mobile, and console platforms. MonoGame is a fully managed .NET open source game framework without any black boxes.
    • Unreal Engine - time 3D creation tool. Continuously evolving to serve not only its original purpose as a state-of-the-art game engine, today it gives creators across industries the freedom and control to deliver cutting-edge content, interactive experiences, and immersive virtual worlds.
    • Amazon Lumberyard
    • GameBlocks - Cheat & Middleware software.
    • Three.js - browser JavaScript library and application programming interface used to create and display animated 3D computer graphics in a web browser using WebGL.
    • Metal - level GPU programming framework used for rendering 2D and 3D graphics on Apple platforms such as iOS, iPadOS, macOS, watchOS and tvOS.
    • MoltenVK
    • OpenCL
    • AppGameKit
    • Blender
  • Game Development Learning Resources

  • Augmented Reality (AR) & Virtual Reality (VR)

    • ARKit - reality apps for iOS developed by Apple. The latest version ARKit 3.5 takes advantage of the new LiDAR Scanner and depth sensing system on iPad Pro(2020) to support a new generation of AR apps that use Scene Geometry for enhanced scene understanding and object occlusion.
    • RealityKit - performance 3D simulation and rendering with information provided by the ARKit framework to seamlessly integrate virtual objects into the real world.
    • SceneKit - level 3D graphics framework that helps you create 3D animated scenes and effects in your iOS apps.
    • ARCore
    • Microsoft
    • PlayStation
    • SteamVR
    • Steam
    • OpenVR Benchmark on Steam
    • OpenHMD - mounted display) devices such as Oculus Rift, HTC Vive, Sony PSVR, and others.
    • openXR - performance access to Augmented Reality (AR) and Virtual Reality (VR) collectively known as XR—platforms and devices.
    • Monado - start development of an open source XR ecosystem and provide the fundamental building blocks for device vendors to target the GNU/Linux platform.
    • OpenVR
    • Libsurvive
    • Simula - 638454156)).
    • OpenVR Benchmark on Steam
  • C/C++ Learning Resources

  • C/C++ Tools and Frameworks

    • Visual Studio - rich application that can be used for many aspects of software development. Visual Studio makes it easy to edit, debug, build, and publish your app. By using Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, and Windows Store.
    • Visual Studio Code
    • ReSharper C++
    • AppCode - fixes to resolve them automatically. AppCode provides lots of code inspections for Objective-C, Swift, C/C++, and a number of code inspections for other supported languages. All code inspections are run on the fly.
    • CLion - platform IDE for C and C++ developers developed by JetBrains.
    • Code::Blocks
    • Conan
    • High Performance Computing (HPC) SDK
    • Boost - edge C++. Boost has been a participant in the annual Google Summer of Code since 2007, in which students develop their skills by working on Boost Library development.
    • Automake
    • Cmake - source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice.
    • GDB
    • GCC - C, Fortran, Ada, Go, and D, as well as libraries for these languages.
    • GSL - squares fitting. There are over 1000 functions in total with an extensive test suite.
    • OpenGL Extension Wrangler Library (GLEW) - platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform.
    • Libtool
    • Maven
    • TAU (Tuning And Analysis Utilities) - based sampling. All C++ language features are supported including templates and namespaces.
    • Clang - C, C++ and Objective-C++ compiler when targeting X86-32, X86-64, and ARM (other targets may have caveats, but are usually easy to fix). Clang is used in production to build performance-critical software like Google Chrome or Firefox.
    • OpenCV - time applications. Cross-Platform C++, Python and Java interfaces support Linux, MacOS, Windows, iOS, and Android.
    • Libcu++
    • ANTLR (ANother Tool for Language Recognition)
    • Oat++ - efficient web application. It's zero-dependency and easy-portable.
    • Cython
    • Infer - C, and C. Infer is written in [OCaml](https://ocaml.org/).
    • Vcpkg
    • CppSharp
    • JavaCPP
    • Spdlog - only/compiled, C++ logging library.
  • CUDA Learning Resources

  • CUDA Tools Libraries, and Frameworks

    • CUDA Toolkit - accelerated applications. The CUDA Toolkit allows you can develop, optimize, and deploy your applications on GPU-accelerated embedded systems, desktop workstations, enterprise data centers, cloud-based platforms and HPC supercomputers. The toolkit includes GPU-accelerated libraries, debugging and optimization tools, a C/C++ compiler, and a runtime library to build and deploy your application on major architectures including x86, Arm and POWER.
    • NVIDIA cuDNN - accelerated library of primitives for [deep neural networks](https://developer.nvidia.com/deep-learning). cuDNN provides highly tuned implementations for standard routines such as forward and backward convolution, pooling, normalization, and activation layers. cuDNN accelerates widely used deep learning frameworks, including [Caffe2](https://caffe2.ai/), [Chainer](https://chainer.org/), [Keras](https://keras.io/), [MATLAB](https://www.mathworks.com/solutions/deep-learning.html), [MxNet](https://mxnet.incubator.apache.org/), [PyTorch](https://pytorch.org/), and [TensorFlow](https://www.tensorflow.org/).
    • CUDA-X HPC - X HPC includes highly tuned kernels essential for high-performance computing (HPC).
    • Minkowski Engine - differentiation library for sparse tensors. It supports all standard neural network layers such as convolution, pooling, unpooling, and broadcasting operations for sparse tensors.
    • Chainer - based deep learning framework aiming at flexibility. It provides automatic differentiation APIs based on the define-by-run approach (dynamic computational graphs) as well as object-oriented high-level APIs to build and train neural networks. It also supports CUDA/cuDNN using [CuPy](https://github.com/cupy/cupy) for high performance training and inference.
    • CuPy - compatible multi-dimensional array on CUDA. CuPy consists of the core multi-dimensional array class, cupy.ndarray, and many functions on it. It supports a subset of numpy.ndarray interface.
    • CatBoost
    • cuDF - like API that will be familiar to data engineers & data scientists, so they can use it to easily accelerate their workflows without going into the details of CUDA programming.
    • ArrayFire - purpose library that simplifies the process of developing software that targets parallel and massively-parallel architectures including CPUs, GPUs, and other hardware acceleration devices.
    • AresDB - powered real-time analytics storage and query engine. It features low query latency, high data freshness and highly efficient in-memory and on disk storage management.
    • GraphVite - speed and large-scale embedding learning in various applications.
    • Julia - level, [high-performance](https://julialang.org/benchmarks/) dynamic language for technical computing. Julia programs compile to efficient native code for [multiple platforms](https://julialang.org/downloads/#support_tiers) via LLVM.
    • JuliaHub
    • Julia Observer
    • Julia Manual
    • JuliaLang Essentials
    • Julia Style Guide
    • Julia By Example
    • JuliaLang Gitter
    • Julia Academy
    • Julia Meetup groups
    • Julia on Microsoft Azure
    • JuliaPro
    • Juno
    • Profile (Stdlib)
    • JuliaGPU - level syntax and flexible compiler, Julia is well positioned to productively program hardware accelerators like GPUs without sacrificing performance.
    • CUDA.jl - friendly array abstraction, a compiler for writing CUDA kernels in Julia, and wrappers for various CUDA libraries.
    • Julia for VSCode
    • JuMP.jl - specific modeling language for [mathematical optimization](https://en.wikipedia.org/wiki/Mathematical_optimization) embedded in Julia.
    • Knet
    • DataFrames.jl
    • Flux.jl - Julia stack, and provides lightweight abstractions on top of Julia's native GPU and AD support.
    • NVIDIA Container Toolkit - container) and utilities to automatically configure containers to leverage NVIDIA GPUs.
    • CUTLASS - performance matrix-multiplication (GEMM) at all levels and scales within CUDA. It incorporates strategies for hierarchical decomposition and data movement similar to those used to implement cuBLAS.
    • CUB
    • Tensorman
    • Numba - aware optimizing compiler for Python sponsored by Anaconda, Inc. It uses the LLVM compiler project to generate machine code from Python syntax. Numba can compile a large subset of numerically-focused Python, including many NumPy functions. Additionally, Numba has support for automatic parallelization of loops, generation of GPU-accelerated code, and creation of ufuncs and C callbacks.
    • cuML - learn.
    • Arraymancer - dimensional array) project in Nim. The main focus is providing a fast and ergonomic CPU, Cuda and OpenCL ndarray library on which to build a scientific computing ecosystem.
    • Kintinuous - time dense visual SLAM system capable of producing high quality globally consistent point and mesh reconstructions over hundreds of metres in real-time with only a low-cost commodity RGB-D sensor.
    • DataFrames Tutorial using Jupyter Notebooks
    • Debugger.jl
    • Revise.jl - compile.
    • IJulia.jl
    • AWS.jl
    • Nanosoldier.jl
    • Optim.jl
    • RCall.jl
    • JavaCall.jl
    • PyCall.jl
    • MXNet.jl - of-art deep learning to Julia.
    • Distributions.jl
    • IRTools.jl
    • Cassette.jl - in-time (JIT) compilation cycle, enabling post hoc analysis and modification of "Cassette-unaware" Julia programs without requiring manual source annotation or refactoring of the target code.
    • Thrust - level interface greatly enhances programmer productivity while enabling performance portability between GPUs and multicore CPUs.