assimp - Official Open Asset Import Library Repository

  •        38

A library to import and export various 3d-model-formats including scene-post-processing to generate missing render data. APIs are provided for C and C++. There are various bindings to other languages (C#, Java, Python, Delphi, D). Assimp also runs on Android and iOS.



Related Projects

AssimpKit - A library (macOS, iOS) that converts the files supported by Assimp to Scene Kit scenes.

  •    Objective-C

AssimpKit is a cross platform library (macOS, iOS) that coverts the files supported by Assimp to Scene Kit scenes. AssimpKit currently supports 29 file formats that allows you to use these files directly in SceneKit without having to convert these to any of the files that SceneKit or Model IO supports thereby saving an extra step in your asset pipeline.



AssimpXna is a custom model importer for Xna 4.0 using the Open Asset Import Library (Assimp).

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

open3mod - Open 3D Model Viewer - A quick and powerful 3D model viewer

  •    CSharp

A general-purpose 3D model viewer. Based on Open Asset Import Library, it supports reading about fourty 3D file formats, including FBX, DXF, Collada, Obj, X, PLY, 3DS, LWO, LWS, STL and IFC (full list). 3-clause BSD license. Read LICENSE for the details, but it boils down to "use as you like but reproduce the copyright notice".

LimonEngine - 3D FPS game engine with full dynamic lighting and shadows

  •    C++

LimonEngine is a 3D first person shooter engine, developed as a hobby, to acquire a deeper knowledge of 3D game engine programming. It can load a wide variety of models and skeletal animations thanks to Assimp, has realtime directional and point lights/shadows and physics.

cmake-init - Template for reliable, cross-platform C++ project setup using cmake.

  •    C++

cmake-init is a sophisticated copy & paste template for modern C and C++ projects. The main goals include support of all use cases around software development (programming, testing, Q&A, deployment, documentation) while being modular, flexible, and idomatic. cmake-init is therefore a collection of cmake best-practices. The file contains a task checklist for new projects. More generally, a new project should contain all core modules and, as needed, add the maintainer and development modules as required. cmake-init does not impose modularity rules for the cmake targets.

EASTL - EASTL stands for Electronic Arts Standard Template Library

  •    C++

EASTL stands for Electronic Arts Standard Template Library. It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is a fairly extensive and robust implementation of such a library and has an emphasis on high performance above all other considerations. If you are familiar with the C++ STL or have worked with other templated container/algorithm libraries, you probably don't need to read this. If you have no familiarity with C++ templates at all, then you probably will need more than this document to get you up to speed. In this case, you need to understand that templates, when used properly, are powerful vehicles for the ease of creation of optimized C++ code. A description of C++ templates is outside the scope of this documentation, but there is plenty of such documentation on the Internet.

sinatra-asset-pipeline - An asset pipeline for Sinatra based on Sprockets.

  •    Ruby

An asset pipeline implementation for Sinatra based on Sprockets. sinatra-asset-pipeline supports both compiling assets on the fly for development as well as precompiling assets for production. The design goal for sinatra-asset-pipeline is to provide good defaults for integrating your Sinatra application with Sprockets. This makes your application serve assets inside assets folder under the public /assets path. You can use the helpers provided by sprocket-helpers inside your assets to ease locating your assets.

hunter - :package: CMake driven cross-platform package manager for C/C++

  •    CMake

CMake driven cross-platform package manager for C/C++. Linux, Windows, macOS, iOS, Android, Raspberry Pi, etc.

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.

jekyll-assets - :art: Asset pipelines for Jekyll.

  •    Ruby

Jekyll Assets is a drop in asset pipeline that uses Sprockets to build specifically for Jekyll. It utilizes Sprockets, and Jekyll to try and achieve a clean, and extensible assets platform that supports plugins, caching, converting your assets. It even supports proxying of said assets in a way that does not interfere with either Sprockets, or Jekyll, or your own source. By default you can add Jekyll Assets to your Gemfile, as a plugin, and have it act as a drop-in replacement for Jekyll's basic SASS processors, with you only having to add it to your Gemfile, and updating your <img>, and <link>. The configuration file is the same as Jekyll's, which is _config.yml. Except we use the special key called assets inside of that file. All values listed below are default, you need not copy these into your configuration file unless you plan to change a value. Setting a value makes it explicit, and shared across both production, and development.

doctest - The fastest feature-rich C++11 single-header testing framework for unit tests and TDD

  •    C++

doctest is a new C++ testing framework but is by far the fastest both in compile times (by orders of magnitude) and runtime compared to other feature-rich alternatives. It brings the ability of compiled languages such as D / Rust / Nim to have tests written directly in the production code by providing a fast, transparent and flexible test runner with a clean interface. The framework is and will stay free but needs your support to sustain its development. There are lots of new features and maintenance to do. If you work for a company using doctest or have the means to do so, please consider financial support. Monthly donations via Patreon and one-offs via PayPal.

fbx-conv - Command line utility using the FBX SDK to convert FBX/Collada/Obj files to a custom text/binary format for static, keyframed and skinned meshes

  •    C

Command line utility using the FBX SDK to convert FBX/Collada/Obj files to more runtime friendly formats. The FBX content is parsed into an in-memory datastructure. Pluggable writers then take this datastructure to generate the output. Send us a pull request if you want the writer for your engine/framework/app to be integrated. We'll build the converter for Windows, Linux and Mac.The FBX parser is largely based on GamePlay SDK's encoder. We'll try to back-port any bug fixes or improvements.

FunctionalPlus - Functional Programming Library for C++. Write concise and readable C++ code.

  •    C++

helps you write concise and readable C++ code. Great code should mostly be self-documenting, but while using C++ in reality you can find yourself dealing with low-level stuff like iterators or hand-written loops that distract from the actual essence of your code.

CPP-Reflection - C++ Reflection Parser / Runtime Skeleton

  •    C++

I am in the process of refactoring this codebase to be more of a professional solution to C++ reflection, with an emphasis on "bring your own pipeline". I am excited to start working with the community, so please don't hesitate to contribute to this project if it's something you're interested in.

openspades - Compatible client of Ace of Spades 0.75

  •    C++

OpenSpades is a compatible client of Ace of Spades 0.75. Once installed, you'll be able to launch OpenSpades from inside the desktop menu or from your terminal with the openspades command.

serviceworker-rails - Use Service Worker with the Rails asset pipeline

  •    Ruby

The Rails asset pipeline makes a number of assumptions about what's best for deploying JavaScript, including asset digest fingerprints and long-lived cache headers - mostly to increase "cacheability". Rails also assumes a single parent directory, /public/assets, to make it easier to look up the file path for a given asset. Service workers may only be active from within the scope from which they are served. So if you try to register a service worker from a Rails asset pipeline path, like /assets/serviceworker-abcd1234.js, it will only be able to interact with requests and responses within /assets/**. This is not what we want.

suitesparse-metis-for-windows - CMake scripts for painless usage of SuiteSparse+METIS from Visual Studio and the rest of Windows/Linux/OSX IDEs supported by CMake

  •    C

CMake scripts for painless usage of Tim Davis' SuiteSparse (CHOLMOD,UMFPACK,AMD,LDL,SPQR,...) and METIS from Visual Studio and the rest of Windows/Linux/OSX IDEs supported by CMake. The project includes precompiled BLAS/LAPACK DLLs for easy use with Visual C++. Licensed under BSD 3-Clause License. The goal is using one single CMake code to build against SuiteSparse in standard Linux package systems (e.g. libsuitesparse-dev) and in manual compilations under Windows.

awesome-cpp - A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things


A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.C++ Standard Library - including STL Containers, STL Aglorithm, STL Functional, etc.

memory - STL compatible C++ memory allocator library using a new RawAllocator concept that is similar to an Allocator but easier to use and write

  •    C++

The C++ STL allocator model has various flaws. For example, they are fixed to a certain type, because they are almost necessarily required to be templates. So you can't easily share a single allocator for multiple types. In addition, you can only get a copy from the containers and not the original allocator object. At least with C++11 they are allowed to be stateful and so can be made object not instance based. But still, the model has many flaws. Over the course of the years many solutions have been proposed. for example EASTL. This library is another. But instead of trying to change the STL, it works with the current implementation. See example/ for more.