• 大小: 1.2MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-05
  • 语言: C/C++
  • 标签: OpenGL  五角星  VC6.0  

资源简介

文件直接使用VC6.0打开工作空间调试运行,利用OpenGL绘制的五角星并填充颜色,代码简单好理解,适合新手学习

资源截图

代码片段和文件信息

#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  双色五角星填充\Debug\star2.exe

     文件     326516  2018-05-23 17:02  双色五角星填充\Debug\star2.ilk

     文件      18303  2018-05-23 17:02  双色五角星填充\Debug\star2.obj

     文件    3689364  2018-05-23 17:02  双色五角星填充\Debug\star2.pch

     文件     484352  2018-05-23 17:02  双色五角星填充\Debug\star2.pdb

     文件     148480  2018-06-06 16:27  双色五角星填充\Debug\vc60.idb

     文件      77824  2018-05-23 17:02  双色五角星填充\Debug\vc60.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


评论

共有 条评论