

Pipe definitions:


sr3d = ShagRend3d
srvp = ShagRend Viewport

frontend | sr3d | srvp



IVector format:
	int x
	int y
	int z

Color format:
	short red
	short green
	short blue

--------------------------------
frontend -> sr3d format:

byte cmd:

CREATE_OBJ_POLY
	int obj_id
	short nvert
	IVector vert[nvert]
	Color color[nvert]
	short npoly
	{
		byte polysize
		short v[polysize]
	}[npoly]

	
CREATE_OBJ_MESH
	int obj_id
	short wid
	short hgt
	IVector vert[wid][hgt]

DESTROY_OBJ
	int obj_id

UPDATE_POS	
	int obj_id
	IVector pos

UPDATE_POS_VEL
	int obj_id
	IVector vel

UPDATE_ROT
	int obj_id
	ushort yaw
	ushort pitch
	ushort roll

UPDATE_ROT_VEL
	int obj_id
	ushort vyaw
	ushort vpitch
	ushort vroll

QUIT

--------------------------------
sr3d --> srvs  format:

all coords are shorts, from -32767 to 32768,
with 0,0 being in the center of the screen, for uniformity

CVector
	short	x
	short	y
	short	z
	short	red
	short	green
	short	blue


byte cmd:
OPEN_VIEWPORT
	??

CLOSE_VIEWPORT
	??



UPDATE

ZBUF_ON
ZBUF_OFF
GOURAD_ON
GOURAD_OFF
DITHER_ON
DITHER_OFF

DRAW_POLYGON
	byte	nvert
	CVector	vec[nvert]

FILL_POLYGON
	byte	nvert
	CVector	vec[nvert]

QUIT

