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

📄 draw_holder.c

📁 嵌入式GUI OpenGL源代码。OpenGL是嵌入式开发中常用的一种GUI系统。
💻 C
📖 第 1 页 / 共 4 页
字号:
  glVertex3fv(bp[0][1]);
  glVertex3fv(bp[0][3]);
  glVertex3fv(bp[0][2]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[1]);
  glVertex3fv(bp[0][2]);
  glVertex3fv(bp[0][3]);
  glVertex3fv(bp[0][5]);
  glVertex3fv(bp[0][4]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[2]);
  glVertex3fv(bp[0][4]);
  glVertex3fv(bp[0][5]);
  glVertex3fv(bp[0][7]);
  glVertex3fv(bp[0][6]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[3]);
  glVertex3fv(bp[0][6]);
  glVertex3fv(bp[0][7]);
  glVertex3fv(bp[0][1]);
  glVertex3fv(bp[0][0]);
  glEnd();
  glBegin(GL_TRIANGLE_STRIP);
  glNormal3fv(bn[4]);
  glVertex3fv(bp[0][1]);
  glVertex3fv(bp[1][0]);
  glVertex3fv(bp[0][3]);
  glVertex3fv(bp[1][2]);
  glVertex3fv(bp[0][5]);
  glVertex3fv(bp[1][4]);
  glVertex3fv(bp[0][7]);
  glVertex3fv(bp[1][6]);
  glVertex3fv(bp[0][1]);
  glVertex3fv(bp[1][0]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[0]);
  glVertex3fv(bp[1][0]);
  glVertex3fv(bp[1][1]);
  glVertex3fv(bp[1][3]);
  glVertex3fv(bp[1][2]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[1]);
  glVertex3fv(bp[1][2]);
  glVertex3fv(bp[1][3]);
  glVertex3fv(bp[1][5]);
  glVertex3fv(bp[1][4]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[2]);
  glVertex3fv(bp[1][4]);
  glVertex3fv(bp[1][5]);
  glVertex3fv(bp[1][7]);
  glVertex3fv(bp[1][6]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[3]);
  glVertex3fv(bp[1][6]);
  glVertex3fv(bp[1][7]);
  glVertex3fv(bp[1][1]);
  glVertex3fv(bp[1][0]);
  glEnd();
  glBegin(GL_TRIANGLE_STRIP);
  glNormal3fv(bn[4]);
  glVertex3fv(bp[1][1]);
  glVertex3fv(bp[2][0]);
  glVertex3fv(bp[1][3]);
  glVertex3fv(bp[2][2]);
  glVertex3fv(bp[1][5]);
  glVertex3fv(bp[2][4]);
  glVertex3fv(bp[1][7]);
  glVertex3fv(bp[2][6]);
  glVertex3fv(bp[1][1]);
  glVertex3fv(bp[2][0]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[0]);
  glVertex3fv(bp[2][0]);
  glVertex3fv(bp[2][1]);
  glVertex3fv(bp[2][3]);
  glVertex3fv(bp[2][2]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[1]);
  glVertex3fv(bp[2][2]);
  glVertex3fv(bp[2][3]);
  glVertex3fv(bp[2][5]);
  glVertex3fv(bp[2][4]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[2]);
  glVertex3fv(bp[2][4]);
  glVertex3fv(bp[2][5]);
  glVertex3fv(bp[2][7]);
  glVertex3fv(bp[2][6]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[3]);
  glVertex3fv(bp[2][6]);
  glVertex3fv(bp[2][7]);
  glVertex3fv(bp[2][1]);
  glVertex3fv(bp[2][0]);
  glEnd();
  glBegin(GL_TRIANGLE_STRIP);
  glNormal3fv(bn[4]);
  glVertex3fv(bp[2][1]);
  glVertex3fv(bp[3][0]);
  glVertex3fv(bp[2][3]);
  glVertex3fv(bp[3][2]);
  glVertex3fv(bp[2][5]);
  glVertex3fv(bp[3][4]);
  glVertex3fv(bp[2][7]);
  glVertex3fv(bp[3][6]);
  glVertex3fv(bp[2][1]);
  glVertex3fv(bp[3][0]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[2]);
  glVertex3fv(bp[3][0]);
  glVertex3fv(bp[3][1]);
  glVertex3fv(bp[3][3]);
  glVertex3fv(bp[3][2]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[3]);
  glVertex3fv(bp[3][2]);
  glVertex3fv(bp[3][3]);
  glVertex3fv(bp[3][5]);
  glVertex3fv(bp[3][4]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[0]);
  glVertex3fv(bp[3][4]);
  glVertex3fv(bp[3][5]);
  glVertex3fv(bp[3][7]);
  glVertex3fv(bp[3][6]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[1]);
  glVertex3fv(bp[3][6]);
  glVertex3fv(bp[3][7]);
  glVertex3fv(bp[3][1]);
  glVertex3fv(bp[3][0]);
  glEnd();

  glBegin(GL_POLYGON);
  glNormal3fv(bn[4]);
  glVertex3fv(bp[3][1]);
  glVertex3fv(bp[3][3]);
  glVertex3fv(bp[3][5]);
  glVertex3fv(bp[3][7]);
  glEnd();
}

void draw_torus(void) {
  
  glCallList( MAT_HOLDER_RINGS);
  
  glBegin(GL_TRIANGLE_STRIP);
  glNormal3fv(tn[0][0]); glVertex3fv(tp[0][0]);
  glNormal3fv(tn[1][0]); glVertex3fv(tp[1][0]);
  glNormal3fv(tn[0][1]); glVertex3fv(tp[0][1]);
  glNormal3fv(tn[1][1]); glVertex3fv(tp[1][1]);
  glNormal3fv(tn[0][2]); glVertex3fv(tp[0][2]);
  glNormal3fv(tn[1][2]); glVertex3fv(tp[1][2]);
  glNormal3fv(tn[0][3]); glVertex3fv(tp[0][3]);
  glNormal3fv(tn[1][3]); glVertex3fv(tp[1][3]);
  glNormal3fv(tn[0][4]); glVertex3fv(tp[0][4]);
  glNormal3fv(tn[1][4]); glVertex3fv(tp[1][4]);
  glNormal3fv(tn[0][5]); glVertex3fv(tp[0][5]);
  glNormal3fv(tn[1][5]); glVertex3fv(tp[1][5]);
  glNormal3fv(tn[0][6]); glVertex3fv(tp[0][6]);
  glNormal3fv(tn[1][6]); glVertex3fv(tp[1][6]);
  glNormal3fv(tn[0][7]); glVertex3fv(tp[0][7]);
  glNormal3fv(tn[1][7]); glVertex3fv(tp[1][7]);
  glNormal3fv(tn[0][8]); glVertex3fv(tp[0][8]);
  glNormal3fv(tn[1][8]); glVertex3fv(tp[1][8]);
  glNormal3fv(tn[0][9]); glVertex3fv(tp[0][9]);
  glNormal3fv(tn[1][9]); glVertex3fv(tp[1][9]);
  glNormal3fv(tn[0][10]); glVertex3fv(tp[0][10]);
  glNormal3fv(tn[1][10]); glVertex3fv(tp[1][10]);
  glNormal3fv(tn[0][11]); glVertex3fv(tp[0][11]);
  glNormal3fv(tn[1][11]); glVertex3fv(tp[1][11]);
  glNormal3fv(tn[0][12]); glVertex3fv(tp[0][12]);
  glNormal3fv(tn[1][12]); glVertex3fv(tp[1][12]);
  glNormal3fv(tn[0][13]); glVertex3fv(tp[0][13]);
  glNormal3fv(tn[1][13]); glVertex3fv(tp[1][13]);
  glNormal3fv(tn[0][14]); glVertex3fv(tp[0][14]);
  glNormal3fv(tn[1][14]); glVertex3fv(tp[1][14]);
  glNormal3fv(tn[0][15]); glVertex3fv(tp[0][15]);
  glNormal3fv(tn[1][15]); glVertex3fv(tp[1][15]);
  glNormal3fv(tn[0][16]); glVertex3fv(tp[0][16]);
  glNormal3fv(tn[1][16]); glVertex3fv(tp[1][16]);
  glNormal3fv(tn[0][17]); glVertex3fv(tp[0][17]);
  glNormal3fv(tn[1][17]); glVertex3fv(tp[1][17]);
  glNormal3fv(tn[0][18]); glVertex3fv(tp[0][18]);
  glNormal3fv(tn[1][18]); glVertex3fv(tp[1][18]);
  glNormal3fv(tn[0][19]); glVertex3fv(tp[0][19]);
  glNormal3fv(tn[1][19]); glVertex3fv(tp[1][19]);
  glNormal3fv(tn[0][20]); glVertex3fv(tp[0][20]);
  glNormal3fv(tn[1][20]); glVertex3fv(tp[1][20]);
  glEnd();
  glBegin(GL_TRIANGLE_STRIP);
  glNormal3fv(tn[1][0]); glVertex3fv(tp[1][0]);
  glNormal3fv(tn[2][0]); glVertex3fv(tp[2][0]);
  glNormal3fv(tn[1][1]); glVertex3fv(tp[1][1]);
  glNormal3fv(tn[2][1]); glVertex3fv(tp[2][1]);
  glNormal3fv(tn[1][2]); glVertex3fv(tp[1][2]);
  glNormal3fv(tn[2][2]); glVertex3fv(tp[2][2]);
  glNormal3fv(tn[1][3]); glVertex3fv(tp[1][3]);
  glNormal3fv(tn[2][3]); glVertex3fv(tp[2][3]);
  glNormal3fv(tn[1][4]); glVertex3fv(tp[1][4]);
  glNormal3fv(tn[2][4]); glVertex3fv(tp[2][4]);
  glNormal3fv(tn[1][5]); glVertex3fv(tp[1][5]);
  glNormal3fv(tn[2][5]); glVertex3fv(tp[2][5]);
  glNormal3fv(tn[1][6]); glVertex3fv(tp[1][6]);
  glNormal3fv(tn[2][6]); glVertex3fv(tp[2][6]);
  glNormal3fv(tn[1][7]); glVertex3fv(tp[1][7]);
  glNormal3fv(tn[2][7]); glVertex3fv(tp[2][7]);
  glNormal3fv(tn[1][8]); glVertex3fv(tp[1][8]);
  glNormal3fv(tn[2][8]); glVertex3fv(tp[2][8]);
  glNormal3fv(tn[1][9]); glVertex3fv(tp[1][9]);
  glNormal3fv(tn[2][9]); glVertex3fv(tp[2][9]);
  glNormal3fv(tn[1][10]); glVertex3fv(tp[1][10]);
  glNormal3fv(tn[2][10]); glVertex3fv(tp[2][10]);
  glNormal3fv(tn[1][11]); glVertex3fv(tp[1][11]);
  glNormal3fv(tn[2][11]); glVertex3fv(tp[2][11]);
  glNormal3fv(tn[1][12]); glVertex3fv(tp[1][12]);
  glNormal3fv(tn[2][12]); glVertex3fv(tp[2][12]);
  glNormal3fv(tn[1][13]); glVertex3fv(tp[1][13]);
  glNormal3fv(tn[2][13]); glVertex3fv(tp[2][13]);
  glNormal3fv(tn[1][14]); glVertex3fv(tp[1][14]);
  glNormal3fv(tn[2][14]); glVertex3fv(tp[2][14]);
  glNormal3fv(tn[1][15]); glVertex3fv(tp[1][15]);
  glNormal3fv(tn[2][15]); glVertex3fv(tp[2][15]);
  glNormal3fv(tn[1][16]); glVertex3fv(tp[1][16]);
  glNormal3fv(tn[2][16]); glVertex3fv(tp[2][16]);
  glNormal3fv(tn[1][17]); glVertex3fv(tp[1][17]);
  glNormal3fv(tn[2][17]); glVertex3fv(tp[2][17]);
  glNormal3fv(tn[1][18]); glVertex3fv(tp[1][18]);
  glNormal3fv(tn[2][18]); glVertex3fv(tp[2][18]);
  glNormal3fv(tn[1][19]); glVertex3fv(tp[1][19]);
  glNormal3fv(tn[2][19]); glVertex3fv(tp[2][19]);
  glNormal3fv(tn[1][20]); glVertex3fv(tp[1][20]);
  glNormal3fv(tn[2][20]); glVertex3fv(tp[2][20]);
  glEnd();
  glBegin(GL_TRIANGLE_STRIP);
  glNormal3fv(tn[2][0]); glVertex3fv(tp[2][0]);
  glNormal3fv(tn[3][0]); glVertex3fv(tp[3][0]);
  glNormal3fv(tn[2][1]); glVertex3fv(tp[2][1]);
  glNormal3fv(tn[3][1]); glVertex3fv(tp[3][1]);
  glNormal3fv(tn[2][2]); glVertex3fv(tp[2][2]);
  glNormal3fv(tn[3][2]); glVertex3fv(tp[3][2]);
  glNormal3fv(tn[2][3]); glVertex3fv(tp[2][3]);
  glNormal3fv(tn[3][3]); glVertex3fv(tp[3][3]);
  glNormal3fv(tn[2][4]); glVertex3fv(tp[2][4]);
  glNormal3fv(tn[3][4]); glVertex3fv(tp[3][4]);
  glNormal3fv(tn[2][5]); glVertex3fv(tp[2][5]);
  glNormal3fv(tn[3][5]); glVertex3fv(tp[3][5]);
  glNormal3fv(tn[2][6]); glVertex3fv(tp[2][6]);
  glNormal3fv(tn[3][6]); glVertex3fv(tp[3][6]);
  glNormal3fv(tn[2][7]); glVertex3fv(tp[2][7]);
  glNormal3fv(tn[3][7]); glVertex3fv(tp[3][7]);
  glNormal3fv(tn[2][8]); glVertex3fv(tp[2][8]);
  glNormal3fv(tn[3][8]); glVertex3fv(tp[3][8]);
  glNormal3fv(tn[2][9]); glVertex3fv(tp[2][9]);
  glNormal3fv(tn[3][9]); glVertex3fv(tp[3][9]);
  glNormal3fv(tn[2][10]); glVertex3fv(tp[2][10]);
  glNormal3fv(tn[3][10]); glVertex3fv(tp[3][10]);
  glNormal3fv(tn[2][11]); glVertex3fv(tp[2][11]);
  glNormal3fv(tn[3][11]); glVertex3fv(tp[3][11]);
  glNormal3fv(tn[2][12]); glVertex3fv(tp[2][12]);
  glNormal3fv(tn[3][12]); glVertex3fv(tp[3][12]);
  glNormal3fv(tn[2][13]); glVertex3fv(tp[2][13]);
  glNormal3fv(tn[3][13]); glVertex3fv(tp[3][13]);
  glNormal3fv(tn[2][14]); glVertex3fv(tp[2][14]);
  glNormal3fv(tn[3][14]); glVertex3fv(tp[3][14]);
  glNormal3fv(tn[2][15]); glVertex3fv(tp[2][15]);
  glNormal3fv(tn[3][15]); glVertex3fv(tp[3][15]);
  glNormal3fv(tn[2][16]); glVertex3fv(tp[2][16]);
  glNormal3fv(tn[3][16]); glVertex3fv(tp[3][16]);
  glNormal3fv(tn[2][17]); glVertex3fv(tp[2][17]);
  glNormal3fv(tn[3][17]); glVertex3fv(tp[3][17]);
  glNormal3fv(tn[2][18]); glVertex3fv(tp[2][18]);
  glNormal3fv(tn[3][18]); glVertex3fv(tp[3][18]);
  glNormal3fv(tn[2][19]); glVertex3fv(tp[2][19]);
  glNormal3fv(tn[3][19]); glVertex3fv(tp[3][19]);
  glNormal3fv(tn[2][20]); glVertex3fv(tp[2][20]);
  glNormal3fv(tn[3][20]); glVertex3fv(tp[3][20]);
  glEnd();
  glBegin(GL_TRIANGLE_STRIP);
  glNormal3fv(tn[3][0]); glVertex3fv(tp[3][0]);
  glNormal3fv(tn[4][0]); glVertex3fv(tp[4][0]);
  glNormal3fv(tn[3][1]); glVertex3fv(tp[3][1]);
  glNormal3fv(tn[4][1]); glVertex3fv(tp[4][1]);
  glNormal3fv(tn[3][2]); glVertex3fv(tp[3][2]);
  glNormal3fv(tn[4][2]); glVertex3fv(tp[4][2]);
  glNormal3fv(tn[3][3]); glVertex3fv(tp[3][3]);
  glNormal3fv(tn[4][3]); glVertex3fv(tp[4][3]);
  glNormal3fv(tn[3][4]); glVertex3fv(tp[3][4]);
  glNormal3fv(tn[4][4]); glVertex3fv(tp[4][4]);
  glNormal3fv(tn[3][5]); glVertex3fv(tp[3][5]);
  glNormal3fv(tn[4][5]); glVertex3fv(tp[4][5]);
  glNormal3fv(tn[3][6]); glVertex3fv(tp[3][6]);
  glNormal3fv(tn[4][6]); glVertex3fv(tp[4][6]);
  glNormal3fv(tn[3][7]); glVertex3fv(tp[3][7]);
  glNormal3fv(tn[4][7]); glVertex3fv(tp[4][7]);
  glNormal3fv(tn[3][8]); glVertex3fv(tp[3][8]);
  glNormal3fv(tn[4][8]); glVertex3fv(tp[4][8]);
  glNormal3fv(tn[3][9]); glVertex3fv(tp[3][9]);
  glNormal3fv(tn[4][9]); glVertex3fv(tp[4][9]);
  glNormal3fv(tn[3][10]); glVertex3fv(tp[3][10]);
  glNormal3fv(tn[4][10]); glVertex3fv(tp[4][10]);
  glNormal3fv(tn[3][11]); glVertex3fv(tp[3][11]);
  glNormal3fv(tn[4][11]); glVertex3fv(tp[4][11]);
  glNormal3fv(tn[3][12]); glVertex3fv(tp[3][12]);
  glNormal3fv(tn[4][12]); glVertex3fv(tp[4][12]);
  glNormal3fv(tn[3][13]); glVertex3fv(tp[3][13]);
  glNormal3fv(tn[4][13]); glVertex3fv(tp[4][13]);
  glNormal3fv(tn[3][14]); glVertex3fv(tp[3][14]);
  glNormal3fv(tn[4][14]); glVertex3fv(tp[4][14]);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -