goat3d

annotate doc/goatfmt @ 22:44a20d72f3a6

merged
author John Tsiombikas <nuclear@member.fsf.org>
date Fri, 27 Sep 2013 07:14:49 +0300
parents 188c697b3b49
children 4f8383183d62
rev   line source
nuclear@14 1 Chunk structure
nuclear@14 2 ---------------
nuclear@14 3
nuclear@14 4 Leaf nodes which carry actual data are marked with <SINGLE_CHILD>, or
nuclear@14 5 [MULTIPLE_CHILDREN]. Where choice is involved, options are seperated with the |
nuclear@14 6 symbol.
nuclear@14 7
nuclear@14 8 SCENE
nuclear@14 9 +--ENV
nuclear@14 10 | +--AMBIENT
nuclear@14 11 | | +--<FLOAT3>
nuclear@14 12 | +--FOG
nuclear@14 13 | +--FOG_COLOR
nuclear@14 14 | | +--<FLOAT3>
nuclear@14 15 | +--FOG_EXP
nuclear@14 16 | +--<FLOAT>
nuclear@14 17 +--MTL
nuclear@14 18 | +--MTL_NAME
nuclear@14 19 | | +--<STRING>
nuclear@14 20 | +--MTL_ATTR
nuclear@14 21 | +--MTL_ATTR_NAME
nuclear@14 22 | | +--<STRING>
nuclear@14 23 | +--MTL_ATTR_VAL
nuclear@14 24 | | +--<FLOAT|FLOAT3|FLOAT4>
nuclear@14 25 | +--MTL_ATTR_MAP
nuclear@14 26 | +--<STRING> (filename)
nuclear@14 27 +--MESH
nuclear@14 28 | +--MESH_NAME
nuclear@14 29 | | +--<STRING>
nuclear@14 30 | +--MESH_MATERIAL
nuclear@15 31 | | +--<STRING|INT> (material name or index)
nuclear@14 32 | +--MESH_VERTEX_LIST
nuclear@14 33 | | +--[FLOAT3]
nuclear@14 34 | +--MESH_NORMAL_LIST
nuclear@14 35 | | +--[FLOAT3]
nuclear@14 36 | +--MESH_TANGENT_LIST
nuclear@14 37 | | +--[FLOAT3]
nuclear@14 38 | +--MESH_TEXCOORD_LIST
nuclear@14 39 | | +--[FLOAT3]
nuclear@14 40 | +--MESH_SKINWEIGHT_LIST
nuclear@14 41 | | +--[FLOAT4] (vector elements are the 4 skin weights/vertex)
nuclear@14 42 | +--MESH_SKINMATRIX_LIST
nuclear@14 43 | | +--[INT4] (vector elements are the 4 matrix indices/vertex)
nuclear@14 44 | +--MESH_COLOR_LIST
nuclear@14 45 | | +--[FLOAT4]
nuclear@14 46 | +--MESH_BONES_LIST
nuclear@14 47 | | +--[INT|STRING] (list of bone nodes by name or index)
nuclear@14 48 | +--MESH_FACE_LIST
nuclear@14 49 | | +--MESH_FACE
nuclear@14 50 | | +--[INT] (three INT chunks for the vertex indices)
nuclear@14 51 | +--MESH_FILE
nuclear@14 52 | +--<STRING> (filename of mesh file to get all the data from)
nuclear@14 53 +--LIGHT
nuclear@14 54 | +--LIGHT_NAME
nuclear@14 55 | | +--<STRING>
nuclear@14 56 | +--LIGHT_POS
nuclear@14 57 | | +--<FLOAT3>
nuclear@14 58 | +--LIGHT_COLOR
nuclear@14 59 | | +--<FLOAT3>
nuclear@14 60 | +--LIGHT_ATTEN
nuclear@14 61 | | +--<FLOAT3> (constant, linear, and quadratic attenuation)
nuclear@14 62 | +--LIGHT_DISTANCE
nuclear@14 63 | | +--<FLOAT>
nuclear@14 64 | +--LIGHT_DIR
nuclear@14 65 | | +--<FLOAT3>
nuclear@14 66 | +--LIGHT_CONE_INNER
nuclear@14 67 | | +--<FLOAT>
nuclear@14 68 | +--LIGHT_CONE_OUTER
nuclear@14 69 | +--<FLOAT>
nuclear@14 70 +--CAMERA
nuclear@14 71 | +--CAMERA_NAME
nuclear@14 72 | | +--<STRING>
nuclear@14 73 | +--CAMERA_POS
nuclear@14 74 | | +--<FLOAT3>
nuclear@14 75 | +--CAMERA_TARGET
nuclear@14 76 | | +--<FLOAT3>
nuclear@14 77 | +--CAMERA_FOV
nuclear@14 78 | | +--<FLOAT>
nuclear@14 79 | +--CAMERA_NEARCLIP
nuclear@14 80 | | +--<FLOAT>
nuclear@14 81 | +--CAMERA_FARCLIP
nuclear@14 82 | +--<FLOAT>
nuclear@14 83 +--NODE
nuclear@14 84 +--NODE_NAME
nuclear@14 85 | +--<STRING>
nuclear@14 86 +--NODE_PARENT
nuclear@14 87 | +--<INT|STRING>
nuclear@14 88 +--NODE_MESH|NODE_LIGHT|NODE_CAMERA
nuclear@14 89 | +--<INT|STRING>
nuclear@14 90 +--NODE_POS
nuclear@14 91 | +--<FLOAT3>
nuclear@14 92 +--NODE_ROT
nuclear@14 93 | +--<FLOAT4> ([x, y, z], w <- real part)
nuclear@14 94 +--NODE_SCALE
nuclear@14 95 | +--<FLOAT3>
nuclear@14 96 +--NODE_PIVOT
nuclear@14 97 | +--<FLOAT3>
nuclear@14 98 +--NODE_MATRIX0
nuclear@14 99 | +--<FLOAT4> (first row)
nuclear@14 100 +--NODE_MATRIX1
nuclear@14 101 | +--<FLOAT4> (second row)
nuclear@14 102 +--NODE_MATRIX2
nuclear@14 103 +--<FLOAT4> (third row)
nuclear@14 104
nuclear@14 105 NOTES:
nuclear@14 106 * Name chunks are mandatory. If something doesn't have a name, one must be made
nuclear@14 107 up, even if it's just "object%d".
nuclear@14 108 * In node chunks, both POS/ROT/SCALE, and MATRIX0/MATRIX1/MATRIX2 are mandatory
nuclear@14 109 and they must agree. Makes it easy for the reader to pick the transformation
nuclear@14 110 data in whichever way is more convenient.