• 大小: 3.07MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-12
  • 语言: 其他
  • 标签: Opengl  程序  时钟  

资源简介

图形图像课程设计,运用opengl做的时钟,基于WIN32环境。

资源截图

代码片段和文件信息


#define GLUT_DISABLE_ATEXIT_HACK

#pragma comment(lib “glaux.lib“)
#include “gl\glaux.h“
#include 
#include 
#include 
#include 
#include      //获取系统时间
using namespace std ;
#define circleDispList 1
#define PI 3.14
int hourminutesecond;
int currentClock=1; //当前时钟初始化为第一个
#define TEXNUM     1  //创建的纹理ID个数
GLuint texobject[TEXNUM];//存储创建的纹理ID的数组
AUX_RGBImageRec* img;    //图像的纹理储存

//Scroll
void waibian()
{
glEnable(GL_TEXTURE_2D); //启动二维纹理
glTexEnvi(GL_TEXTURE_ENVGL_TEXTURE_ENV_MODE GL_REPLACE);//设置纹理参数
glBindTexture(GL_TEXTURE_2D texobject[0]);//绑定纹理,载入所选图片
glBegin(GL_POLYGON);//参数指定绘制图元的方式
glTexCoord2f(00);     //纹理坐标
glVertex2f(-1-1);//对应的矩形坐标
glTexCoord2f(-01);
glVertex2f(-11);
glTexCoord2f(11);
glVertex2f(11);
glTexCoord2f(10);
glVertex2f(1-1);
glEnd();
glDisable(GL_TEXTURE_2D);
}


void Circle() //时钟外圆及刻度点的绘画
{
glNewList(circleDispListGL_COMPILE);//显示列表circleDispList用来保存分配的显示列表的索引,显示列表是用来存储和执行
glColor3f(101);
glPointSize(3);
glBegin(GL_POINTS);//单个顶点集,这些顶点的集合组成一个圆
for (int i=0;i<=1000;i++)
{
float x=cos(i)/2y=sin(i)/2;
glVertex2f(xy);
}
glEnd();

glPointSize(6);       //时钟的刻度
glColor3f(000);
glBegin(GL_POINTS);
for (int j=0;j<=360;j+=30)
{
float t=j*PI/180;// t为弧度
float x=cos(t)*0.9/2y=sin(t)*0.9/2;
glVertex2f(xy);
}
glEnd();

glEndList();
}

void Pointer(int currentClock) //时钟指针的绘画
{

time_t t1=time(0);//获取当前系统时间
    float theta0=0theta1=0theta2=0;//定义时钟的三根针的旋转角度(弧度值)
theta0=6*localtime(&t1)->tm_sec*2*PI/360;//分离出秒针的逆时针旋转角度
theta1=6*localtime(&t1)->tm_min*2*PI/360+theta0/60;//分离出分针的逆时针旋转角度
    theta2=30*localtime(&t1)->tm_hour*2*PI/360+theta1/12;//分离出时针的逆时针旋转角度

glColor3f(001);//秒针
glLineWidth(2);
glBegin(GL_LINES);
glVertex2f(00);
glVertex2f(0.45*sin(theta0)0.45*cos(theta0));
glEnd();

glColor3f(010); //分针
glLineWidth(3);  
glLineWidth(2);
glBegin(GL_LINES);
glVertex2f(00);
glVertex2f(0.35*sin(theta1)0.35*cos(theta1));
glEnd();

glColor3f(100);//时针
glLineWidth(3); 
glBegin(GL_LINES);
glVertex2f(00);
glVertex2f(0.25*sin(theta2)0.25*cos(theta2));
glEnd();


}




void display()
{
glClear(GL_COLOR_BUFFER_BIT);
waibian();
glCallList(circleDispList);
Pointer(currentClock);

    glutSwapBuffers();
}


void LoadTexture(char* filename int index)
{
img = auxDIBImageLoad(filename); //读取图象数据并将其返回
glBindTexture(GL_TEXTURE_2D texobject[index]); //设置载入图片的索引号
glTexImage2D(GL_TEXTURE_2D 0 GL_RGB img->sizeX img->sizeY 0 GL_RGB GL_UNSIGNED_BYTE img->data);//图像的纹理储存

glTexParameteri(GL_TEXTURE_2D GL_TEXTURE_MAG_FILTER GL_NEAREST);//此为纹理过滤参数设置
glTexParameteri(GL_TEXTURE_2D GL_TEXTURE_MIN_FILTER GL_NEAREST);
}


void wenli()
{
glGenTextures(TEXNUM texobject);//创建纹理的ID
LoadTexture(“pic.bmp“ 0);      //载入各种纹理

}

void re

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-06-20 07:25  Dazuoye\
     文件        4407  2014-06-04 15:31  Dazuoye\Dazuoye.dsp
     文件         522  2014-06-04 15:31  Dazuoye\Dazuoye.dsw
     文件       33792  2014-06-20 07:23  Dazuoye\Dazuoye.ncb
     文件       48640  2014-06-20 07:23  Dazuoye\Dazuoye.opt
     文件        1084  2014-06-20 07:22  Dazuoye\Dazuoye.plg
     目录           0  2014-06-20 07:25  Dazuoye\Debug\
     文件      245838  2014-06-20 07:22  Dazuoye\Debug\Dazuoye.exe
     文件      376064  2014-06-20 07:22  Dazuoye\Debug\Dazuoye.ilk
     文件      549888  2014-06-20 07:22  Dazuoye\Debug\Dazuoye.pdb
     文件       28265  2014-06-04 15:31  Dazuoye\Debug\opengl.obj
     文件     6144054  2014-06-04 15:31  Dazuoye\Debug\pic.bmp
     文件      312320  2014-06-20 07:22  Dazuoye\Debug\vc60.idb
     文件      135168  2014-06-04 15:31  Dazuoye\Debug\vc60.pdb
     文件        3851  2014-06-04 15:31  Dazuoye\opengl.cpp
     文件     6144054  2014-06-04 15:31  Dazuoye\pic.bmp
     目录           0  2014-06-20 07:25  Dazuoye\效果图\
     文件       69895  2014-06-04 15:31  Dazuoye\效果图\1.jpg
     文件       68405  2014-06-04 15:31  Dazuoye\效果图\2.jpg
     文件       66205  2014-06-04 15:31  Dazuoye\效果图\3.jpg
     文件        3851  2014-06-04 15:31  Dazuoye\效果图\总cpp.txt

评论

共有 条评论