# 3d-render ## Files This program use two kind of files to represent a 3D world: - `obj` which are a list of planes representing an object. - `map` which are a list of object representing the the world itself. Only one map file can be use at time and a map can reference other maps. Anything in a map is relative to the base point of the map, which is (0, 0, 0) for the 'top map' contain everything else. A map point is fix a can't be negative. An object point is relative to the map point and can be negative. ### `.obj` files 0,0,0 is the bottom-left-front point of the object. It is used to translate the object in the 3D map. Syntaxe ``` OBJECT <- header Plane definition -> x,y,z <- point ; <- point delimiter x,y,z : <- end point definition FFFFFFFFFF <- RGB + Aplha + luminosity \n ``` Example ``` OBJECT 0,0,0:FF00211230 0.2,0.8,5;21,0.6,3:451A206000 ``` ### `.map` files Calling a map file from a map file will change the reference point of the called map from fixed to relative to the current map. Syntaxe ``` MAP <- header Call object/map file: x,y,z <- object position : filename ``` Example ``` MAP 1,5,0:cube.map 2.3,2.0,6:light.obj ```