All Projects â†’ recp â†’ Assetkit

recp / Assetkit

Licence: apache-2.0
🎨 Modern 2D/3D - Importer • Exporter • Util - Library, also called (AssetIO)

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Assetkit

Lume
Create CSS3D/WebGL applications declaratively with HTML. Give regular DOM elements shadow and lighting.
Stars: ✭ 445 (+358.76%)
Mutual labels:  3d, 3d-graphics, 3d-models, 3d-engine
android-3d-model-viewer
Android app to load 3D models in obj, stl, dae & gltf format using pure OpenGL ES 2.0. Published on Play Store https://play.google.com/store/apps/details?id=org.andresoviedo.dddmodel2
Stars: ✭ 150 (+54.64%)
Mutual labels:  texture, gltf, 3d-engine
Pyntcloud
pyntcloud is a Python library for working with 3D point clouds.
Stars: ✭ 919 (+847.42%)
Mutual labels:  3d, 3d-graphics, 3d-models
React Babylonjs
React for Babylon 3D engine
Stars: ✭ 299 (+208.25%)
Mutual labels:  3d, 3d-models, 3d-engine
Meshlab
The open source mesh processing system
Stars: ✭ 2,619 (+2600%)
Mutual labels:  3d, mesh, 3d-models
Tf flame
Tensorflow framework for the FLAME 3D head model. The code demonstrates how to sample 3D heads from the model, fit the model to 2D or 3D keypoints, and how to generate textured head meshes from Images.
Stars: ✭ 193 (+98.97%)
Mutual labels:  3d, 3d-graphics, 3d-models
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (+186.6%)
Mutual labels:  3d, 3d-graphics, 3d-engine
3D-Engine-OpenGL-4
3D Graphics Engine For Games | C++ OpenGL 4.1
Stars: ✭ 19 (-80.41%)
Mutual labels:  3d, 3d-graphics, 3d-engine
Curated List Of Awesome 3d Morphable Model Software And Data
The idea of this list is to collect shared data and algorithms around 3D Morphable Models. You are invited to contribute to this list by adding a pull request. The original list arised from the Dagstuhl seminar on 3D Morphable Models https://www.dagstuhl.de/19102 in March 2019.
Stars: ✭ 375 (+286.6%)
Mutual labels:  3d, 3d-graphics, 3d-models
Openscad
OpenSCAD - The Programmers Solid 3D CAD Modeller
Stars: ✭ 4,444 (+4481.44%)
Mutual labels:  3d, 3d-graphics, 3d-models
Flame pytorch
This is a implementation of the 3D FLAME model in PyTorch
Stars: ✭ 153 (+57.73%)
Mutual labels:  3d, 3d-graphics, 3d-models
Vedo
A python module for scientific analysis of 3D objects based on VTK and numpy
Stars: ✭ 741 (+663.92%)
Mutual labels:  3d, 3d-graphics, mesh
Gltfforue4
Import glTF 2.0 in Unreal Engine
Stars: ✭ 145 (+49.48%)
Mutual labels:  mesh, texture, gltf
Model Viewer
Easily display interactive 3D models on the web and in AR!
Stars: ✭ 3,751 (+3767.01%)
Mutual labels:  3d, 3d-models, gltf
Limonengine
3D FPS game engine with full dynamic lighting and shadows
Stars: ✭ 331 (+241.24%)
Mutual labels:  3d, 3d-graphics, 3d-engine
Sdf
Simple SDF mesh generation in Python
Stars: ✭ 683 (+604.12%)
Mutual labels:  3d, mesh, 3d-models
Android 3d Model Viewer
Android OpenGL 2.0 application to view 3D models. Published on Play Store
Stars: ✭ 809 (+734.02%)
Mutual labels:  3d-models, texture, 3d-engine
Cesium
An open-source JavaScript library for world-class 3D globes and maps 🌎
Stars: ✭ 8,095 (+8245.36%)
Mutual labels:  3d, gltf
Xeogl
A WebGL-based 3D engine for technical visualization. Not actively maintained.
Stars: ✭ 920 (+848.45%)
Mutual labels:  3d, gltf
Building Server
A server to stream PostGIS 3D objects to the web
Stars: ✭ 11 (-88.66%)
Mutual labels:  3d, gltf


Build Status Build Status Codacy Badge Coverage Status glTF Badge

Patreon: Become a patron


Brand-new modern 3D asset importer, exporter library. This library will include common 3D utils funcs. It is written with C99 but C++ wrappers or other language bindings can be written in the future.

This library will try to full support COLLADA specs and glTF specs, plus well-known other 3D formats e.g .obj, .stl, .ply...

There is also an optional renderer library called libgk for render AssetKit contents. You can see how to load AssetKit to libgk in assetkit-gl repo.

Documentation (In Progress)

Almost all functions (inline versions) and parameters will be documented inside the corresponding headers.
Complete documentation: http://assetkit.readthedocs.io

Supported Formats

  • [ ] Asset Exchange (todo) http://github.com/AssetExchange/spec
  • [x] COLLADA 1.4 and COLLADA 1.4.1
  • [x] COLLADA 1.5
  • [x] glTF 2.0 (Embedded or Separated (.gltf), Binary (.glb), Extensions...)
  • [x] Wavefront Obj (.obj + .mtl)
  • [x] STL (ASCII, Binary)
  • [x] PLY (ASCII, Binary)
  • [ ] USD and friends (License?)
  • [ ] Alembic (License?)
  • [ ] Draco
  • [ ] X3D
  • [x] in progress for next...

Features

  • Single interface for glTF 2.0 (with extensions), COLLADA 1.4/1.4.1/1.5, Wavefront Obj and others...
  • Very very small and very fast library
  • Javascript-like API to get URL or ID obj = ak_getObjectById(doc, objectId)...
  • Options to Generate Mesh Normals (Default: enabled)
  • Option to Triangulate Polygons (Default: enabled)
  • Option to change Coordinate System (Default: enabled)
  • Option to calculate Bounding Boxes (Default: enabled)
  • Unique and Flexible Coordinate System
    • Support multiple coordinate system
    • Can convert any coordinate system to another with adding transform or with changing transform, vertex data...
  • Unique and Flexible Memory Management System
    • Hierarchical unique memory management
      • When a node is freed then all sub memories will be freed
    • COLLADA's sid and ID values are mapped to memory nodes itself to reduce memory size and make it easy to manage things.
    • Allow attach ID, sid or user data to a memory node
  • Object-based Asset support; resolve asset element for any element
  • Bugfix some DAE files
  • Will be optimized to be fastest, smallest and most flexible, extendible Asset loader.
  • Uses mmap to load files, you can disable this if needed
  • [ ] Documentation
  • [x] Cmake support
  • [ ] Tests

Build

CMake (All platforms)

$ mkdir build
$ cd build
$ cmake .. # [Optional] -DAK_SHARED=ON
$ make
$ sudo make install # [Optional]
Cmake options with Defaults:
option(AK_SHARED "Shared build" ON)
option(AK_STATIC "Static build" OFF)
option(AK_USE_TEST "Enable Tests" OFF) # for make check - make test

Use with your CMake project

  • Example:
cmake_minimum_required(VERSION 3.8.2)

project(<Your Project Name>)

add_executable(${PROJECT_NAME} src/main.c)
target_link_libraries(${LIBRARY_NAME} PRIVATE assetkit)

add_subdirectory(external/assetkit/)

# or you can use find_package() to configure assetkit

Unix (Autotools)

Step 1: First you should build dependencies, do this only once:

$ sh ./build-deps.sh

Step 2: Build, Test and Install AssetKit

$ sh autogen.sh
$ ./configure
$ make
$ make check
$ [sudo] make install

Step 3: Change install name if required, after make finished make automaticall runs sh ./post-build.sh script. It changes install names. You may want to edit build scripts and post-build.sh script if you want to build AssetKit with existing libraries. Default behavior is that AssetKit will look up sub libraries inside .libs folder, if you only need to change .libs name then change it in post-build.sh script file.

Windows (MSBuild)

Windows related build files, project files are located in win folder, make sure you are inside assetkit/win folder. Code Analysis are enabled to it may take awhile to build

git and python commands should be installed/accessible.

$ cd win
$ .\build.bat
$ msbuild assetkit.vcxproj /p:Configuration=Release

if msbuild won't work correctly then try to build with devenv:

$ devenv assetkit.sln /Build Release

Trademarks

glTF and COLLADA and their logos are trademarks of Khronos Group.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].