This chapter explains the structure of model data, material name specifications, and texture data handled by Sega Saturn.
POINT point_label[]={
POStoFIXED(x,y,z),
POStoFIXED(x,y,z),
POStoFIXED(x,y,z),
POStoFIXED(x,y,z),
.............
};
POINT:Point data
x,y,z:Float type coordinate values
POLYGON polygon_label[]={
NORMAL(x,y,z),
VERTICES(0,1,2,3),
NORMAL(x,y,z),
VERTICES(0,1,2,3),
.............
};
NORMAL: Normal vector
x,y,z:Float type coordinate values
VERTICES: Point data of 4 points forming a polygon
ATTR attribute_label=[]={
ATTRIBUTE(Plane,Sort,Texture,Color,Gouraud,Mode,Dir,Option),
....... .... ..... ... ... ..... ... .....
};
ATTR: Attribute
Plane: Attribute to determine whether back side is present or not Sort: Representative point of Z sort
Texture: Texture name (No.)
Color: Color data
Gouraud: Attribute of Gouraud shading Mode: Drawing mode
Dir: State of polygons and textures Option: Options and other functions
| group | macro | Contents |
|---|---|---|
| [1] | No_Window | Not subject to restrictions within the window (default) | Window_In | Display inside Window | Window_Out | Display outside the window |
| [2] | MESHoff | Normal display (default) | MESHon | Display as mesh |
| [3] | ECdis | Disable EndCode | ECenb | Enable EndCode (default) |
| [4] | SPdis | Also display transparent pixels (default) | SPenb | Do not display transparent pixels |
| [5] | CL16Bnk | 16 colors Color bank mode (default) | CL16Look | 16 colors lookup table mode | CL64Bnk | 64 colors color bank mode | CL128Bnk | 128 colors color bank mode | CL256Bnk | 256 colors color bank mode | CL32KRGB | 32768 colors RGB mode |
| [6] | CL_Replace | Overwrite (standard) mode (default) | CL_Shadow | shadow mode | CL_Half | half brightness mode | CL_Trans | Translucent mode | CL_Gouraud | gouraud shading mode |
| macro | Contents |
|---|---|
| sprNoflip | Display texture normally |
| sprHflip | Flip the texture horizontally |
| sprVflip | Flip the texture vertically |
| sprHVflip | Flip the texture vertically and horizontally |
| sprPorygon | display polygons |
| sprPolyLine | display polyline |
| sprLine | Displays a straight line using the first two points |
| macro | Contents |
|---|---|
| UseLight | Perform light source calculations |
| UseClip | Do not display if a vertex goes off the screen |
| Use Palette | Indicates that polygon colors are in palette format |
PDATA pdata_label[]={
point_label,n1,
polygon_label,n2,
attribute_label
};
pdata_label: Indicates the PDATA type address to be passed to SGL.
point_label: Indicates the address of the POINT type.
nl: Indicates the number of points.
polygon_label: Indicates the address of POLYGON type.
n2: Indicates the number of polygons.
attribute_label: Indicates the ATTR type address.
OBJECT object_label[]={
pdata_label,
TRANSLATION(x,y,z),
ROTATION(x,y,z),
SCALING(x,y,z),
object_child,
object_sibling,
pdata_label: Indicates the PDATA type address.
TRANSLATION: Indicates the amount of movement.
ROTATION: Indicates the amount of rotation.
SCALING: Indicates the amount of expansion.
object_child: Indicates the address of the child's OBJECT type.
object_sibling: Indicates the address of the sibling OBJECT type.
It becomes.
TEXDAT sample[]={
rgb,rgb,rgb,rgb,rgb,rgb,rgb,rgb
rgb,rgb,rgb,rgb,rgb,rgb,rgb,rgb
......................................
};
TEXTB: Texture table
sample: Indicates a label with texture data (file name as is)
hsize,vsize: Texture size (hsize is always a multiple of 8)
bgr: 1 pixel of texture data
| B | G | R | |||||||||||||
| 1 | 4 | 3 | 2 | 1 | 0 | 4 | 3 | 2 | 1 | 0 | 4 | 3 | 2 | 1 | 0 |
Figure 4-1 Checkered texture
TEXDAT sample[]={
0xffff,0x8000,0xffff,0x8000,0xffff,0x8000,0xffff,0x8000,
0x8000,0xffff,0x8000,0xffff,0x8000,0xffff,0x8000,0xffff
};
★ SGL User's Manual ★ Data exchange