added scr_lvled, a bunch of libraries, and improved framework code
[raydungeon] / libs / goat3d / README.md
1 goat3d
2 ======
3
4 About
5 -----
6 Goat3D is a hierarchical 3D scene, character, and animation file format, and
7 acompanying read/write library, targeting mostly real-time applications.
8
9 The specification defines a hierarchical structure (see `doc/goatfmt`, and
10 `doc/goatanimfmt` for details), which can be stored in either text or binary
11 form. An application using the provided library to read/write goat3d files,
12 should be able to handle either variant, with no extra effort (NOTE: currently
13 the binary format is not implemented). The animations can be part of the scene
14 file, or in separate files.
15
16 This project provides the specification of the file format, a simple library
17 with a clean C API for reading and writing files in the goat3d scene and
18 animation files, as well as a number of tools dealing with such files.
19
20 Specifically, at the moment, the goat3d project provides the following:
21  - *libgoat3d*, a library for reading and writing goat3d scene and animation files.
22  - *ass2goat*, a universal 3D asset conversion utility based on the excellent
23    assimp library, from a huge number of 3D file formats to the goat3d file
24    format.
25  - *goatinfo*, a command-line tool for inspecting the contents of goat3d files.
26  - *goatview*, a 3D scene and animation preview tool, based on OpenGL and Qt.
27  - *goatprim*, a procedural 3D model (primitive) generator for quick testing.
28
29 License
30 -------
31 Copyright (C) 2014-2023 John Tsiombikas <nuclear@member.fsf.org>
32
33 Goat3D is free software, you may use, modify and/or redistribute it under the
34 terms of the GNU Lesser General Public License v3, or at your option any later
35 version published by the Free Software Foundation. See COPYING and
36 COPYING.LESSER for details.
37
38 Build
39 -----
40 To build and install libgoat3d on UNIX, run the usual:
41
42     ./configure
43     make
44     make install
45
46 See `./configure --help` for a complete list of build-time options.
47
48 To cross-compile for windows with mingw-w64, try the following incantation:
49
50     ./configure --prefix=/usr/i686-w64-mingw32
51     make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar sys=mingw
52     make install sys=mingw
53
54 The rest of the tools can be built and installed in the exact same way from
55 their respective subdirectories.