annotate Renderer/DataPack/Test/SpanPack/polygonpack.h @ 503:516d5c91d5b4 draft double-linked-task-list

comment
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 11 Oct 2009 19:35:33 +0900
parents 587baff06cbc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11
587baff06cbc Initial revision
akira
parents:
diff changeset
1 #ifndef INCLUDE_POLYGON_PACK
587baff06cbc Initial revision
akira
parents:
diff changeset
2 #define INCLUDE_POLYGON_PACK
587baff06cbc Initial revision
akira
parents:
diff changeset
3
587baff06cbc Initial revision
akira
parents:
diff changeset
4
587baff06cbc Initial revision
akira
parents:
diff changeset
5 typedef struct vertex {
587baff06cbc Initial revision
akira
parents:
diff changeset
6 float x;
587baff06cbc Initial revision
akira
parents:
diff changeset
7 float y;
587baff06cbc Initial revision
akira
parents:
diff changeset
8 float z;
587baff06cbc Initial revision
akira
parents:
diff changeset
9 float tex_x;
587baff06cbc Initial revision
akira
parents:
diff changeset
10 float tex_y;
587baff06cbc Initial revision
akira
parents:
diff changeset
11 }Vertex, *Vertex_ptr;
587baff06cbc Initial revision
akira
parents:
diff changeset
12
587baff06cbc Initial revision
akira
parents:
diff changeset
13 typedef struct Triangle {
587baff06cbc Initial revision
akira
parents:
diff changeset
14 long *tex_addr, tex_width, tex_height;
587baff06cbc Initial revision
akira
parents:
diff changeset
15 Vertex ver1;
587baff06cbc Initial revision
akira
parents:
diff changeset
16 Vertex ver2;
587baff06cbc Initial revision
akira
parents:
diff changeset
17 Vertex ver3;
587baff06cbc Initial revision
akira
parents:
diff changeset
18 //float x1, y1, z1, tex_x1, tex_y1;
587baff06cbc Initial revision
akira
parents:
diff changeset
19 //float x2, y2, z2, tex_x2, tex_y2;
587baff06cbc Initial revision
akira
parents:
diff changeset
20 //float x3, y3, z3, tex_x3, tex_y3;
587baff06cbc Initial revision
akira
parents:
diff changeset
21 } TRIANGLEPACK, *TRIANGLEPACK_PTR;
587baff06cbc Initial revision
akira
parents:
diff changeset
22
587baff06cbc Initial revision
akira
parents:
diff changeset
23 typedef struct PolygonPack {
587baff06cbc Initial revision
akira
parents:
diff changeset
24 struct PORIGON_INFO {
587baff06cbc Initial revision
akira
parents:
diff changeset
25 int size;
587baff06cbc Initial revision
akira
parents:
diff changeset
26 int light_pos[3];
587baff06cbc Initial revision
akira
parents:
diff changeset
27 int light_rgb[3];
587baff06cbc Initial revision
akira
parents:
diff changeset
28 }info;
587baff06cbc Initial revision
akira
parents:
diff changeset
29 TRIANGLEPACK tri[16];
587baff06cbc Initial revision
akira
parents:
diff changeset
30 } POLYGONPACK,*POLYGONPACK_PTR;
587baff06cbc Initial revision
akira
parents:
diff changeset
31
587baff06cbc Initial revision
akira
parents:
diff changeset
32 typedef struct Span {
587baff06cbc Initial revision
akira
parents:
diff changeset
33 long tex_addr, tex_width, tex_height;
587baff06cbc Initial revision
akira
parents:
diff changeset
34 int x, y, length_x;
587baff06cbc Initial revision
akira
parents:
diff changeset
35 float start_z, end_z;
587baff06cbc Initial revision
akira
parents:
diff changeset
36 float tex_x1, tex_x2, tex_y1, tex_y2;
587baff06cbc Initial revision
akira
parents:
diff changeset
37 } SPAN, *SPNA_PTR;
587baff06cbc Initial revision
akira
parents:
diff changeset
38
587baff06cbc Initial revision
akira
parents:
diff changeset
39 typedef struct SpanPack {
587baff06cbc Initial revision
akira
parents:
diff changeset
40 struct PORIGON_INFO {
587baff06cbc Initial revision
akira
parents:
diff changeset
41 int size;
587baff06cbc Initial revision
akira
parents:
diff changeset
42 int light_pos[3];
587baff06cbc Initial revision
akira
parents:
diff changeset
43 int light_rgb[3];
587baff06cbc Initial revision
akira
parents:
diff changeset
44 } info;
587baff06cbc Initial revision
akira
parents:
diff changeset
45 SPAN span[16];
587baff06cbc Initial revision
akira
parents:
diff changeset
46 } SPANPACK, *SPANPACK_PTR;
587baff06cbc Initial revision
akira
parents:
diff changeset
47
587baff06cbc Initial revision
akira
parents:
diff changeset
48
587baff06cbc Initial revision
akira
parents:
diff changeset
49
587baff06cbc Initial revision
akira
parents:
diff changeset
50 class Polygon_Pack {
587baff06cbc Initial revision
akira
parents:
diff changeset
51 public:
587baff06cbc Initial revision
akira
parents:
diff changeset
52 int create_span(void *wbuf, void *rbuf);
587baff06cbc Initial revision
akira
parents:
diff changeset
53 void half_triangle(long *tex_addr,long tex_width,long tex_height,Vertex *vMin, Vertex *vMid, Vertex *vMid1);
587baff06cbc Initial revision
akira
parents:
diff changeset
54 };
587baff06cbc Initial revision
akira
parents:
diff changeset
55
587baff06cbc Initial revision
akira
parents:
diff changeset
56 #endif
587baff06cbc Initial revision
akira
parents:
diff changeset
57