goat3d
diff src/chunk.h @ 14:188c697b3b49
- added a document describing the goat3d file format chunk hierarchy
- started an alternative XML-based file format
- added the openctm library
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Thu, 26 Sep 2013 04:47:05 +0300 |
parents | 798df5111b56 |
children | da3f335e0069 |
line diff
1.1 --- a/src/chunk.h Tue Sep 10 15:29:45 2013 +0300 1.2 +++ b/src/chunk.h Thu Sep 26 04:47:05 2013 +0300 1.3 @@ -18,33 +18,28 @@ 1.4 // --- first level chunks --- 1.5 // children of CNK_SCENE 1.6 CNK_ENV, // environmental parameters 1.7 - CNK_MTL_LIST, // material library 1.8 - CNK_MESH_LIST, // all the meshes hang under this chunk 1.9 - CNK_LIGHT_LIST, // likewise for lights 1.10 - CNK_CAMERA_LIST, // likewise for cameras 1.11 - CNK_NODE_LIST, // likewise for nodes 1.12 + CNK_MTL, // material 1.13 + CNK_MESH, 1.14 + CNK_LIGHT, 1.15 + CNK_CAMERA, 1.16 + CNK_NODE, 1.17 1.18 // --- second level chunks --- 1.19 // children of CNK_ENV 1.20 CNK_ENV_AMBIENT, // ambient color, contains a single CNK_FLOAT3 1.21 CNK_ENV_FOG, 1.22 1.23 - // children of CNK_*_LIST 1.24 - CNK_MTL, 1.25 - CNK_MESH, 1.26 - CNK_LIGHT, 1.27 - CNK_CAMERA, 1.28 - CNK_NODE, 1.29 - 1.30 // --- third level chunks --- 1.31 // children of CNK_FOG 1.32 CNK_FOG_COLOR, // fog color, contains a single CNK_FLOAT3 1.33 - CNK_FOG_EXP, // fog exponent, contains a single CNK_REAL 1.34 + CNK_FOG_EXP, // fog exponent, contains a single CNK_FLOAT 1.35 1.36 // children of CNK_MTL 1.37 + CNK_MTL_NAME, // has a single CNK_STRING 1.38 CNK_MTL_ATTR, // material attribute, has a CNK_STRING for its name, 1.39 // a CNK_MTL_ATTR_VAL, and optionally a CNK_MTL_ATTR_MAP 1.40 // children of CNK_MTL_ATTR 1.41 + CNK_MTL_ATTR_NAME, // has a single CNK_STRING 1.42 CNK_MTL_ATTR_VAL, // can have a single CNK_FLOAT, CNK_FLOAT3, or CNK_FLOAT4 1.43 CNK_MTL_ATTR_MAP, // has a single CNK_STRING 1.44 1.45 @@ -60,6 +55,7 @@ 1.46 CNK_MESH_COLOR_LIST, // has a series of CNK_FLOAT4 chunks 1.47 CNK_MESH_BONES_LIST, // has a series of CNK_INT or CNK_STRING chunks identifying the bone nodes 1.48 CNK_MESH_FACE_LIST, // has a series of CNK_FACE chunks 1.49 + CNK_MESH_FILE, // optionally mesh data may be in another file, has a CNK_STRING filename 1.50 1.51 // child of CNK_MESH_FACE_LIST 1.52 CNK_MESH_FACE, // has three CNK_INT chunks 1.53 @@ -90,14 +86,14 @@ 1.54 CNK_NODE_LIGHT, // same as CNK_NODE_MESH 1.55 CNK_NODE_CAMERA, // same as CNK_NODE_MESH 1.56 1.57 - CNK_NODE_POS, // has a CNK_VEC3, position vector 1.58 - CNK_NODE_ROT, // has a CNK_VEC4, rotation quaternion (x, y, z imaginary, w real) 1.59 - CNK_NODE_SCALE, // has a CNK_VEC3, scaling 1.60 - CNK_NODE_PIVOT, // has a CNK_VEC3, pivot point 1.61 + CNK_NODE_POS, // has a CNK_FLOAT3, position vector 1.62 + CNK_NODE_ROT, // has a CNK_FLOAT4, rotation quaternion (x, y, z imaginary, w real) 1.63 + CNK_NODE_SCALE, // has a CNK_FLOAT3, scaling 1.64 + CNK_NODE_PIVOT, // has a CNK_FLOAT3, pivot point 1.65 1.66 - CNK_NODE_MATRIX0, // has a CNK_VEC4, first matrix row (4x3) 1.67 - CNK_NODE_MATRXI1, // has a CNK_VEC4, second matrix row (4x3) 1.68 - CNK_NODE_MATRIX2, // has a CNK_VEC4, third matrix row (4x3) 1.69 + CNK_NODE_MATRIX0, // has a CNK_FLOAT4, first matrix row (4x3) 1.70 + CNK_NODE_MATRXI1, // has a CNK_FLOAT4, second matrix row (4x3) 1.71 + CNK_NODE_MATRIX2, // has a CNK_FLOAT4, third matrix row (4x3) 1.72 1.73 MAX_NUM_CHUNKS 1.74 };