⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 draw_lamp.c

📁 嵌入式GUI OpenGL源代码。OpenGL是嵌入式开发中常用的一种GUI系统。
💻 C
📖 第 1 页 / 共 2 页
字号:
	{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 + -