文件直接使用VC6.0打开工作空间调试运行,利用OpenGL绘制的五角星并填充颜色,代码简单好理解,适合新手学习
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 233557 2018-05-23 17:02 双色五角星填充Debugstar2.exe
文件 326516 2018-05-23 17:02 双色五角星填充Debugstar2.ilk
文件 18303 2018-05-23 17:02 双色五角星填充Debugstar2.obj
文件 3689364 2018-05-23 17:02 双色五角星填充Debugstar2.pch
文件 484352 2018-05-23 17:02 双色五角星填充Debugstar2.pdb
文件 148480 2018-06-06 16:27 双色五角星填充Debugvc60.idb
文件 77824 2018-05-23 17:02 双色五角星填充Debugvc60.pdb
文件 2646 2018-05-23 17:02 双色五角星填充star2.cpp
文件 3389 2018-05-17 21:08 双色五角星填充star2.dsp
文件 518 2018-05-17 21:08 双色五角星填充star2.dsw
文件 41984 2018-06-06 16:28 双色五角星填充star2.ncb
文件 48640 2018-06-06 16:28 双色五角星填充star2.opt
文件 244 2018-06-06 16:27 双色五角星填充star2.plg
目录 0 2019-03-29 10:20 双色五角星填充Debug
目录 0 2019-03-29 10:20 双色五角星填充
----------- --------- ---------- ----- ----
5075817 15
#include
#include
#include
#include
#include
#include
#include
//添加这3条语句
#pragma comment (lib “opengl32.lib“)
#pragma comment (lib “glu32.lib“)
#pragma comment (lib “glaux.lib“)
#pragma comment( linker “/subsystem:“windows“ /entry:“mainCRTStartup““ ) //这句是不让控制台窗体出现,如果想要出现,去掉即可。
const GLfloat Pi = 3.1415926536f; //定义Pi值
float X[5] Y[5]; //用数组声明5组坐标,外圈坐标
float X1[5] Y1[5];//内圈坐标
float X2[5] Y2[5];
int R=150 ; //定义半径偏转角度
void init()
{
glClearColor(0.00.00.01.0);//黑色背景
// glClearColor(1.0 1.0 1.0 0.0); //设置背景颜色
}
//绘制图形函数
float r=1g=0b=0x=0y=0;
//绘制图形函数
void CALLBACK draw()
{
int x=250 y=400;
X2[0]=x;Y2[0]=y;
for (int q = 0; q <= 4; q++)
{
//在外圆上初始化5个坐标点
X[q] = x+R*cos((q*2)*Pi / 5);
Y[q] = y+R*sin((q*2)*Pi / 5);
}
for(int w = 0;w <= 4; w++)
{
//在外圆上初始化5个坐标点
X1[w] = x+0.4*R*cos((w*2)*Pi / 5+72*Pi/360);
Y1[w] = y+0.4*R*sin((w*2)*Pi / 5+72*Pi/360);
}
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.00.00.0); //红色
glBegin(GL_TRIANGLES); //按照顺序开始画线,AI->IB->BG->...->FA
//1
glVertex2f(X2[0] Y2[0]);
glVertex2f(X[0] Y[0]);
glVertex2f(X1[0] Y1[0]);
//3
glVertex2f(X2[0] Y2[0]);
glVertex2f(X[1] Y[1]);
glVertex2f(X1[1] Y1[1]);
//5
glVertex2f(X2[0] Y2[0]);
glVertex2f(X[2] Y[2]);
glVertex2f(X1[2] Y1[2]);
//7
glVertex2f(X2[0] Y2[0]);
glVertex2f(X[3] Y[3]);
glVertex2f(X1[3] Y1[3]);
//9
glVertex2f(X2[0] Y2[0]);
glVertex2f(X[4] Y[4]);
glVertex2f(X1[4] Y1[4]);
glColor3f(1.01.00.0); //黄色
glBegin(GL_TRIANGLES);
//2
glVertex2f(X2[0] Y2[0]);
glVertex2f(X1[0] Y1[0]);
glVertex2f(X[1] Y[1]);
//4
glVertex2f(X2[0] Y2[0]);
glVertex2f(X1[1] Y1[1]);
glVertex2f(X[2] Y[2]);
//6
glVertex2f(X2[0] Y2[0]);
glVertex2f(X1[2] Y1[2]);
glVertex2f(X[3] Y[3]);
//8
glVertex2f(X2[0] Y2[0]);
glVertex2f(X1[3] Y1[3]);
glVertex2f(X[4] Y[4]);
//10
glVertex2f(X2[0] Y2[0]);
glVertex2f(X1[4] Y1[4]);
glVertex2f(X[0] Y[0]);
glEnd();
glFinish();//强制之前的绘图函数执行
}
//主函数
void main()
{
auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
auxInitPosition(100100700700);
auxInitWindow(“CGOpenGL“);
init();
// auxIdleFunc(change);//一定要在auxMainLoop前面
auxMainLoop(draw);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 233557 2018-05-23 17:02 双色五角星填充Debugstar2.exe
文件 326516 2018-05-23 17:02 双色五角星填充Debugstar2.ilk
文件 18303 2018-05-23 17:02 双色五角星填充Debugstar2.obj
文件 3689364 2018-05-23 17:02 双色五角星填充Debugstar2.pch
文件 484352 2018-05-23 17:02 双色五角星填充Debugstar2.pdb
文件 148480 2018-06-06 16:27 双色五角星填充Debugvc60.idb
文件 77824 2018-05-23 17:02 双色五角星填充Debugvc60.pdb
文件 2646 2018-05-23 17:02 双色五角星填充star2.cpp
文件 3389 2018-05-17 21:08 双色五角星填充star2.dsp
文件 518 2018-05-17 21:08 双色五角星填充star2.dsw
文件 41984 2018-06-06 16:28 双色五角星填充star2.ncb
文件 48640 2018-06-06 16:28 双色五角星填充star2.opt
文件 244 2018-06-06 16:27 双色五角星填充star2.plg
目录 0 2019-03-29 10:20 双色五角星填充Debug
目录 0 2019-03-29 10:20 双色五角星填充
----------- --------- ---------- ----- ----
5075817 15
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)