广东工业大学计算机图形学实验.rar 供实验参考!
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 560724 2011-04-01 21:45 广东工业大学计算机图形学实验freeglut.zip
文件 148520 2011-03-17 15:01 广东工业大学计算机图形学实验GLUT.rar
文件 1603 2011-03-02 21:06 广东工业大学计算机图形学实验VC中配置OpenGL.txt
文件 92672 2011-04-28 14:07 广东工业大学计算机图形学实验实验1.ppt
文件 4507 2011-05-11 14:52 广东工业大学计算机图形学实验实验2cg_exp2_framework.cpp
文件 3533 2011-05-11 14:14 广东工业大学计算机图形学实验实验2cg_exp2_framework.dsp
文件 559 2011-05-11 14:53 广东工业大学计算机图形学实验实验2cg_exp2_framework.dsw
文件 41984 2011-05-11 14:57 广东工业大学计算机图形学实验实验2cg_exp2_framework.ncb
文件 48640 2011-05-11 14:57 广东工业大学计算机图形学实验实验2cg_exp2_framework.opt
文件 1515 2011-05-11 14:56 广东工业大学计算机图形学实验实验2cg_exp2_framework.plg
文件 196692 2011-05-11 14:56 广东工业大学计算机图形学实验实验2Debugcg_exp2_framework.exe
文件 248364 2011-05-11 14:56 广东工业大学计算机图形学实验实验2Debugcg_exp2_framework.ilk
文件 16893 2011-05-11 14:56 广东工业大学计算机图形学实验实验2Debugcg_exp2_framework.obj
文件 1936748 2011-05-11 14:16 广东工业大学计算机图形学实验实验2Debugcg_exp2_framework.pch
文件 467968 2011-05-11 14:56 广东工业大学计算机图形学实验实验2Debugcg_exp2_framework.pdb
文件 82944 2011-05-11 14:56 广东工业大学计算机图形学实验实验2Debugvc60.idb
文件 53248 2011-05-11 14:56 广东工业大学计算机图形学实验实验2Debugvc60.pdb
文件 266752 2009-03-01 11:00 广东工业大学计算机图形学实验实验2freeglut.dll
文件 111104 2011-05-11 13:07 广东工业大学计算机图形学实验实验2实验2.ppt
文件 2183 2011-04-28 14:03 广东工业大学计算机图形学实验实验3DebugStdAfx.obj
文件 200783 2011-05-25 15:28 广东工业大学计算机图形学实验实验3Debug est.exe
文件 253752 2011-05-25 15:28 广东工业大学计算机图形学实验实验3Debug est.ilk
文件 13906 2011-05-25 15:28 广东工业大学计算机图形学实验实验3Debug est.obj
文件 203728 2011-04-28 14:03 广东工业大学计算机图形学实验实验3Debug est.pch
文件 467968 2011-05-25 15:28 广东工业大学计算机图形学实验实验3Debug est.pdb
文件 41984 2011-05-25 15:28 广东工业大学计算机图形学实验实验3Debugvc60.idb
文件 53248 2011-05-25 15:28 广东工业大学计算机图形学实验实验3Debugvc60.pdb
文件 169984 1998-08-18 16:25 广东工业大学计算机图形学实验实验3glut.dll
文件 21440 1998-08-18 16:24 广东工业大学计算机图形学实验实验3glut.h
文件 79654 1998-08-18 16:25 广东工业大学计算机图形学实验实验3glut.lib
............此处省略58个文件信息
// Demo of OpenGL Transforms
#include
#include
#include
static int width height; // 窗口尺寸
static bool wireframe = false; // 线框渲染模式标志
static bool projective = true; // 透视投影标志
static bool left_btn_down = false; // 鼠标左键按下标志
static bool rotate_scene = false; // 旋转场景标志
static GLfloat rot_x = 0.0f; // 摄像机x轴旋转量
static GLfloat rot_y = 0.0f; // 摄像机y轴旋转量
static GLfloat spin = 0.0; // 公转旋转角度
static int mouse_last_x mouse_last_y; // 鼠标上次的屏幕投影坐标
void display()
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); // 清除颜色和深度缓存
glPushMatrix(); // 将当前ModelView矩阵M压栈
glLoadIdentity();
glTranslatef(0 0 -5);// 设定摄像机位置(观察坐标系)
// 旋转场景
glRotatef( rot_x 1 0 0 );
glRotatef( rot_y 0 1 0 );
glColor3f(0.0 0.0 1.0);
glutWireTorus(0.2 0.5 30 10);// 绘制物体
glColor3f(1.0 0.5 0.0);
//在场景中增加一个橙色立方体
glRotatef( spin 0 1 0 );
glTranslatef( 2 0 0 );
glRotatef( spin*5 0 1 0 );
glutWireCube( 0.5 );
glPopMatrix(); // ModelView出栈
glutSwapBuffers(); // 交换前后颜色缓存
}
void init()
{
glClearColor(0.0 0.0 0.0 1.0); // 设定颜色缓存的默认值(黑色)
glClearDepth(1.0); // 设定深度缓存的默认值(1为最远)
glEnable(GL_DEPTH_TEST); // 打开深度检测
glDepthFunc(GL_LEQUAL); // 设定深度检测模式:保留较近值
glShadeModel(GL_SMOOTH); // 采用光滑渲染模型,或可采用GL_FLAT
}
void spinDisplay()
{
spin = spin + 0.01;
if (spin > 360.0)
spin = spin - 360.0;
glutPostRedisplay();
}
void resize(int w int h)
{
width = w;
height = h;
// 设定视区
int mx = w > h ? w : h; // mx = max(w h)
glViewport((w - mx) / 2 (h - mx) / 2 mx mx);
glMatrixMode(GL_PROJECTION); // 选择“投影矩阵”模式
glLoadIdentity(); // 将投影矩阵归一化
// 根据投影模式设定相应的投影矩阵P
if (projective) // 透视投影
gluPerspective(45.0f 1 0.01 100);
else // 平行投影
glOrtho(-2 2 -2 2 -10 10);
glMatrixMode(GL_MODELVIEW); // 选择ModelView矩阵模式
glLoadIdentity(); // 将ModelView矩阵M归一化
}
void mouse(int button int state int x int y)
{
switch(button)
{
case GLUT_LEFT_BUTTON:
if (state == GLUT_DOWN)
{
left_btn_down = true;
// 记录下当前鼠标位置
mouse_last_x = x;
mouse_last_y = y;
}
else if (state == GLUT_UP)
left_btn_down = false;
break;
case GLUT_MIDDLE_BUTTON:
if (state == GLUT_DOWN) /*按下中键开始或停止旋转*/
rotate_scene = !rotate_scene;
if ( rotate_scene )
glutIdleFunc(spinDisplay);
else
glutIdleFunc(0);
break;
default:
break;
}
}
void mousemoving(int x int y)
{
if (left_btn_down)
{
// 将当前鼠标位置和按下左键时的鼠标位置做比较
rot_y += x - mouse_last_x;
rot_x += y - mouse_last_y;
// 更新鼠标位置
mouse_last_x = x;
mouse_last_y = y;
}
glutPostRedisplay();
}
void keyboard(unsigned char key int xmouse int ymouse)
{
switch (key)
{
case ‘p‘: case ‘P‘:
projective = !projective;
glMatrixMode(GL_PROJECTION); // 选择“投影矩阵”模式
glLoadIdentity(); // 将投影矩阵归一化
// 根据投影模式设定相应
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 560724 2011-04-01 21:45 广东工业大学计算机图形学实验freeglut.zip
文件 148520 2011-03-17 15:01 广东工业大学计算机图形学实验GLUT.rar
文件 1603 2011-03-02 21:06 广东工业大学计算机图形学实验VC中配置OpenGL.txt
文件 92672 2011-04-28 14:07 广东工业大学计算机图形学实验实验1.ppt
文件 4507 2011-05-11 14:52 广东工业大学计算机图形学实验实验2cg_exp2_fr
文件 3533 2011-05-11 14:14 广东工业大学计算机图形学实验实验2cg_exp2_fr
文件 559 2011-05-11 14:53 广东工业大学计算机图形学实验实验2cg_exp2_fr
文件 41984 2011-05-11 14:57 广东工业大学计算机图形学实验实验2cg_exp2_fr
文件 48640 2011-05-11 14:57 广东工业大学计算机图形学实验实验2cg_exp2_fr
文件 1515 2011-05-11 14:56 广东工业大学计算机图形学实验实验2cg_exp2_fr
文件 196692 2011-05-11 14:56 广东工业大学计算机图形学实验实验2Debugcg_exp2_fr
文件 248364 2011-05-11 14:56 广东工业大学计算机图形学实验实验2Debugcg_exp2_fr
文件 16893 2011-05-11 14:56 广东工业大学计算机图形学实验实验2Debugcg_exp2_fr
文件 1936748 2011-05-11 14:16 广东工业大学计算机图形学实验实验2Debugcg_exp2_fr
文件 467968 2011-05-11 14:56 广东工业大学计算机图形学实验实验2Debugcg_exp2_fr
文件 82944 2011-05-11 14:56 广东工业大学计算机图形学实验实验2Debugvc60.idb
文件 53248 2011-05-11 14:56 广东工业大学计算机图形学实验实验2Debugvc60.pdb
文件 266752 2009-03-01 11:00 广东工业大学计算机图形学实验实验2freeglut.dll
文件 111104 2011-05-11 13:07 广东工业大学计算机图形学实验实验2实验2.ppt
文件 2183 2011-04-28 14:03 广东工业大学计算机图形学实验实验3DebugStdAfx.obj
文件 200783 2011-05-25 15:28 广东工业大学计算机图形学实验实验3Debug est.exe
文件 253752 2011-05-25 15:28 广东工业大学计算机图形学实验实验3Debug est.ilk
文件 13906 2011-05-25 15:28 广东工业大学计算机图形学实验实验3Debug est.obj
文件 203728 2011-04-28 14:03 广东工业大学计算机图形学实验实验3Debug est.pch
文件 467968 2011-05-25 15:28 广东工业大学计算机图形学实验实验3Debug est.pdb
文件 41984 2011-05-25 15:28 广东工业大学计算机图形学实验实验3Debugvc60.idb
文件 53248 2011-05-25 15:28 广东工业大学计算机图形学实验实验3Debugvc60.pdb
文件 169984 1998-08-18 16:25 广东工业大学计算机图形学实验实验3glut.dll
文件 21440 1998-08-18 16:24 广东工业大学计算机图形学实验实验3glut.h
文件 79654 1998-08-18 16:25 广东工业大学计算机图形学实验实验3glut.lib
............此处省略58个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)