Mercurial > pidgin
comparison plugins/crazychat/draw.c @ 11218:ed017b9c532d
[gaim-migrate @ 13350]
crazychat commit, first one.
committer: Tailor Script <tailor@pidgin.im>
author | Charlie Stockman <chuckleberry> |
---|---|
date | Tue, 09 Aug 2005 07:10:23 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
11217:f854402837ba | 11218:ed017b9c532d |
---|---|
1 #include "righteye10.h" | |
2 | |
3 typedef struct _point{ | |
4 GLshort x; | |
5 GLshort y; | |
6 } Point; | |
7 | |
8 typedef struct Packet{ | |
9 Point mouthLeft; | |
10 Point mouthRight; | |
11 Point mouthTop; | |
12 Point mouthBottom; | |
13 Point eyeLeft; | |
14 Point eyeRight; | |
15 } Packet; | |
16 | |
17 #define NUM_EYE_FRAMES 10 | |
18 | |
19 GLint rightEyes[NUM_EYE_FRAMES]; | |
20 | |
21 void CalculateMouthPoints(GLshort[][][] ctrlpoints, struct Packet* p) | |
22 { | |
23 GLshort points[4][3]; | |
24 points[0][0]=p->mouthLeft.x; | |
25 points[0][1]=p->mouthLeft.y; | |
26 points[0][2]=front; | |
27 | |
28 points[1][0]=p->mouthBottom.x; | |
29 points[1][1]=p->mouthTop.y; | |
30 points[1][2]=front; | |
31 | |
32 points[2][0]=p->mouthRight.x; | |
33 points[2][1]=p->mouthRight.y; | |
34 points[2][2]=front; | |
35 | |
36 points[3][0]=p->mouthTop.x; | |
37 points[3][1]=p->mouthTop.y; | |
38 points[3][2]=front; | |
39 | |
40 ctrlpoints[0][0][0]=points[0][0]; | |
41 ctrlpoints[0][0][1]=points[0][1]; | |
42 ctrlpoints[0][0][2]=points[0][2]; | |
43 | |
44 ctrlpoints[0][1][0]=points[1][0]; | |
45 ctrlpoints[0][1][1]=points[1][1]; | |
46 ctrlpoints[0][1][2]=points[1][2]; | |
47 | |
48 ctrlpoints[0][2][0]=points[2][0]; | |
49 ctrlpoints[0][2][1]=points[2][1]; | |
50 ctrlpoints[0][2][2]=points[2][2]; | |
51 | |
52 ctrlpoints[1][0][0]=points[0][0]; | |
53 ctrlpoints[1][0][1]=points[0][1]; | |
54 ctrlpoints[1][0][2]=points[0][2]; | |
55 | |
56 ctrlpoints[1][1][0]=0; | |
57 ctrlpoints[1][1][1]=0; | |
58 ctrlpoints[1][1][2]=back; | |
59 | |
60 ctrlpoints[1][2][0]=points[2][0]; | |
61 ctrlpoints[1][2][1]=points[2][1]; | |
62 ctrlpoints[1][2][2]=points[2][2]; | |
63 | |
64 ctrlpoints[2][0][0]=points[0][0]; | |
65 ctrlpoints[2][0][1]=points[0][1]; | |
66 ctrlpoints[2][0][2]=points[0][2]; | |
67 | |
68 ctrlpoints[2][1][0]=points[3][0]; | |
69 ctrlpoints[2][1][1]=points[3][1]; | |
70 ctrlpoints[2][1][2]=points[3][2]; | |
71 | |
72 ctrlpoints[2][2][0]=points[2][0]; | |
73 ctrlpoints[2][2][1]=points[2][1]; | |
74 ctrlpoints[2][2][2]=points[2][2]; | |
75 } | |
76 | |
77 void drawMouth(struct Packet* p) | |
78 { | |
79 GLshort[4][3][3] ctrlpoints; | |
80 CalculateMouthPoints(ctrlpoints, p); | |
81 | |
82 glMap2f(GL_MAP2_VERTEX_3, 0, 10, 3, 3, 0.0, 10.0, 9, 3, &ctrlpoints[0][0][0]); | |
83 glEnable(GL_MAP2_VERTEX_3); | |
84 glMapGrid2f(10, 0, 10, 10, 0, 10); | |
85 glEnable(GL_AUTO_NORMAL); | |
86 glEvalMesh2(GL_FILL, 0, 10, 0, 10); | |
87 } | |
88 | |
89 void initEyes(){ | |
90 | |
91 | |
92 void drawEyes(struct Packet* p){ | |
93 GLshort eye[3][3][3]; | |
94 CalculateEyePoints(eye, p, LEFT); | |
95 glMap2f(GL_MAP2_VERTEX_3, 0, 10, 3, 3, 0.0, 10.0, 9, 3, &eyep[0][0][0]); | |
96 glMapGrid2f(10, 0, 10, 10, 0, 10); | |
97 glEvalMesh2(GL_FILL, 0, 10, 0, 10); | |
98 | |
99 CalculateEyePoints(eye, p, RIGHT); | |
100 glMap2f(GL_MAP2_VERTEX_3, 0, 10, 3, 3, 0.0, 10.0, 9, 3, &eyep[0][0][0]); | |
101 glMapGrid2f(10, 0, 10, 10, 0, 10); | |
102 glEvalMesh2(GL_FILL, 0, 10, 0, 10); | |
103 | |
104 } | |
105 | |
106 void drawHead(struct Packet* p){ | |
107 } |