melo is mesh loader for OBJ, glTF2 and PLY, also includes a Cinder
based mesh viewer on Windows and macOS.
- Support Windows and macOS
- Can be used outside of Cinder
- Loading OBJ meshes through syoyo/tinyobjloader
- Loading glTF2 meshes through syoyo/tinygltf
- PBR rendering w/ modified shaders from KhronosGroup/glTF-WebGL-PBR
- Implement skinning animation
- Implement morph animation
- Support Linux / Android / iOS
- Support Sketchfab download API
- FrameGraph
The folder structure should appear like this:
Cinder/
blocks/
Cinder-VNM/
melo/
samples/MeshViewer/vc2015/MeshViewer.sln
assets/
Cube/
Cube.gltf
cerberus/
Cerberus.obj
Awesome-gltf-files/
scene.gltf
scene.bin
Symbolic-links-are-also-supported
include/
-
HAS_NORMALS
-
HAS_TANGENTS
-
HAS_VERTEX_COLOR_VEC4
-
HAS_UV_SET1
-
HAS_UV_SET2
-
USE_MORPHING
-
USE_SKINNING
-
HAS_TARGET_POSITION0
-
HAS_TARGET_POSITION1
-
HAS_TARGET_POSITION2
-
HAS_TARGET_POSITION3
-
HAS_TARGET_POSITION4
-
HAS_TARGET_POSITION5
-
HAS_TARGET_POSITION6
-
HAS_TARGET_POSITION7
-
HAS_TARGET_NORMAL0
-
HAS_TARGET_NORMAL1
-
HAS_TARGET_NORMAL2
-
HAS_TARGET_NORMAL3
-
HAS_TARGET_NORMAL4
-
HAS_TARGET_TANGENT0
-
HAS_TARGET_TANGENT1
-
HAS_TARGET_TANGENT2
-
HAS_TARGET_TANGENT3
-
HAS_TARGET_TANGENT4
-
HAS_JOINT_SET1
-
HAS_JOINT_SET2
-
HAS_JOINT_SET3
-
HAS_JOINT_SET4
-
HAS_WEIGHT_SET1
-
HAS_WEIGHT_SET2
- MATERIAL_SPECULARGLOSSINESS
- MATERIAL_METALLICROUGHNESS
- MATERIAL_UNLIT
- MATERIAL_ANISOTROPY
- MATERIAL_SUBSURFACE
- MATERIAL_THIN_FILM
- MATERIAL_THICKNESS
- MATERIAL_ABSORPTION
- MATERIAL_IOR
- MATERIAL_TRANSMISSION
- HAS_BASE_COLOR_MAP
- HAS_NORMAL_MAP
- HAS_METALLIC_ROUGHNESS_MAP
- HAS_OCCLUSION_MAP
- HAS_EMISSIVE_MAP
- HAS_SUBSURFACE_COLOR_MAP
- HAS_SUBSURFACE_THICKNESS_MAP
- HAS_ANISOTROPY_MAP
- HAS_ANISOTROPY_DIRECTION_MAP
- HAS_SPECULAR_GLOSSINESS_MAP
- HAS_METALLICROUGHNESS_SPECULAROVERRIDE_MAP
- HAS_SHEEN_COLOR_INTENSITY_MAP
- HAS_THIN_FILM_MAP
- HAS_THIN_FILM_THICKNESS_MAP
- HAS_THICKNESS_MAP
- HAS_CLEARCOAT_TEXTURE_MAP
- HAS_CLEARCOAT_ROUGHNESS_MAP
- HAS_CLEARCOAT_NORMAL_MAP
- ALPHAMODE_OPAQUE
- ALPHAMODE_MASK
- USE_IBL
- USE_PUNCTUAL
- DEBUG_BASECOLOR
- DEBUG_ALPHA
- DEBUG_NORMAL
- DEBUG_TANGENT
- DEBUG_METALLIC
- DEBUG_ROUGHNESS
- DEBUG_BITANGENT
- DEBUG_OCCLUSION
- DEBUG_F0
- DEBUG_FEMISSIVE
- DEBUG_FSPECULAR
- DEBUG_FDIFFUSE
- DEBUG_FSHEEN
- DEBUG_FCLEARCOAT
- DEBUG_FSUBSURFACE
- DEBUG_THICKNESS
- DEBUG_FTRANSMISSION