Videoscape GEO file formatWritten by Max Gilead, based on Blender manualThanks to Ton Roosendaal who wrote the paper docs Additions by Paul Bourke
Videoscape file format was originally used by an early Amiga animation package called "Videoscape 3D". It is now used by Blender for importing/exporting meshes in text format. All compatibility is tested with Blender. In fact, all info in this doc is taken from Blender manual. GEO files are ascii printable text only files, the first line of which contains a single word that determines the type of file format that follows. The coordinate system is left handed, traditionally with the y axis as the default up or sky vector. Where appropriate, polygon vertices are ordered in a clockwise direction. Blank lines may be added to make file more readable but no comments lines are allowable. Files may be in four major flavours:Each flavour is identified by magic number (first line in file). They are each listed in the following sections. 1. Mesh with coloured faces
3DG1 - magic number total_number_of_vertices - total number of vertices x1 y1 z1 x2 y2 z2 ... - vertex coordinates number_of_vertices_in_face vertex_index_1 vertex_index_2 vertex_index_3 ... vertex_index_n color Vertex index is counted starting from 0. Color is written in BGR format (reverse order to RGB). Eg. red color in BGR is 0x0000FF.
2. Mesh with coloured vertices
Warning! This file flavour doesn't seem to be recognized or saved by Blender and is here for completeness only. GOUR - magic number total_number_of_vertices - total number of vertices x1 y1 z1 color x2 y2 z2 color ... - vertex coordinates with color in BGR format number_of_vertices_in_face vertex_index_1 vertex_index_2 vertex_index_3 ... vertex_index_nExample file:
GOUR 4 1.000000 1.000000 0.000000 0x0000ff 1.000000 -1.000000 0.000000 0x00ff00 -1.000000 -1.000000 0.000000 0xff0000 -1.000000 1.000000 0.000000 0x00ffff 4 0 3 2 13. Lamp
3DG2 - magic number total_number_of_lamps - total number of lamps in file for each lamp: type - lamp type (0 - point lamp, 1 - spot lamp, 2 - sun) spotsize spotblend - size of spot beam in degrees and intensity (length) of beam R G B E - color (RGB) and (E)nergy of lamp x y z - lamp coordinates vecx vecy vecz - lamp direction vector
4. Gouraud curves or NURBS surfaces This kind of file can describe both curves and surfaces. 3DG3 - magic number type - object type (5 is surface, other is bezier curve) number_of_items - number of curves or surfaces ext1 ext2 - extrude numbers also indicated for surfaces. These are NOT floats, they're integers divided by 500. Matrix [4][4] - right-handed object matrix. Used to determine position, rotation and size for each item: type - type (0 - poly, 1 - bezier, 4 - nurbs. Add 8 to this if curve is 2D.) pntsu pntsv - numbers of vertices in u and v directions resolu resolv - resulotion of u and v direction orderu orderv - order in the u and v direction flagu flagv - the 'cyclic' flag in u and v direction. If equal to 1 it is cyclic. for bezier repeat this block pntsu times: x y z x y z x y z - three handle vertices h1 h2 - handle types (0 - free, 1 - auto, 2 - vector, 3 - aligned) for other curve type or for surface repeat this block pntsu*pntsv times: x y z w - coordinates and weight of vertices for other curve types add this block: u1 u2 u3... - knots in u direction for surfaces add this block: v1 v2 v3... - knots in v direction The number of knots is a very precise value. If the value is not correct, file will not be properly loaded. This is the calculation for the total number of knots = order + pnts + (order-1)*(flag&1) If necessary, a series of increasing numbers can be filled in here.
|