panda3d-gltf

glTF utilities for Panda3D

BSD-3-CLAUSE License

Downloads
109.8K
Stars
82
Committers
5
panda3d-gltf - v1.2.0 Latest Release

Published by Moguri 7 months ago

  • converter: Re-sample animations on import instead of assuming one data value per frame (note: CUBICSPLINE is not supported yet)
  • converter: Allow non-standard absolute paths in image URIs
panda3d-gltf - v1.1.0

Published by Moguri 11 months ago

  • converter: Fix urllib.parse import
  • converter: Save space when storing animation data when all frames for a channel have the same value
panda3d-gltf - v1.0.1

Published by Moguri about 1 year ago

Converter

  • Fix skinned meshes with a transformed root node
panda3d-gltf - v1.0.0

Published by Moguri over 1 year ago

Converter

  • Fix error when a collision shape's bounding box contains a zero dimension
  • Fix loading textures with spaces in the file path

CLI

  • Fix paths when copying textures
  • Make dst option (use src with .bam extension as the default)
  • Remove deprecated --physics-engine flag

Other

  • Re-add Python 3.8 support
  • gltf.converter and gltf.loader are now explicitly marked private
panda3d-gltf - v0.15.0

Published by Moguri over 1 year ago

Converter

  • Do a better job combining associated GeomNodes under Characters
  • Fix loading textures from cache (fixes #118)

CLI

  • Fix paths on Windows
panda3d-gltf - v0.14

Published by Moguri over 1 year ago

Converter

  • Stop using load_prc_file_data() (fixes #109)
  • Make GltfSettings a mutable dataclass
  • Remove gltf.patch_loader()
  • Support KHR_materials_ior, set default refractive index to 1.5
  • Make inverseBindMatrices optional on skins (fixes #111)
  • Remove convert() function
  • Rename GltfSettings.animations to GltfSettings.skip_animations (defaults to False)
  • Remove writing_bam/copy_lights hack (we no longer support the older Panda3D versions that required these)
  • Stop using model-path to find/load textures (fixes #115)
  • Stop writing embedded textures to disk (this was in addition to being embedded in the BAM file)
  • Remove outdir and replace indir with filepath/filedir
  • Add flatten_nodes option that attempts to flatten the output node hierarchy (fixes #101)
  • Handle case where glTF extras is not an object/dict (fixes #112)
  • Put morph targets on separate GeomVertexArray (fixes #117)

Loader

  • Stop using an intermediate BAM file (fixes #116)
  • Load settings from ConfigVars and remove GltfLoader.global_settings

CLI

  • Show defaults in help/usage text
  • Add --collision-shapes option to replace --physics-engine, which is now deprecated (fixes #100)
  • Convert src and dst to absolute paths

Other

  • Move load_model() from converter to loader (still available as gltf.load_model())
panda3d-gltf - v0.13

Published by Moguri over 3 years ago

Converter

  • Reparent GeomNodes to physics nodes
  • Generate quad CollisionPolygons where possible
  • Use correct array type for AnimChannelScalarTable.set_table()
  • Allow for byteOffset to be optional in accessor and bufferView
  • Set correct contents on transform_weight/_index columns
  • Fix import of padded vertex columns
  • Support application/gltf-buffer for uri
  • Force normalization of joint weights
  • Fix morph targets when mesh does not specify default weights
  • Fix morph targets when neither weights nor targetNames is given
  • Use new Panda3D 1.10.8 M_emission mode
  • Make sure texture modes are set for all textures
panda3d-gltf - v0.12

Published by Moguri almost 4 years ago

Converter

  • Fix objects without emission texture being invisible with alpha on
  • Fix punctual light direction in Y-up scenes (#81)
  • Support KHR_texture_transform
  • Generate flat normals when no normals are present
  • Support spotlight falloff
  • Fix emission not working without emissiveTexture in simplepbr

Viewer

  • Don't create a PointLight if the model already has a light
  • When parenting lights to render, maintain absolute transform
panda3d-gltf - v0.11

Published by Moguri about 4 years ago

Converter

  • Add option to save animations to separate files
    • This is can be accessed via the CLI using --animations separate
panda3d-gltf - v0.10

Published by Moguri about 4 years ago

Converter

  • Disable back-face culling on double-sided materials
    • Note: Blender materials are double-sided by default, so this may break some currently working setups
  • Fix black objects when using fix-function pipeline or auto-shader along with PBR materials
  • Allow empty scenes without Geoms
  • Fix component sizes in mesh data buffers
panda3d-gltf - v0.9

Published by Moguri about 4 years ago

Converter

  • Add texture and material attribs to fallback RenderState
  • Add option to convert PBR glTF materials to "legacy" materials
    • This is best effort and data will be lost
    • Exposed in GltfSettings as legacy_materials (defaults to False)
    • Exposed in gltf2bam as --legacy-materials flag
panda3d-gltf - v0.8

Published by Moguri about 4 years ago

Converter

  • Add support for joint/bone parents
  • Add support for PANDA3D_physics_collision_shapes extension (includes new intangible setting)
  • Fix errors when using double-precision builds of Panda3D
  • Fix ZeroDivisionError when loading single-frame animations
  • Fix loading meshes with no indices
  • Fix loading model tangents on Z-up files
  • Fix generating tangents on Z-up files
  • Fix the sign on generated bi-tangents
panda3d-gltf - v0.7

Published by Moguri over 4 years ago

Converter

  • Fix error when no top-level extensions object is present
  • Fix crash when using Panda3D compiled with double-precision floats
  • Add support for emission maps
  • Fix direction and lens view vector for directional lights
  • Do not assign empty TransformBlendTable if a Geom does not have a transform_blend column

Viewer

  • Improved default camera position and view
  • Add work-around to make lights from the model work
  • Upgrade to panda3d-simplepbr>=0.6 for emission and occlusion map support
  • Shortcuts added to toggle various render features:
    • n: toggle normal maps
    • e: toggle emission maps
    • o: toggle occlusion maps
    • a: toggle ambient light

Other

  • Add --version flag to CLI
  • Use GltfLoader.global_settings if gltf_settings is None for patch_loader()
panda3d-gltf - v0.6

Published by Moguri over 4 years ago

Viewer

  • Toggle wireframe view with w
  • Toggle textures with t
  • Dump scene graph to standard out with shift-l
  • Dump analysis of the scene graph to standard out with shift-a

Converter

  • Fix an issue where morph targets would no longer be bound after saving and loading to model cache
panda3d-gltf - v0.5

Published by Moguri almost 5 years ago

Converter

  • Add --no-srgb option to skip making sRGB textures (not spec-complaint, but may be useful for some workflows)
  • Add options to copy textures
  • Add support for morph targets and animations
  • Add support for multiple meshes using the same skin
  • Add support for skeletons with multiple root bones
  • Fix some transformation issues with characters
  • Fix color of fallback normal map
  • Fix texture stage order (make it deterministic)
  • Fix fallback textures not getting saved to BAM files

Many thanks to @el-dee and @rdb who did most of the work for this release!

panda3d-gltf - v0.4

Published by Moguri almost 5 years ago

Converter

  • Faster loading of bin files
  • Support loading supplied tangents
  • Calculate tangents if they are missing
    • NOTE: this is still WIP and not spec-compliant
  • Support loading normal maps
  • More axis-conversion fixes

Viewer

  • The default camera will now look at the loaded model
panda3d-gltf - v0.3

Published by Moguri about 5 years ago

Viewer

  • Move rendering and shaders to a new, separate panda3d-simplepbr
  • Updates from panda3d-simplepbr:
    • Better support for OpenGL 2.1 hardware
    • Multi-sample Anti-aliasing
panda3d-gltf - v0.2

Published by Moguri about 5 years ago

Conversion

  • Initial support for KHR_lights_punctual extension
  • Fix bad file paths for Python 3.5
  • Fix bad file paths for Windows

Viewer

  • Do not load models from the model cache
  • Support OpenGL 2.1 hardware

Other

  • Register glb as a file extension for the Python loader
panda3d-gltf - v0.1.1

Published by Moguri about 5 years ago

Fix packaging shader files for gltf-viewer

panda3d-gltf - v0.1

Published by Moguri about 5 years ago

Initial release