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 }