📄 draw_lamp.c
字号:
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
},
{
{0.707107, 0.000000, 0.707107},
{0.683013, -0.183013, 0.707107},
{0.612372, -0.353553, 0.707107},
{0.500000, -0.500000, 0.707107},
{0.353553, -0.612372, 0.707107},
{0.183013, -0.683013, 0.707107},
{0.000000, -0.707107, 0.707107},
{-0.183013, -0.683013, 0.707107},
{-0.353553, -0.612372, 0.707107},
{-0.500000, -0.500000, 0.707107},
{-0.612372, -0.353553, 0.707107},
{-0.683013, -0.183013, 0.707107},
{-0.707107, 0.000000, 0.707107},
{-0.683013, 0.183013, 0.707107},
{-0.612372, 0.353553, 0.707107},
{-0.500000, 0.500000, 0.707107},
{-0.353553, 0.612372, 0.707107},
{-0.183013, 0.683013, 0.707107},
{0.000000, 0.707107, 0.707107},
{0.183013, 0.683013, 0.707107},
{0.353553, 0.612372, 0.707107},
{0.500000, 0.500000, 0.707107},
{0.612372, 0.353553, 0.707107},
{0.683013, 0.183013, 0.707107},
{0.707107, 0.000000, 0.707107},
},
{
{1.000000, 0.000000, 0.000000},
{0.965926, -0.258819, 0.000000},
{0.866025, -0.500000, 0.000000},
{0.707107, -0.707107, 0.000000},
{0.500000, -0.866025, 0.000000},
{0.258819, -0.965926, 0.000000},
{0.000000, -1.000000, 0.000000},
{-0.258819, -0.965926, 0.000000},
{-0.500000, -0.866025, 0.000000},
{-0.707107, -0.707107, 0.000000},
{-0.866025, -0.500000, 0.000000},
{-0.965926, -0.258819, 0.000000},
{-1.000000, 0.000000, 0.000000},
{-0.965926, 0.258819, 0.000000},
{-0.866025, 0.500000, 0.000000},
{-0.707107, 0.707107, 0.000000},
{-0.500000, 0.866025, 0.000000},
{-0.258819, 0.965926, 0.000000},
{0.000000, 1.000000, 0.000000},
{0.258819, 0.965926, 0.000000},
{0.500000, 0.866025, 0.000000},
{0.707107, 0.707107, 0.000000},
{0.866025, 0.500000, 0.000000},
{0.965926, 0.258819, 0.000000},
{1.000000, 0.000000, 0.000000},
},
{
{0.707107, 0.000000, -0.707107},
{0.683013, -0.183013, -0.707107},
{0.612372, -0.353553, -0.707107},
{0.500000, -0.500000, -0.707107},
{0.353553, -0.612372, -0.707107},
{0.183013, -0.683013, -0.707107},
{0.000000, -0.707107, -0.707107},
{-0.183013, -0.683013, -0.707107},
{-0.353553, -0.612372, -0.707107},
{-0.500000, -0.500000, -0.707107},
{-0.612372, -0.353553, -0.707107},
{-0.683013, -0.183013, -0.707107},
{-0.707107, 0.000000, -0.707107},
{-0.683013, 0.183013, -0.707107},
{-0.612372, 0.353553, -0.707107},
{-0.500000, 0.500000, -0.707107},
{-0.353553, 0.612372, -0.707107},
{-0.183013, 0.683013, -0.707107},
{0.000000, 0.707107, -0.707107},
{0.183013, 0.683013, -0.707107},
{0.353553, 0.612372, -0.707107},
{0.500000, 0.500000, -0.707107},
{0.612372, 0.353553, -0.707107},
{0.683013, 0.183013, -0.707107},
{0.707107, 0.000000, -0.707107},
},
{
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
{0.000000, 0.000000, -1.000000},
},
{
{-0.707107, 0.000000, -0.707107},
{-0.683013, 0.183013, -0.707107},
{-0.612372, 0.353553, -0.707107},
{-0.500000, 0.500000, -0.707107},
{-0.353553, 0.612372, -0.707107},
{-0.183013, 0.683013, -0.707107},
{0.000000, 0.707107, -0.707107},
{0.183013, 0.683013, -0.707107},
{0.353553, 0.612372, -0.707107},
{0.500000, 0.500000, -0.707107},
{0.612372, 0.353553, -0.707107},
{0.683013, 0.183013, -0.707107},
{0.707107, 0.000000, -0.707107},
{0.683013, -0.183013, -0.707107},
{0.612372, -0.353553, -0.707107},
{0.500000, -0.500000, -0.707107},
{0.353553, -0.612372, -0.707107},
{0.183013, -0.683013, -0.707107},
{0.000000, -0.707107, -0.707107},
{-0.183013, -0.683013, -0.707107},
{-0.353553, -0.612372, -0.707107},
{-0.500000, -0.500000, -0.707107},
{-0.612372, -0.353553, -0.707107},
{-0.683013, -0.183013, -0.707107},
{-0.707107, 0.000000, -0.707107},
},
{
{-1.000000, 0.000000, 0.000000},
{-0.965926, 0.258819, 0.000000},
{-0.866025, 0.500000, 0.000000},
{-0.707107, 0.707107, 0.000000},
{-0.500000, 0.866025, 0.000000},
{-0.258819, 0.965926, 0.000000},
{0.000000, 1.000000, 0.000000},
{0.258819, 0.965926, 0.000000},
{0.500000, 0.866025, 0.000000},
{0.707107, 0.707107, 0.000000},
{0.866025, 0.500000, 0.000000},
{0.965926, 0.258819, 0.000000},
{1.000000, 0.000000, 0.000000},
{0.965926, -0.258819, 0.000000},
{0.866025, -0.500000, 0.000000},
{0.707107, -0.707107, 0.000000},
{0.500000, -0.866025, 0.000000},
{0.258819, -0.965926, 0.000000},
{0.000000, -1.000000, 0.000000},
{-0.258819, -0.965926, 0.000000},
{-0.500000, -0.866025, 0.000000},
{-0.707107, -0.707107, 0.000000},
{-0.866025, -0.500000, 0.000000},
{-0.965926, -0.258819, 0.000000},
{-1.000000, 0.000000, 0.000000},
},
{
{-0.707107, 0.000000, 0.707107},
{-0.683013, 0.183013, 0.707107},
{-0.612372, 0.353553, 0.707107},
{-0.500000, 0.500000, 0.707107},
{-0.353553, 0.612372, 0.707107},
{-0.183013, 0.683013, 0.707107},
{0.000000, 0.707107, 0.707107},
{0.183013, 0.683013, 0.707107},
{0.353553, 0.612372, 0.707107},
{0.500000, 0.500000, 0.707107},
{0.612372, 0.353553, 0.707107},
{0.683013, 0.183013, 0.707107},
{0.707107, 0.000000, 0.707107},
{0.683013, -0.183013, 0.707107},
{0.612372, -0.353553, 0.707107},
{0.500000, -0.500000, 0.707107},
{0.353553, -0.612372, 0.707107},
{0.183013, -0.683013, 0.707107},
{0.000000, -0.707107, 0.707107},
{-0.183013, -0.683013, 0.707107},
{-0.353553, -0.612372, 0.707107},
{-0.500000, -0.500000, 0.707107},
{-0.612372, -0.353553, 0.707107},
{-0.683013, -0.183013, 0.707107},
{-0.707107, 0.000000, 0.707107},
},
{
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
{0.000000, 0.000000, 1.000000},
},
};
void draw_hemisphere(void) {
glCallList(MAT_HEMISPHERE);
glEnable(GL_LIGHTING);
/* CF damn! */
/* glEnable(GL_NORMALIZE); */
glBegin(GL_TRIANGLE_STRIP);
glNormal3fv(hp[0][0]); glVertex3fv(hp[0][0]);
glNormal3fv(hp[1][0]); glVertex3fv(hp[1][0]);
glNormal3fv(hp[0][1]); glVertex3fv(hp[0][1]);
glNormal3fv(hp[1][1]); glVertex3fv(hp[1][1]);
glNormal3fv(hp[0][2]); glVertex3fv(hp[0][2]);
glNormal3fv(hp[1][2]); glVertex3fv(hp[1][2]);
glNormal3fv(hp[0][3]); glVertex3fv(hp[0][3]);
glNormal3fv(hp[1][3]); glVertex3fv(hp[1][3]);
glNormal3fv(hp[0][4]); glVertex3fv(hp[0][4]);
glNormal3fv(hp[1][4]); glVertex3fv(hp[1][4]);
glNormal3fv(hp[0][5]); glVertex3fv(hp[0][5]);
glNormal3fv(hp[1][5]); glVertex3fv(hp[1][5]);
glNormal3fv(hp[0][6]); glVertex3fv(hp[0][6]);
glNormal3fv(hp[1][6]); glVertex3fv(hp[1][6]);
glNormal3fv(hp[0][7]); glVertex3fv(hp[0][7]);
glNormal3fv(hp[1][7]); glVertex3fv(hp[1][7]);
glNormal3fv(hp[0][8]); glVertex3fv(hp[0][8]);
glNormal3fv(hp[1][8]); glVertex3fv(hp[1][8]);
glNormal3fv(hp[0][9]); glVertex3fv(hp[0][9]);
glNormal3fv(hp[1][9]); glVertex3fv(hp[1][9]);
glNormal3fv(hp[0][10]); glVertex3fv(hp[0][10]);
glNormal3fv(hp[1][10]); glVertex3fv(hp[1][10]);
glNormal3fv(hp[0][11]); glVertex3fv(hp[0][11]);
glNormal3fv(hp[1][11]); glVertex3fv(hp[1][11]);
glNormal3fv(hp[0][12]); glVertex3fv(hp[0][12]);
glNormal3fv(hp[1][12]); glVertex3fv(hp[1][12]);
glEnd();
glBegin(GL_TRIANGLE_STRIP);
glNormal3fv(hp[1][0]); glVertex3fv(hp[1][0]);
glNormal3fv(hp[2][0]); glVertex3fv(hp[2][0]);
glNormal3fv(hp[1][1]); glVertex3fv(hp[1][1]);
glNormal3fv(hp[2][1]); glVertex3fv(hp[2][1]);
glNormal3fv(hp[1][2]); glVertex3fv(hp[1][2]);
glNormal3fv(hp[2][2]); glVertex3fv(hp[2][2]);
glNormal3fv(hp[1][3]); glVertex3fv(hp[1][3]);
glNormal3fv(hp[2][3]); glVertex3fv(hp[2][3]);
glNormal3fv(hp[1][4]); glVertex3fv(hp[1][4]);
glNormal3fv(hp[2][4]); glVertex3fv(hp[2][4]);
glNormal3fv(hp[1][5]); glVertex3fv(hp[1][5]);
glNormal3fv(hp[2][5]); glVertex3fv(hp[2][5]);
glNormal3fv(hp[1][6]); glVertex3fv(hp[1][6]);
glNormal3fv(hp[2][6]); glVertex3fv(hp[2][6]);
glNormal3fv(hp[1][7]); glVertex3fv(hp[1][7]);
glNormal3fv(hp[2][7]); glVertex3fv(hp[2][7]);
glNormal3fv(hp[1][8]); glVertex3fv(hp[1][8]);
glNormal3fv(hp[2][8]); glVertex3fv(hp[2][8]);
glNormal3fv(hp[1][9]); glVertex3fv(hp[1][9]);
glNormal3fv(hp[2][9]); glVertex3fv(hp[2][9]);
glNormal3fv(hp[1][10]); glVertex3fv(hp[1][10]);
glNormal3fv(hp[2][10]); glVertex3fv(hp[2][10]);
glNormal3fv(hp[1][11]); glVertex3fv(hp[1][11]);
glNormal3fv(hp[2][11]); glVertex3fv(hp[2][11]);
glNormal3fv(hp[1][12]); glVertex3fv(hp[1][12]);
glNormal3fv(hp[2][12]); glVertex3fv(hp[2][12]);
glEnd();
glBegin(GL_TRIANGLE_STRIP);
glNormal3fv(hp[2][0]); glVertex3fv(hp[2][0]);
glNormal3fv(hp[3][0]); glVertex3fv(hp[3][0]);
glNormal3fv(hp[2][1]); glVertex3fv(hp[2][1]);
glNormal3fv(hp[3][1]); glVertex3fv(hp[3][1]);
glNormal3fv(hp[2][2]); glVertex3fv(hp[2][2]);
glNormal3fv(hp[3][2]); glVertex3fv(hp[3][2]);
glNormal3fv(hp[2][3]); glVertex3fv(hp[2][3]);
glNormal3fv(hp[3][3]); glVertex3fv(hp[3][3]);
glNormal3fv(hp[2][4]); glVertex3fv(hp[2][4]);
glNormal3fv(hp[3][4]); glVertex3fv(hp[3][4]);
glNormal3fv(hp[2][5]); glVertex3fv(hp[2][5]);
glNormal3fv(hp[3][5]); glVertex3fv(hp[3][5]);
glNormal3fv(hp[2][6]); glVertex3fv(hp[2][6]);
glNormal3fv(hp[3][6]); glVertex3fv(hp[3][6]);
glNormal3fv(hp[2][7]); glVertex3fv(hp[2][7]);
glNormal3fv(hp[3][7]); glVertex3fv(hp[3][7]);
glNormal3fv(hp[2][8]); glVertex3fv(hp[2][8]);
glNormal3fv(hp[3][8]); glVertex3fv(hp[3][8]);
glNormal3fv(hp[2][9]); glVertex3fv(hp[2][9]);
glNormal3fv(hp[3][9]); glVertex3fv(hp[3][9]);
glNormal3fv(hp[2][10]); glVertex3fv(hp[2][10]);
glNormal3fv(hp[3][10]); glVertex3fv(hp[3][10]);
glNormal3fv(hp[2][11]); glVertex3fv(hp[2][11]);
glNormal3fv(hp[3][11]); glVertex3fv(hp[3][11]);
glNormal3fv(hp[2][12]); glVertex3fv(hp[2][12]);
glNormal3fv(hp[3][12]); glVertex3fv(hp[3][12]);
glEnd();
glBegin(GL_TRIANGLE_STRIP);
glNormal3fv(hp[3][0]); glVertex3fv(hp[3][0]);
glNormal3fv(hp[4][0]); glVertex3fv(hp[4][0]);
glNormal3fv(hp[3][1]); glVertex3fv(hp[3][1]);
glNormal3fv(hp[4][1]); glVertex3fv(hp[4][1]);
glNormal3fv(hp[3][2]); glVertex3fv(hp[3][2]);
glNormal3fv(hp[4][2]); glVertex3fv(hp[4][2]);
glNormal3fv(hp[3][3]); glVertex3fv(hp[3][3]);
glNormal3fv(hp[4][3]); glVertex3fv(hp[4][3]);
glNormal3fv(hp[3][4]); glVertex3fv(hp[3][4]);
glNormal3fv(hp[4][4]); glVertex3fv(hp[4][4]);
glNormal3fv(hp[3][5]); glVertex3fv(hp[3][5]);
glNormal3fv(hp[4][5]); glVertex3fv(hp[4][5]);
glNormal3fv(hp[3][6]); glVertex3fv(hp[3][6]);
glNormal3fv(hp[4][6]); glVertex3fv(hp[4][6]);
glNormal3fv(hp[3][7]); glVertex3fv(hp[3][7]);
glNormal3fv(hp[4][7]); glVertex3fv(hp[4][7]);
glNormal3fv(hp[3][8]); glVertex3fv(hp[3][8]);
glNormal3fv(hp[4][8]); glVertex3fv(hp[4][8]);
glNormal3fv(hp[3][9]); glVertex3fv(hp[3][9]);
glNormal3fv(hp[4][9]); glVertex3fv(hp[4][9]);
glNormal3fv(hp[3][10]); glVertex3fv(hp[3][10]);
glNormal3fv(hp[4][10]); glVertex3fv(hp[4][10]);
glNormal3fv(hp[3][11]); glVertex3fv(hp[3][11]);
glNormal3fv(hp[4][11]); glVertex3fv(hp[4][11]);
glNormal3fv(hp[3][12]); glVertex3fv(hp[3][12]);
glNormal3fv(hp[4][12]); glVertex3fv(hp[4][12]);
glEnd();
glBegin(GL_TRIANGLE_STRIP);
glNormal3fv(hp[4][0]); glVertex3fv(hp[4][0]);
glNormal3fv(hp[5][0]); glVertex3fv(hp[5][0]);
glNormal3fv(hp[4][1]); glVertex3fv(hp[4][1]);
glNormal3fv(hp[5][1]); glVertex3fv(hp[5][1]);
glNormal3fv(hp[4][2]); glVertex3fv(hp[4][2]);
glNormal3fv(hp[5][2]); glVertex3fv(hp[5][2]);
glNormal3fv(hp[4][3]); glVertex3fv(hp[4][3]);
glNormal3fv(hp[5][3]); glVertex3fv(hp[5][3]);
glNormal3fv(hp[4][4]); glVertex3fv(hp[4][4]);
glNormal3fv(hp[5][4]); glVertex3fv(hp[5][4]);
glNormal3fv(hp[4][5]); glVertex3fv(hp[4][5]);
glNormal3fv(hp[5][5]); glVertex3fv(hp[5][5]);
glNormal3fv(hp[4][6]); glVertex3fv(hp[4][6]);
glNormal3fv(hp[5][6]); glVertex3fv(hp[5][6]);
glNormal3fv(hp[4][7]); glVertex3fv(hp[4][7]);
glNormal3fv(hp[5][7]); glVertex3fv(hp[5][7]);
glNormal3fv(hp[4][8]); glVertex3fv(hp[4][8]);
glNormal3fv(hp[5][8]); glVertex3fv(hp[5][8]);
glNormal3fv(hp[4][9]); glVertex3fv(hp[4][9]);
glNormal3fv(hp[5][9]); glVertex3fv(hp[5][9]);
glNormal3fv(hp[4][10]); glVertex3fv(hp[4][10]);
glNormal3fv(hp[5][10]); glVertex3fv(hp[5][10]);
glNormal3fv(hp[4][11]); glVertex3fv(hp[4][11]);
glNormal3fv(hp[5][11]); glVertex3fv(hp[5][11]);
glNormal3fv(hp[4][12]); glVertex3fv(hp[4][12]);
glNormal3fv(hp[5][12]); glVertex3fv(hp[5][12]);
glEnd();
glDisable(GL_LIGHTING);
glColor3ub(255, 255, 255);
glBegin(GL_POLYGON);
glVertex3fv(hp[5][0]);
glVertex3fv(hp[5][1]);
glVertex3fv(hp[5][2]);
glVertex3fv(hp[5][3]);
glVertex3fv(hp[5][4]);
glVertex3fv(hp[5][5]);
glVertex3fv(hp[5][6]);
glVertex3fv(hp[5][7]);
glVertex3fv(hp[5][8]);
glVertex3fv(hp[5][9]);
glVertex3fv(hp[5][10]);
glVertex3fv(hp[5][11]);
glEnd();
/* CF damn! */
/* glDisable(GL_NORMALIZE); */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -