Now3D scene file format |
|
Author : Giuliano Cornacchiola
Date (dd/mm/yyyy) |
Now3D Version |
Description |
06/07/2001 |
1.16.30 |
Created |
Here I report the information you need :
- This file format is completely in Ascii and like such each value must be interpret in
correct manner:
The values types that I use are converted in string in this manner:
Type |
Description |
Long |
Is a number without decimals at 4bit |
Single |
Is a float number at 4bit, I use the "." char to divide the
entire part from that decimal |
Boolean |
Is a boolean number. 0 = False -1 = True |
String |
Is a string. It can't contain the space character! Then you must to
replace each character Space with "%20" |
Gradient |
See CN3DPattern. |
- The File is organized in a hierarchy manner. We have groups sub-groups and groups
properties.
- The Groups are characterized from a Start-Header and from an
End-Header
START + <character
space> + Group name
END + <character
space> + Group name
- The Properties are defined in a one only line.
- Each property contain
the Header of the property followed by one or more properties
HeaderRow
+ <character space> + Property value
- The properties or the sub-Groups of the actual Group must be defined
inside.
START GROUP1
START SUBGROUP1
HEADER1 VALORE1
HEADER2 VALORE2
HEADER3 VALORE3
END SUBGROUP1
HEADER4 VALORE4
HEADER5 VALORE5
END GROUP1 |
Where the property
header is the property identify.
- The property order inside each group is indifferent.
For example : If inside
a Group I insert
HEADER1 VALORE1
HEADER2 VALORE2
HEADER3 VALORE3 |
Or
HEADER2 VALORE2
HEADER1 VALORE1
HEADER3 VALORE3 |
is the same.
- Row with much properties :
- Generally each line-property contains a
Header (1 or more characters) + one space + Property value
But in some cases the property value are
more of one
Ex. Object Position
Diagram :
Object Position |
Header |
Value Type |
Description |
OP |
Single |
Position X |
|
Single |
Position Y |
|
Single |
Position Z |
Example File Row :
OP -12335.4 -9545.34 -65722.23 |
Note : between each property there is always a space character.
- The List(1...N), in the Group description identifies the N time you can find the same
group.
Ex. Poligon Normals
Diagram :
Poligon Normal
List(1...N) |
Header |
Value Type |
Description |
N |
Single |
X |
|
Single |
Y |
|
Single |
Z |
Example File Rows :
N 15.64345 0 98.76883
N -14.02629 -44.27924 88.55853
N -40.70588 -44.27924 79.88979 |
In this case N is equal to 3.
- The Environment Group have in the Header <Environment Name>
That means that according to the type of Environment that exported you
must to use
the correspondent name :
ENVIRONMENT |
Used how Environment map of the scene |
REFLECTENVIRONMENT |
Used how Reflect map of a material |
DIFFUSEENVIRONMENT |
Used how Diffuse map of a material |
- In the File diagram below, I have defined logical groups of property inside
a rectangle subdivise in two parts :
Logical Group
Name |
Header |
Value Type |
Description |
HeaderName1 |
Type1 |
Des1 |
HeaderName2 |
Type2 |
Des2 |
HeaderName3 |
Type3 |
Des3 |
The Top part contains the logical group
description, and the names of the three columns that
they describe one
property : Header, Value Type, Description
The Low part contains the property.
File Scene Diagram :
Start Group Header = START
SCENE |
|
Start Group Header = START
SCENEVARIOUS |
|
Version |
Header |
Value Type |
Description |
VERSION |
Long |
Major |
|
Long |
Minor |
|
Long |
Revision |
2D Filter |
Header |
Value Type |
Description |
B |
Boolean |
Bifilter Enable |
A |
Boolean |
Antialiasing Enable |
BackGround |
Header |
Value Type |
Description |
BC |
Long |
Back Ground Color |
Fog |
Header |
Value Type |
Description |
F |
Boolean |
Fog Enable |
FC |
Long |
Fog Color |
FD |
Single |
Fog Start |
FI |
Single |
Fog Intensity |
RayTracing |
Header |
Value Type |
Description |
RD |
Long |
RT Max Depth |
RC |
Long |
Index Render Camera |
RT Antialiasing |
Header |
Value Type |
Description |
RT |
Boolean |
RT Antialiasing Enable |
RAM |
Long |
RT Antialiasing Mode |
RAT |
Single |
RT Antialiasing Threshold |
RAD |
Long |
RT Antialiasing Max Depth |
Shadow |
Header |
Value Type |
Description |
S |
Boolean |
Shadow Enable |
ST |
Long |
Shadow Type |
SN |
Long |
Area Shadow Samples |
Global
Illumination |
Header |
Value Type |
Description |
AC |
Long |
Ambient Color |
DD |
Boolean |
Diffusion Distribuction Enable |
DF |
Boolean |
Diffusion Filter Enable |
DN |
Long |
RT Diffuse Samples |
Reflection |
Header |
Value Type |
Description |
RRD |
Boolean |
Reflection Distribuction Enable |
RN |
Long |
RT Reflect Samples |
Refraction |
Header |
Value Type |
Description |
TD |
Boolean |
RT Refract Distribuction Enable |
TN |
Long |
RT Refract Distribuction Samples |
TIR |
Boolean |
Total Internal Reflection Enable |
Editor |
Header |
Value Type |
Description |
VF |
Single |
Front View Spam X |
|
Single |
Front View Spam Y |
|
Single |
Front View Spam Z |
VR |
Single |
Right View Spam X |
|
Single |
Right View Spam Y |
|
Single |
Right View Spam Z |
VT |
Single |
Top View Spam X |
|
Single |
Top View Spam Y |
|
Single |
Top View Spam Z |
BV |
Boolean |
Bounding Box View Enable |
|
Export ENVIRONMENT (see
below) |
Camera List(1..N) |
Light List(1..N) |
Material List(1..N) |
Object List(1..N) |
End Group Header = END
SCENEVARIOUS |
End Group Header = END
SCENE |
Start Group Header = START
MATERIAL |
|
Start Group Header = START
VARIOUS |
|
Version |
Header |
Value Type |
Description |
VERSION |
Long |
Major |
|
Long |
Minor |
|
Long |
Revision |
General |
Header |
Value Type |
Description |
N |
String |
Material Name |
MT |
Long |
Material Type |
MS |
Single |
Metalness |
RS |
Single |
Roughness |
PT |
Long |
TextureProjection |
MR |
Single |
Map Rotation X |
|
Single |
Map Rotation Y |
|
Single |
Map Rotation Z |
Color |
Header |
Value Type |
Description |
C |
Long |
Color |
DC |
Single |
Diffuse Coefficient |
TT |
Long |
Color Map Type |
TP |
String |
Map Color File Name |
TPA |
Long |
Pattern X |
|
Long |
Pattern Y |
Specular |
Header |
Value Type |
Description |
SCO |
Long |
Specular Color |
SC |
Single |
Specular Coefficient |
ST |
Long |
Specular Map Type |
SP |
String |
Map Specular File Name |
SPA |
Long |
Pattern X |
|
Long |
Pattern Y |
SPI |
Boolean |
Invert Specular Map |
SPV |
Single |
Specular Map Value |
Glossy |
Header |
Value Type |
Description |
SM |
Single |
Smoothness |
GT |
Long |
Glossy Map Type |
GP |
String |
Map Glossy File Name |
GPA |
Long |
Pattern X |
|
Long |
Pattern Y |
GI |
Boolean |
Invert Glossy Map |
GV |
Single |
Glossy Map Value |
Reflect |
Header |
Value Type |
Description |
RC |
Long |
Reflect Color |
Ambient |
Header |
Value Type |
Description |
AC |
Long |
Ambient Color |
Bump |
Header |
Value Type |
Description |
BT |
Long |
Bump Map Type |
BP |
String |
Map Bump File Name |
BPA |
Long |
Pattern X |
|
Long |
Pattern Y |
BI |
Boolean |
Invert Bump Map |
BV |
Single |
Bump Map Value |
Opacity |
Header |
Value Type |
Description |
OP |
Long |
Opacity Color |
OV |
Single |
Opacity Value |
OPS |
Single |
Opacity Silhouette |
D |
Single |
Density |
RI |
Single |
Refraction Index |
OT |
Long |
Opacity Map Type |
OPP |
String |
Map Opacity File Name |
OPA |
Long |
Pattern X |
|
Long |
Pattern Y |
OPI |
Boolean |
Invert Opacity Map |
Light |
Header |
Value Type |
Description |
LT |
Long |
Light Map Type |
LF |
String |
Map Light File Name |
LPA |
Long |
Pattern X |
|
Long |
Pattern Y |
LPI |
Boolean |
Invert Light Map |
LV |
Single |
Light Map Value |
HyperTexture |
Header |
Value Type |
Description |
HT |
Boolean |
HyperTexture Enable |
HTTH |
Single |
HyperTexture Threshold |
HTD |
Single |
HyperTexture Detail |
HTTY |
Long |
HyperTexture Type |
HTVT |
Long |
HT Volumetric Type |
HTVS |
Boolean |
HT Volumetric Shadow |
HTP |
String |
Map HyperTexture File Name |
HTPA |
Long |
Pattern X |
|
Long |
Pattern Y |
HTI |
Boolean |
Invert HyperTexture Map |
Noise |
Header |
Value Type |
Description |
NT |
Long |
Noise Type |
NC |
Gradient |
Noise Gradient |
NPA |
Single |
Noise Pattern |
NB |
Single |
Noise Bias |
NUV |
Single |
Up Noise Limit |
NLV |
Single |
Low Noise Limit |
NF |
Single |
Noise Fractal Value |
NP1 |
Single |
Noise Param1 |
NP2 |
Single |
Noise Param2 |
FBMO |
Single |
fBm Octaves |
FBML |
Single |
fBm Lacunarity |
FBMI |
Single |
fBm Fractal Increment |
|
End Group Header = END
VARIOUS |
Export REFLECTENVIRONMENT
(see below) |
Export DIFFUSEENVIRONMENT
(see below) |
Start Group Header = START
NOISEPERMUTATION (It's present only if Noise is used) |
|
Noise Permutation
List(1...N) |
Header |
Value Type |
Description |
NP |
Single |
Noise Permutation |
|
End Group Header = END
NOISEPERMUTATION |
Start Group Header = START
NOISEWAVELET (It's present only if Noise is used) |
|
Noise Wavelet
List(1...N) |
Header |
Value Type |
Description |
NW |
Single |
Noise Wavelet X |
|
Single |
Noise Wavelet Y |
|
Single |
Noise Wavelet Z |
|
End Group Header = END
NOISEWAVELET |
End Group Header = END
MATERIAL |
Start Group Header = START
CAMERA |
|
Camera
Properties |
Header |
Value Type |
Description |
CA |
Single |
Rotation X |
|
Single |
Rotation Y |
|
Single |
Rotation Z |
CP |
Single |
Position X |
|
Single |
Position Y |
|
Single |
Position Z |
ZO |
Single |
Zoom |
Camera
Viewport |
Header |
Value Type |
Description |
RW |
Long |
Render window Width |
RH |
Long |
Render window Height |
Exposure |
Header |
Value Type |
Description |
EX |
Boolean |
Camera Exposure Enable |
EXV |
Single |
Camera Exposure Value |
|
End Group Header = END
CAMERA |
Start Group Header = START
LIGHT |
|
Light
Properties |
Header |
Value Type |
Description |
LA |
Single |
Rotation X |
|
Single |
Rotation Y |
LP |
Single |
Position X |
|
Single |
Position Y |
|
Single |
Position Z |
LC |
Long |
Light Color |
LV |
Single |
Light Value |
LT |
Long |
Light Type |
LS |
Boolean |
Light Can Shadow |
LVI |
Boolean |
Visible |
Spot
Cone Properties |
Header |
Value Type |
Description |
LSE |
Single |
Light Spot Exponent |
LSA |
Single |
Light Spot Cone Angle |
Attenuation |
Header |
Value Type |
Description |
A |
Boolean |
Light Attenuation Enable |
AD |
Single |
Light Attenuation Distance |
|
End Group Header = END
LIGHT |
Start Group Header = START <Environment
Name> |
|
Environment
Properties |
Header |
Value Type |
Description |
T |
Long |
Environment Type |
MT |
Long |
Environment Map Type |
Map
Properties |
Header |
Value Type |
Description |
R |
Single |
Map Rotation X |
|
Single |
Map Rotation Y |
|
Single |
Map Rotation Z |
MX |
Boolean |
Mirror X |
V |
Single |
Map Value |
Environment
Files |
Header |
Value Type |
Description |
F |
String |
Environment File Name |
EPF |
String |
Environment Cubic Front File Name |
EPR |
String |
Environment Cubic Right File Name |
EPU |
String |
Environment Cubic Up File Name |
EPB |
String |
Environment Cubic Back File Name |
EPL |
String |
Environment Cubic Left File Name |
EPD |
String |
Environment Cubic Down File Name |
HDR |
String |
Environment HDR File Name |
HDR
Properties |
Header |
Value Type |
Description |
HDRE |
Single |
HDR Exposure |
HDRG |
Single |
HDR Gamma |
|
End Group Header = END <Environment
Name> |
Start Group Header = START
OBJECT |
|
Start Group Header = START
VARIOUS |
|
Version |
Header |
Value Type |
Description |
VERSION |
Long |
Major |
|
Long |
Minor |
|
Long |
Revision |
General |
Header |
Value Type |
Description |
ON |
String |
Object Name |
OP |
Single |
Position X |
|
Single |
Position Y |
|
Single |
Position Z |
BP |
Boolean |
Block Position X |
|
Boolean |
Block Position Y |
|
Boolean |
Block Position Z |
OR |
Single |
Rotation X |
|
Single |
Rotation Y |
|
Single |
Rotation Z |
BR |
Boolean |
Block Rotation X |
|
Boolean |
Block Rotation Y |
|
Boolean |
Block Rotation Z |
OS |
Single |
Scale |
|
Single |
Scale X |
|
Single |
Scale Y |
|
Single |
Scale Z |
OC |
Long |
Default Color |
MN |
String |
Material Name associated |
FA |
String |
Object Father Name associated |
PT |
Long |
Primitive Type |
L |
Boolean |
Object Light |
V |
Boolean |
Visible |
TC |
Boolean |
Affect to Children |
|
End Group Header = END
VARIOUS |
Start Group Header = START
LIGHTTYPE (It's present only if the Object is Light type) |
|
Light
Properties |
Header |
Value Type |
Description |
LA |
Single |
Rotation X |
|
Single |
Rotation Y |
LV |
Single |
Light Value |
LT |
Long |
Light Type |
Spot
Cone Properties |
Header |
Value Type |
Description |
LSE |
Single |
Light Spot Exponent |
LSA |
Single |
Light Spot Cone Angle |
Attenuation |
Header |
Value Type |
Description |
A |
Boolean |
Light Attenuation Enable |
AD |
Single |
Light Attenuation Distance |
|
End Group Header = END
LIGHTTYPE |
Start Group Header = START
VERTEX (If the Object is a Mesh) |
|
Vertex
List(1...N) |
Header |
Value Type |
Description |
V |
Single |
X |
|
Single |
Y |
|
Single |
Z |
|
End Group Header = END
VERTEX (If the Object is a Mesh) |
Start Group Header = START
POLIGON (If the Object is a Mesh) |
|
Poligon
3 Edge List(1...N) |
Header |
Value Type |
Description |
P3 |
Long |
Index Vertex A |
|
Long |
Index Vertex B |
|
Long |
Index Vertex C |
Poligon
4 Edge List(1...N) |
Header |
Value Type |
Description |
P4 |
Long |
Index Vertex A |
|
Long |
Index Vertex B |
|
Long |
Index Vertex C |
|
Long |
Index Vertex D |
|
End Group Header = END
POLIGON (If the Object is a Mesh) |
Start Group Header = START
NORMALSMOOTH (If the Object is a Mesh) |
|
Vertex
Normal List(1...N) |
Header |
Value Type |
Description |
NS |
Single |
X for Vertex A |
|
Single |
Y for Vertex A |
|
Single |
Z for Vertex A |
|
Single |
X for Vertex B |
|
Single |
Y for Vertex B |
|
Single |
Z for Vertex B |
|
Single |
X for Vertex C |
|
Single |
Y for Vertex C |
|
Single |
Z for Vertex C |
|
End Group Header = END
NORMALSMOOTH (If the Object is a Mesh) |
|
End Group Header = END
OBJECT |