資源簡介
基于 OpenGL的編程~~~
實驗一:畫顏色漸變的六角星
左鍵控制旋轉
右鍵控制停止
代碼片段和文件信息
#include?
static?GLfloat?angle?=?0.0;
float?a=0.8/3.0;
void?init(?void?)
{
glClearColor(?0.0?0.0?0.0?0.0?);
?glShadeModel(GL_SMOOTH);//選擇過渡效果,則兩點之間的顏色依次過渡
}
GLfloat?color[13][3]={
??{1.00.00.0}//red
??{21.00.0}//between?red?and?yellow洋紅色
??{1.01.00.0}//yellow
??{0.01.00.0}//green
??{0.01.00.0}//green
??{0.02.01.0}
??{0.01.01.0}//between?green?and?blue——青色
??{0.00.01.0}//blue
??{0.00.01.0}//blue
??{1.00.02.0}
??{1.00.01.0}//purple
??{1.00.00.0}//red
??{1.00.00.0}//red
??};
GLfloat?position[13][3]={
{00.50.5}
{-a/20.30.5}
{-0.40.30.5}
{-0.4+a/200.5}
{-0.4-0.30.5}
{-a/2-0.30.5}
{0-0.50.5}
{a/2-0.30.5}
{0.4-0.30.5}
{0.4-a/200.5}
{0.40.30.5}
{a/20.30.5}
{00.50.5}
};
void?Star()
{
??glBegin(GL_TRIANGLES);//三角形,通過畫12個三角形
??//glColor3f(1?1?1);//white
????for(int?i=0;i<12;i++){
glColor3f(1.01.01.0);//white
glVertex3f(000);
????glColor3f(color[i][0]color[i][1]color[i][2]);
????glVertex3f(position[i][0]position[i][1]position[i][2]);
glColor3f(color[i+1][0]color[i+1][1]color[i+1][2]);
????glVerte
- 上一篇:矢量量化的C語言實現
- 下一篇:QT 飛秋聊天工具 c++
評論
共有 條評論