Skip to content
This repository has been archived by the owner on May 31, 2020. It is now read-only.

nilium/go-md3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-md3

MD3 (a la Quake 3) model loader for Go. This covers MD3 support as is used in Quake 3. It includes the md3 package for reading MD3 data and the go-md3 commandline tool for briefly inspecting MD3 files and converting them to OBJ files.

go-md3 tool

The go-md3 tool has three modes and a few options that affect only specific modes. The modes can be specified via -mode=[name] (or -mode name). The default mode is spec.

  • spec

    Has no additional options. Displays a summary of the contents of any provided MD3 files, including surfaces, skins, frame counts, tag names, and so on.

  • convert

    Converts provided MD3 files to OBJ files. Each frame is written as a separate OBJ file, named as such: <basename>+<frameNumber>.obj. Takes a few options:

    • -flipUVs=[true|false] — if true, the V texture coordinates will be flipped by writing them out as (1.0 - V). This is helpful if you work in a system that doesn't play nice with OpenGL's texture coordinate space. Defaults to true.

    • -swapYZ=[true|false] — if true, the Y and Z axes are swapped for vertices and normals. Defaults to true.

    • -o=path/to/output — sets the output directory for OBJ files. Defaults to the current directory (.).

  • view

    Currently unimplemented and will result in a panic. Intended for viewing MD3 files with a given set of textures -- won't include a proper emulation of the Quake 3 shader system and such.

License

go-md3 is licensed under the simplified two-clause BSD license, found in the accompanying LICENSE file.

About

MD3 (a la Quake 3) model loader / converter for Go. (Migrated to https://git.sr.ht/~nilium/go-md3)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages