123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394 |
- {$MODE OBJFPC}
- unit libgte;
- interface
- // Geometry Structures:
- const
- ONE = 4096; // GTE regards 4096 as 1.0
- TMPVTXNUM = 16; // Clip Function Header
- OUTVTXNUM = 10;
- type
- MATRIX = packed record
- m : array [0..2, 0..2] of smallint; // 3x3 rotation matrix
- t : array [0..2] of longint; // transfer vector
- end;
- PMATRIX = ^MATRIX;
- VECTOR = packed record // long word type 3D vector
- vx, vy : longint;
- vz, pad : longint;
- end;
- PVECTOR = ^VECTOR;
-
- SVECTOR = packed record // short word type 3D vector
- vx, vy : smallint;
- vz, pad : smallint;
- end;
- PSVECTOR = ^SVECTOR;
-
- CVECTOR = packed record // color type vector
- r, g, b, cd : byte;
- end;
- PCVECTOR = ^CVECTOR;
-
- DVECTOR = packed record // 2D short vector
- vx, vy : smallint;
- end;
- PDVECTOR = ^DVECTOR;
- EVECTOR = packed record
- v : SVECTOR; // Object(Local) 3D Vertex
- sxyz : VECTOR; // Screen 3D Vertex
- sxy : DVECTOR; // Screen 2D Vertex
- rgb : CVECTOR; // Vertex Color Data
- txuv, pad : smallint; // Texture Mapping Data
- chx, chy : longint; // Clip Window Data
- end;
- PEVECTOR = ^EVECTOR;
- PPEVECTOR = ^PEVECTOR;
- RVECTOR = packed record // division vertex data vector
- v : SVECTOR;
- uv : array [0..1] of byte;
- pad : word;
- c : CVECTOR;
- sxy : DVECTOR;
- sz : dword; // clip z-data
- end;
- PRVECTOR = ^RVECTOR;
- CRVECTOR3 = packed record // recursive vector for triangles
- r01, r12, r20 : RVECTOR;
- r0, r1, r2 : PRVECTOR;
- rtn : pdword;
- end;
- DIVPOLYGON3 = packed record // division buffer for triangles
- ndiv : dword; // number of divisions
- pih, piv : dword; // clipping area
- clut, tpage : word;
- rgbc : CVECTOR;
- ot : pdword;
- r0, r1, r2 : RVECTOR;
- cr : array [0..4] of CRVECTOR3;
- end;
- CRVECTOR4 = packed record // recursive vector for four-sided polygons
- r01, r02, r31, r32, rc : RVECTOR;
- r0, r1, r2, r3 : PRVECTOR;
- rtn : pdword;
- end;
- DIVPOLYGON4 = packed record // division buffer for four-sided polygons
- ndiv : dword; // number of divisions
- pih, piv : dword; // clipping area
- clut, tpage : word;
- rgbc : CVECTOR;
- ot : pdword;
- r0, r1, r2, r3 : RVECTOR;
- cr : array [0..4] of CRVECTOR4;
- end;
- SPOL = packed record
- xy : array [0..2] of smallint;
- uv : array [0..1] of smallint;
- rgb : array [0..2] of smallint;
- end;
- PSPOL = ^SPOL;
-
- POL4 = packed record // polygon: 41 bytes/1 polygon
- sxy : array [0..3, 0..1] of smallint; //0..7
- sz : array [0..3, 0..1] of smallint; // 8..15sz[][1] is dummy
- uv : array [0..3, 0..1] of smallint; // 16..23
- rgb : array [0..3, 0..2] of smallint; // 23..34
- code : smallint; // 35... F4:5, TF4:6, G4:7, TG4:8
- end;
- PPOL4 = ^POL4;
- POL3 = packed record
- sxy : array [0..2, 0..1] of smallint;
- sz : array [0..2, 0..1] of smallint; // sz[][1] is dummy
- uv : array [0..2, 0..1] of smallint;
- rgb : array [0..2, 0..2] of smallint;
- code : smallint; // F3:1, TF3:2, G3:3, TG3:4
- end;
- PPOL3 = ^POL3;
- TMESH = packed record
- v : PSVECTOR; // shared vertices
- n : PSVECTOR; // shared normals
- u : PSVECTOR; // shared texture addresses
- c : PCVECTOR; // shared colors
- len : dword; // mesh length(=#vertex)
- end;
- QMESH = packed record
- v : PSVECTOR; // shared vertices
- n : PSVECTOR; // shared normals
- u : PSVECTOR; // shared texture addresses
- c : PCVECTOR; // shared colors
- lenv : dword; // mesh length_V(=#vertex_V)
- lenh : dword; // mesh length_H(=#vertex_H)
- end;
- procedure InitGeom; stdcall; external;
- procedure EigenMatrix(m, t: PMATRIX); stdcall; external;
- function IsIdMatrix(m: PMATRIX): longint; stdcall; external;
- function MulMatrix0(m0, m1, m2: PMATRIX): PMATRIX; stdcall; external;
- function MulRotMatrix0(m0, m1: PMATRIX): PMATRIX; stdcall; external;
- function MulMatrix(m0, m1: PMATRIX): PMATRIX; stdcall; external;
- function MulMatrix2(m0, m1: PMATRIX): PMATRIX; stdcall; external;
- function MulRotMatrix(m0: PMATRIX): PMATRIX; stdcall; external;
- function SetMulMatrix(m0, m1: PMATRIX): PMATRIX; stdcall; external;
- function SetMulRotMatrix(m0: PMATRIX): PMATRIX; stdcall; external;
- function ApplyMatrix(m: PMATRIX; v0: PSVECTOR; v1: PVECTOR): PVECTOR; stdcall; external;
- function ApplyRotMatrix(v0: PSVECTOR; v1: PVECTOR): PVECTOR; stdcall; external;
- function ApplyRotMatrixLV(v0, v1: PVECTOR): PVECTOR; stdcall; external;
- function ApplyMatrixLV(m: PMATRIX; v0, v1: PVECTOR): PVECTOR; stdcall; external;
- function ApplyMatrixSV(m: PMATRIX; v0, v1: PSVECTOR): PSVECTOR; stdcall; external;
- function ApplyTransposeMatrixLV(m: PMATRIX; v0, v1: PVECTOR): PVECTOR; stdcall; external;
- function RotMatrix(r: PSVECTOR; m: PMATRIX): PMATRIX; stdcall; external;
- function RotMatrixXZY(r: PSVECTOR; m: PMATRIX): PMATRIX; stdcall; external;
- function RotMatrixYXZ(r: PSVECTOR; m: PMATRIX): PMATRIX; stdcall; external;
- function RotMatrixYZX(r: PSVECTOR; m: PMATRIX): PMATRIX; stdcall; external;
- function RotMatrixZXY(r: PSVECTOR; m: PMATRIX): PMATRIX; stdcall; external;
- function RotMatrixZYX(r: PSVECTOR; m: PMATRIX): PMATRIX; stdcall; external;
- function RotMatrix_gte(r: PSVECTOR; m: PMATRIX): PMATRIX; stdcall; external;
- function RotMatrixYXZ_gte(r: PSVECTOR; m: PMATRIX): PMATRIX; stdcall; external;
- function RotMatrixZYX_gte(r: PSVECTOR; m: PMATRIX): PMATRIX; stdcall; external;
- function RotMatrixX(r: longint; m: PMATRIX): PMATRIX; stdcall; external;
- function RotMatrixY(r: longint; m: PMATRIX): PMATRIX; stdcall; external;
- function RotMatrixZ(r: longint; m: PMATRIX): PMATRIX; stdcall; external;
- function RotMatrixC(r: PSVECTOR; m: PMATRIX): PMATRIX; stdcall; external;
- function TransMatrix(m: PMATRIX; v: PVECTOR): PMATRIX; stdcall; external;
- function ScaleMatrix(m: PMATRIX; v: PVECTOR): PMATRIX; stdcall; external;
- function ScaleMatrixL(m: PMATRIX; v: PVECTOR): PMATRIX; stdcall; external;
- function TransposeMatrix(m0, m1: PMATRIX): PMATRIX; stdcall; external;
- function CompMatrix(m0, m1, m2: PMATRIX): PMATRIX; stdcall; external;
- function CompMatrixLV(m0, m1, m2: PMATRIX): PMATRIX; stdcall; external;
- procedure MatrixNormal(m, n: PMATRIX); stdcall; external;
- procedure MatrixNormal_0(m, n: PMATRIX); stdcall; external;
- procedure MatrixNormal_1(m, n: PMATRIX); stdcall; external;
- procedure MatrixNormal_2(m, n: PMATRIX); stdcall; external;
- procedure SetRotMatrix(m: PMATRIX); stdcall; external;
- procedure SetLightMatrix(m: PMATRIX); stdcall; external;
- procedure SetColorMatrix(m: PMATRIX); stdcall; external;
- procedure SetTransMatrix(m: PMATRIX); stdcall; external;
- procedure PushMatrix; stdcall; external;
- procedure PopMatrix; stdcall; external;
- procedure ReadRotMatrix(m: PMATRIX); stdcall; external;
- procedure ReadLightMatrix(m: PMATRIX); stdcall; external;
- procedure ReadColorMatrix(m: PMATRIX); stdcall; external;
- procedure SetRGBcd(v: PCVECTOR); stdcall; external;
- procedure SetBackColor(rbk, gbk, bbk: longint); stdcall; external;
- procedure SetFarColor(rfc, gfc, bfc: longint); stdcall; external;
- procedure SetGeomOffset(ofx, ofy: longint); stdcall; external;
- procedure SetGeomScreen(h: longint); stdcall; external;
- procedure ReadSZfifo3(sz0, sz1, sz2: plongint); stdcall; external;
- procedure ReadSZfifo4(szx, sz0, sz1, sz2: plongint); stdcall; external;
- procedure ReadSXSYfifo(sxy0, sxy1, sxy2: plongint); stdcall; external;
- procedure ReadRGBfifo(v0, v1, v2: PCVECTOR); stdcall; external;
- procedure ReadGeomOffset(ofx, ofy: plongint); stdcall; external;
- function ReadGeomScreen: longint; stdcall; external;
- procedure TransRot_32(v0, v1: PVECTOR; flag: plongint); stdcall; external;
- function TransRotPers(v0: PSVECTOR; sxy: plongint; p: plongint; flag: plongint): longint; stdcall; external;
- function TransRotPers3(v0, v1, v2: PSVECTOR; sxy0, sxy1, sxy2: plongint; p: plongint; flag: plongint): longint; stdcall; external;
- //procedure pers_map(abuf: longint; vertex: pointer; int tex[4][2], u_short *dtext); stdcall; external;
- procedure PhongLine(istart_x, iend_x: longint; p, q: longint; pixx: pointer; fs, ft, i4, det: longint); stdcall; external;
- function RotTransPers(v0: PSVECTOR; sxy, p, flag: plongint): longint; stdcall; external;
- function RotTransPers3(v0, v1, v2: PSVECTOR; sxy0, sxy1, sxy2: plongint; p: plongint; flag: plongint): longint; stdcall; external;
- procedure RotTrans(v0: PSVECTOR; v1: PVECTOR; flag: plongint); stdcall; external;
- procedure RotTransSV(v0, v1: PSVECTOR; flag: plongint); stdcall; external;
- procedure LocalLight(v0: PSVECTOR; v1: PVECTOR); stdcall; external;
- procedure LightColor(v0, v1: PVECTOR); stdcall; external;
- procedure DpqColorLight(v0: PVECTOR; v1: PCVECTOR; p: longint; v2: PCVECTOR); stdcall; external;
- procedure DpqColor(v0: PCVECTOR; p: longint; v1: PCVECTOR); stdcall; external;
- procedure DpqColor3(v0, v1, v2: PCVECTOR; p: longint; v3, v4, v5: PCVECTOR); stdcall; external;
- procedure Intpl(v0:PVECTOR; p: longint; v1: PCVECTOR); stdcall; external;
- function Square12(v0, v1: PVECTOR):PVECTOR; stdcall; external;
- function Square0(v0, v1: PVECTOR):PVECTOR; stdcall; external;
- function SquareSL12(v0: PSVECTOR; v1: PVECTOR): PVECTOR; stdcall; external;
- function SquareSL0(v0: PSVECTOR; v1: PVECTOR): PVECTOR; stdcall; external;
- function SquareSS12(v0, v1: PSVECTOR): PSVECTOR; stdcall; external;
- function SquareSS0(v0, v1: PSVECTOR): PSVECTOR; stdcall; external;
- procedure NormalColor(v0: PSVECTOR; v1: PCVECTOR); stdcall; external;
- procedure NormalColor3(v0, v1, v2: PSVECTOR; v3, v4, v5:PCVECTOR); stdcall; external;
- procedure NormalColorDpq(v0: PSVECTOR; v1: PCVECTOR; p: longint; v2: PCVECTOR); stdcall; external;
- procedure NormalColorDpq3(v0, v1, v2: PSVECTOR; v3: PCVECTOR; p: longint; v4, v5, v6: PCVECTOR); stdcall; external;
- procedure NormalColorCol(v0: PSVECTOR; v1, v2: PCVECTOR); stdcall; external;
- procedure NormalColorCol3(v0, v1, v2: PSVECTOR; v3, v4, v5, v6: PCVECTOR); stdcall; external;
- procedure ColorDpq(v0: PVECTOR; v1: PCVECTOR; p: longint; v2: PCVECTOR); stdcall; external;
- procedure ColorCol(v0: PVECTOR; v1, v2: PCVECTOR); stdcall; external;
- function NormalClip(sxy0, sxy1, sxy2: longint): longint; stdcall; external;
- function AverageZ3(sz0, sz1, sz2: longint): longint; stdcall; external;
- function AverageZ4(sz0, sz1, sz2, sz3: longint): longint; stdcall; external;
- procedure OuterProduct12(v0, v1, v2: PVECTOR); stdcall; external;
- procedure OuterProduct0(v0, v1, v2: PVECTOR); stdcall; external;
- function Lzc(data: longint): longint; stdcall; external;
- function RotTransPers4(v0, v1, v2, v3: PSVECTOR; sxy0, sxy1, sxy2, sxy3: plongint; p, flag: plongint): longint; stdcall; external;
- procedure RotTransPersN(v0: PSVECTOR; v1: PDVECTOR; sz: pword; p, flag: pword; n: longint); stdcall; external;
- procedure RotTransPers3N(v0: PSVECTOR; v1: PDVECTOR; sz: pword; flag: pword; n: longint); stdcall; external;
- procedure RotMeshH(Yheight: pword; Vo: PDVECTOR; sz: pword; flag: pword; Xoffset, Zoffset: smallint; m, n: smallint; base: PDVECTOR); stdcall; external;
- function RotAverage3(v0, v1, v2: PSVECTOR; sxy0, sxy1, sxy2: plongint; p, flag: plongint): longint; stdcall; external;
- function RotAverage4(v0, v1, v2, v3: PSVECTOR; sxy0, sxy1, sxy2, sxy3: plongint; p, flag: plongint): longint; stdcall; external;
- function RotNclip3(v0, v1, v2: PSVECTOR; sxy0, sxy1, sxy2: plongint; p, otz, flag: plongint): longint; stdcall; external;
- function RotNclip4(v0, v1, v2, v3: PSVECTOR; sxy0, sxy1, sxy2, sxy3: plongint; p, otz, flag: plongint): longint; stdcall; external;
- function RotAverageNclip3(v0, v1, v2: PSVECTOR; sxy0, sxy1, sxy2: plongint; p, otz, flag: plongint): longint; stdcall; external;
- function RotAverageNclip4(v0, v1, v2, v3: PSVECTOR; sxy0, sxy1, sxy2, sxy3: plongint; p, otz, flag: plongint): longint; stdcall; external;
- function RotColorDpq(v0, v1: PSVECTOR; v2: PCVECTOR; sxy: plongint; v3: PCVECTOR; flag: plongint): longint; stdcall; external;
- function RotColorDpq3(v0, v1, v2, v3, v4, v5: PSVECTOR; v6: PCVECTOR; sxy0, sxy1, sxy2: plongint; v7, v8, v9: PCVECTOR; flag: plongint): longint; stdcall; external;
- function RotAverageNclipColorDpq3(v0, v1, v2, v3, v4, v5: PSVECTOR; v6: PCVECTOR; sxy0, sxy1, sxy2: plongint; v7, v8, v9: PCVECTOR; otz, flag: plongint): longint; stdcall; external;
- function RotAverageNclipColorCol3(v0, v1, v2, v3, v4, v5: PSVECTOR; v6: PCVECTOR; sxy0, sxy1, sxy2: plongint; v7, v8, v9: PCVECTOR; otz, flag: plongint): longint; stdcall; external;
- function RotColorMatDpq(v0, v1: PSVECTOR; v2: PCVECTOR; sxy: plongint; v3: PCVECTOR; matc, flag: longint): longint; stdcall; external;
- procedure ColorMatDpq(v0: PSVECTOR; v1: PCVECTOR; p: longint; v2: PCVECTOR; matc: longint); stdcall; external;
- procedure ColorMatCol(v0: PSVECTOR; v1, v2: PCVECTOR; matc: longint); stdcall; external;
- procedure LoadAverage12(v0, v1: PVECTOR; p0, p1: longint; v2: PVECTOR); stdcall; external;
- procedure LoadAverageShort12(v0, v1: PSVECTOR; p0, p1: longint; v2: PSVECTOR); stdcall; external;
- procedure LoadAverage0(v0, v1: PVECTOR; p0, p1: longint; v2: PVECTOR); stdcall; external;
- procedure LoadAverageShort0(v0, v1: PSVECTOR; p0, p1: longint; v2: PSVECTOR); stdcall; external;
- procedure LoadAverageByte(v0, v1: pbyte; p0, p1: longint; v2: pbyte); stdcall; external;
- procedure LoadAverageCol(v0, v1: pbyte; p0, p1: longint; v2: pbyte); stdcall; external;
- function VectorNormal(v0, v1: PVECTOR): longint; stdcall; external;
- function VectorNormalS(v0: PVECTOR; v1: PSVECTOR): longint; stdcall; external;
- function VectorNormalSS(v0, v1: PSVECTOR): longint; stdcall; external;
- function SquareRoot0(a: longint): longint; stdcall; external;
- function SquareRoot12(a: longint): longint; stdcall; external;
- procedure InvSquareRoot(a: longint; b, c: plongint); stdcall; external;
- procedure gteMIMefunc(otp, dfp: PSVECTOR; n, p: plongint); stdcall; external;
- procedure SetFogFar(a, h: longint); stdcall; external;
- procedure SetFogNear(a, h: longint); stdcall; external;
- procedure SetFogNearFar(a, b, h: plongint); stdcall; external;
- procedure SubPol4(p: PPOL4; sp: PSPOL; ndiv: longint); stdcall; external;
- procedure SubPol3(p: PPOL3; sp: PSPOL; ndiv: longint); stdcall; external;
- function rcos(a: longint): longint; stdcall; external;
- function rsin(a: longint): longint; stdcall; external;
- function ccos(a: longint): longint; stdcall; external;
- function csin(a: longint): longint; stdcall; external;
- function cln(a: longint): longint; stdcall; external;
- function csqrt(a: longint): longint; stdcall; external;
- function catan(a: longint): longint; stdcall; external;
- function ratan2(y, x: longint): longint; stdcall; external;
- procedure RotPMD_F3(pa: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_G3(pa: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_FT3(pa: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_GT3(pa: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_F4(pa: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_G4(pa: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_FT4(pa: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_GT4(pa: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_SV_F3(pa, va: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_SV_G3(pa, va: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_SV_FT3(pa, va: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_SV_GT3(pa, va: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_SV_F4(pa, va: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_SV_G4(pa, va: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_SV_FT4(pa, va: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure RotPMD_SV_GT4(pa, va: plongint; ot: pdword; otlen, id, backc: longint); stdcall; external;
- procedure InitClip(evbfad: PEVECTOR; hw, vw, h, _near, _far: longint); stdcall; external;
- function Clip3F(v0, v1, v2: PSVECTOR; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip3FP(v0, v1, v2: PSVECTOR; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip4F(v0, v1, v2, v3: PSVECTOR; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip4FP(v0, v1, v2, v3: PSVECTOR; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip3FT(v0, v1, v2: PSVECTOR; uv0, uv1, uv2: psmallint; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip3FTP(v0, v1, v2: PSVECTOR; uv0, uv1, uv2: psmallint; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip4FT(v0, v1, v2, v3: PSVECTOR; uv0, uv1, uv2, uv3: psmallint; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip4FTP(v0, v1, v2, v3: PSVECTOR; uv0, uv1, uv2, uv3: psmallint; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip3G(v0, v1, v2: PSVECTOR; rgb0, rgb1, rgb2: PCVECTOR; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip3GP(v0, v1, v2: PSVECTOR; rgb0, rgb1, rgb2: PCVECTOR; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip4G(v0, v1, v2, v3: PSVECTOR; rgb0, rgb1, rgb2, rgb3: PCVECTOR; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip4GP(v0, v1, v2, v3: PSVECTOR; rgb0, rgb1, rgb2, rgb3: PCVECTOR; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip3GT(v0, v1, v2: PSVECTOR; uv0, uv1, uv2: psmallint; rgb0, rgb1, rgb2: PCVECTOR; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip3GTP(v0, v1, v2: PSVECTOR; uv0, uv1, uv2: psmallint; rgb0, rgb1, rgb2: PCVECTOR; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip4GT(v0, v1, v2, v3: PSVECTOR; uv0, uv1, uv2, uv3: psmallint; rgb0, rgb1, rgb2, rgb3: PCVECTOR; evmx: PPEVECTOR): longint; stdcall; external;
- function Clip4GTP(v0, v1, v2, v3: PSVECTOR; uv0, uv1, uv2, uv3: psmallint; rgb0, rgb1, rgb2, rgb3: PCVECTOR; evmx: PPEVECTOR): longint; stdcall; external;
- procedure RotTransPers_nom(v0: PSVECTOR); stdcall; external;
- procedure RotTransPers3_nom(v0, v1, v2: PSVECTOR); stdcall; external;
- procedure RotTransPers4_nom(v0, v1, v2, v3: PSVECTOR); stdcall; external;
- procedure RotTrans_nom(v0: PSVECTOR); stdcall; external;
- procedure RotAverage3_nom(v0, v1, v2: PSVECTOR); stdcall; external;
- procedure RotNclip3_nom(v0, v1, v2: PSVECTOR); stdcall; external;
- procedure RotAverageNclip3_nom(v0, v1, v2: PSVECTOR); stdcall; external;
- procedure RotAverageNclipColorDpq3_nom(v0, v1, v2, v3, v4, v5: PSVECTOR; v6: PCVECTOR); stdcall; external;
- procedure RotAverageNclipColorCol3_nom(v0, v1, v2, v3, v4, v5: PSVECTOR; v6: PCVECTOR); stdcall; external;
- procedure RotColorDpq_nom(v0, v1: PSVECTOR; v2: PCVECTOR); stdcall; external;
- function RotColorDpq3_nom(v0, v1, v2, v3, v4, v5: PSVECTOR; v6: PCVECTOR): longint; stdcall; external;
- procedure NormalColor_nom(v0: PSVECTOR); stdcall; external;
- procedure NormalColor3_nom(v0, v1, v2: PSVECTOR); stdcall; external;
- procedure NormalColorDpq_nom(v0: PSVECTOR; v1: PCVECTOR; p: longint); stdcall; external;
- procedure NormalColorDpq3_nom(v0, v1, v2: PSVECTOR; v3: PCVECTOR; p: longint); stdcall; external;
- procedure NormalColorCol_nom(v0: PSVECTOR; v1: PCVECTOR); stdcall; external;
- procedure NormalColorCol3_nom(v0, v1, v2: PSVECTOR; v3: PCVECTOR); stdcall; external;
- procedure RotSMD_F3(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_G3(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_FT3(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_GT3(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_F4(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_G4(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_FT4(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_GT4(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_SV_F3(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_SV_G3(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_SV_FT3(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_SV_GT3(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_SV_F4(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_SV_G4(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_SV_FT4(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotSMD_SV_GT4(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_F3(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_G3(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_FT3(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_GT3(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_F4(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_G4(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_FT4(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_GT4(pa: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_SV_F3(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_SV_G3(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_SV_FT3(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_SV_GT3(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_SV_F4(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_SV_G4(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_SV_FT4(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- procedure RotRMD_SV_GT4(pa: plongint; va: plongint; ot: pdword; otlen, id, sclip, hclip, vclip, nclipmode: longint); stdcall; external;
- function p2otz(p, projection: longint): longint; stdcall; external;
- function otz2p(otz, projection: longint): longint; stdcall; external;
- implementation
- begin
- end.
|