資源簡介
大量的Opengl實例代碼和exe文件,新手可以參考

代碼片段和文件信息
#include?
#include?
#include?
#include?
int?Wwidth=500?Wheight=500;
int?radius=100;
float?sanglemanglehangle;
char?timebuffer[9];
int?secondminutehour;
void?setTime();
void?drawCircle();
void?plotC(int?x?int?y?int?cx?int?cy?GLfloat?*?color);
void?Bresenham_Circle_Algorithm(int?cx?int?cy?GLfloat?*?color);
void?drawPoint();
void?drawHour();
void?drawMinute();
void?drawSecond();
void?display()
{
glClear(GL_COLOR_BUFFER_BIT);
drawCircle();
drawPoint();
drawHour();
drawMinute();
drawSecond();
glutSwapBuffers();
}
void?timer(int?value)
{
setTime();
glutPostRedisplay();
glutTimerFunc(500?timer?1);
}
void?reshape(int?w?int?h)
{
glViewport(00?w?h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if(w<=h)
gluOrtho2D(-radius?radius?-radius*h/w?radius*h/w);
else
gluOrtho2D(-radius*w/h?radius*w/h?-radius?radius);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
int?main(int?argc?char*?argv?[])
{
glutInit(&argc?argv);
glutInitDisplayMode(GLUT_DOUBLE?|?GLUT_RGB);
glutInitWindowSize(Wwidth?Wheight);
glutCreateWindow(“Clock“);
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutTimerFunc(500?timer?1);
glutMainLoop();
return?1;
}
void?setTime()
{
_strtime(timebuffer);
hour=((int)(timebuffer[0]-‘0‘)*10+(int)(timebuffer[1]-‘0‘));
minute=((int)(timebuffer[3]-‘0‘)*10+(int)(timebuffer[4]-‘0‘));
second=((int)(timebuffer[6]-‘0‘)*10+(int)(timebuffer[7]-‘0‘));
sangle=?(float)(90?-?second*6);
mangle=?(float)(90?-?minute*6);
hangle=?(float)(90?-?(hour%12)*30);
}
void?drawCircle()
{
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
GLfloat?color[]={1.0?1.0?1.0};
glPointSize(2);
Bresenham_Circle_Algorithm(0?0?color);
glPointSize(1);
}
void?plotC(int?x?int?y?int?cx?int?cy?GLfloat?*?color)
{
glColor3fv(color);
glBegin(GL_POINTS);
glVertex2f(cx+x?cy+y);
glVertex2f(cx+x?cy-y);
glVertex2f(cx-x?cy+y);
glVertex2f(cx-x?cy-y);
glVertex2f(cx+y?cy+x);
glVertex2f(cx+y?cy-x);
glVertex2f(cx-y?cy+x);
glVertex2f(cx-y?cy-x);
glEnd();
}
void?Bresenham_Circle_Algorithm(int?cx?int?cy?GLfloat?*?color)
{
int?x?y?d;
y=radius;
d=1-radius;
x=0;
while(x<=y){
plotC(xycxcy?color);
if(d<0)
d+=2*x+3;
else{
d+=2*(x-y)+5;
y=y-1;
}
x=x+1;
}
}
void?drawPoint()
{
glBegin(GL_QUADS);
glColor3f(1.0?0.6?0.0);
glVertex2f(-1?radius);
glVertex2f(1?radius);
glVertex2f(1?radius-5);
glVertex2f(-1?radius-5);
glVertex2f(-1?-(radius));
glVertex2f(1?-(radius));
glVertex2f(1?-(radius-5));
glVertex2f(-1?-(radius-5));
glVertex2f(radius-1);
glVertex2f(radius?1);
glVertex2f(radius-5?1);
glVertex2f(radius-5?-1);
glVertex2f(-(radius)?-1);
glVertex2f(-(radius)?1);
glVertex2f(-(radius-5)?1);
glVertex2f(-(radius-5)?-1);
glEnd();
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????198899??2014-11-18?22:02??圖形學\01.jpg
?????文件??????11493??2014-11-18?22:04??圖形學\02.jpg
?????文件??????83307??2014-11-18?22:05??圖形學\03.jpg
?????文件???????3983??2014-10-31?23:18??圖形學\Clock.c
?????文件??????41257??2013-12-09?21:11??圖形學\Clock.exe
?????文件???????3114??2014-12-03?19:52??圖形學\Exam206.cpp
?????文件?????188536??2014-10-19?20:21??圖形學\Exam206.exe
?????文件???????7576??2014-10-06?09:34??圖形學\Gentex.cpp
?????文件?????200822??2014-10-06?09:34??圖形學\Gentex.exe
?????文件???????5096??2014-12-01?18:23??圖形學\GLUT.CPP
?????文件?????188530??2014-10-07?21:36??圖形學\GLUT.exe
?????文件???????2697??2014-12-01?18:24??圖形學\OpenGL模型繪制、旋轉與菜單交互.cpp
?????文件?????188507??2014-10-29?21:40??圖形學\OpenGL模型繪制、旋轉與菜單交互.exe
?????文件???????2059??2013-12-10?06:58??圖形學\園環、球、五角星與旋轉.cpp
?????文件?????204875??2014-10-31?23:29??圖形學\園環、球、五角星與旋轉.exe
?????文件???????2155??2012-04-27?21:00??圖形學\圖元描述\arraycube.c
?????文件?????192626??2014-09-14?01:49??圖形學\圖元描述\arraycube.exe
?????文件???????1089??2014-09-06?21:03??圖形學\圖元描述\Clip.cpp
?????文件?????188530??2014-09-06?21:03??圖形學\圖元描述\Clip.exe
?????文件???????1785??2014-09-06?05:05??圖形學\圖元描述\DrawCircle.cpp
?????文件?????204926??2014-09-06?04:46??圖形學\圖元描述\DrawCircle.exe
?????文件???????1322??2014-09-06?20:42??圖形學\圖元描述\Exam301.cpp
?????文件?????204920??2014-09-06?20:42??圖形學\圖元描述\Exam301.exe
?????文件???????2282??2014-09-06?16:28??圖形學\圖元描述\Exam406.cpp
?????文件?????188536??2014-09-06?16:31??圖形學\圖元描述\Exam406.exe
?????文件????????697??2014-09-10?03:38??圖形學\圖元描述\Example001.cpp
?????文件?????188542??2014-09-10?03:39??圖形學\圖元描述\Example001.exe
?????文件????????595??2014-09-10?03:42??圖形學\圖元描述\Example002.cpp
?????文件?????188542??2014-09-10?03:42??圖形學\圖元描述\Example002.exe
?????文件????????663??2014-09-10?03:48??圖形學\圖元描述\Example003.cpp
............此處省略62個文件信息
評論
共有 條評論