资源简介
在visual c++ 6.0 下,利用opengl画了一个交互式的3D 模型,可以利用方向键实现交互功能,让读者能够全方位的看到3D模型

代码片段和文件信息
#include
#include
#include
#include
#include
void init()
{
glClearColor(0.00.00.00.0);
glShadeModel(GL_FLAT);
glEnable(GL_DEPTH_TEST);
}
static GLfloat view_rotx = 10.0 view_roty = 20.0 view_rotz = 0.0;
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glPushMatrix();
glRotatef(view_rotx 1.0 0.0 0.0);
glRotatef(view_roty 0.0 1.0 0.0);
glRotatef(view_rotz 0.0 0.0 1.0);
//glPushMatrix();
//glColor3f(0.50.50.5);
//auxSolidBox(100.110);
//glPopMatrix();
glPushMatrix();
glColor3f(1.00.01.0);
glTranslatef(2.50-2.5);
auxSolidBox(353);
glPopMatrix();
glPushMatrix();
glColor3f(1.00.00.0);
glTranslatef(2.502.5);
auxSolidBox(353);
glPopMatrix();
glPushMatrix();
glColor3f(0.01.00.0);
glTranslatef(-2.502.5);
auxSolidBox(3103);
glPopMatrix();
glPushMatrix();
glColor3f(0.00.01.0);
glTranslatef(-2.50-2.5);
auxSolidBox(3103);
glPopMatrix();
glPopMatrix();
glutSwapBuffers();
}
void reshape(int wint h)
{
glViewport(00wh);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60.0w/h1.020.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.00.05.00.00.00.00.01.00.0);
}
void keyboard(unsigned char keyint xint y)
{
switch(key){
case 27:
exit(1);
}
}
void mySpecial(int keyint xint y)
{
switch (key)
{
case GLUT_KEY_UP:
view_rotx += 5.0;
break;
case GLUT_KEY_DOWN:
view_rotx -= 5.0;
break;
case GLUT_KEY_LEFT:
view_roty += 5.0;
break;
case GLUT_KEY_RIGHT:
view_roty -= 5.0;
break;
default:
return;
}
glutPostRedisplay();
}
int main( int argc char** argv )
{
glutInit(&argcargv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH );
glutInitWindowPosition( 0 0 );
glutInitWindowSize( 720 360 );
glutCreateWindow( “3D map“ );
init();
glutKeyboardFunc( keyboard );
glutSpecialFunc(mySpecial);
glutReshapeFunc( reshape );
glutDisplayFunc( display );
glutMainLoop( );
return(0);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2202 2011-04-21 11:53 3Dmap\3Dmap.cpp
文件 4344 2011-04-21 12:04 3Dmap\3Dmap.dsp
文件 518 2011-04-21 10:13 3Dmap\3Dmap.dsw
文件 41984 2011-04-25 09:43 3Dmap\3Dmap.ncb
文件 48640 2011-04-25 09:43 3Dmap\3Dmap.opt
文件 920 2011-04-25 09:36 3Dmap\3Dmap.plg
文件 237623 2011-04-25 09:36 3Dmap\Debug\3Dmap.exe
文件 343756 2011-04-25 09:36 3Dmap\Debug\3Dmap.ilk
文件 18387 2011-04-25 09:36 3Dmap\Debug\3Dmap.obj
文件 3701356 2011-04-25 09:36 3Dmap\Debug\3Dmap.pch
文件 631808 2011-04-25 09:36 3Dmap\Debug\3Dmap.pdb
文件 148480 2011-04-25 09:36 3Dmap\Debug\vc60.idb
文件 77824 2011-04-25 09:36 3Dmap\Debug\vc60.pdb
目录 0 2011-04-25 09:36 3Dmap\Debug
目录 0 2011-04-25 09:43 3Dmap
----------- --------- ---------- ----- ----
5257842 15
相关资源
- 安卓c语言开发SDL2+opengles
- 交互式计算机图形学 第六版 OpenGL源代
- VC++基于OpenGL模拟的一个3维空间模型
- opengl绘制汽车.cpp
- opengl实现水流效果sph
- opengl源代码,全是精华!
- OpenGL迷宫山东大学图形学实验三
- opengl的立方体消隐算法
- vc++ opengl代码爆炸
- 我见过最漂亮的CS仿真程序openGL和C+
- 广东某工业大学的openGL课程设计
- 使用OpenGL实现多个小球在密闭空间内
- 利用openGL和C++实现光线跟踪绘图的完
- OpenGl C++太阳系小行星运行系统 可切换
- vc++和OpenGL实现三维地形实时动态显示
- C++实现利用OpenGL实现三维绘图
- 太阳、地球、月亮之间的运动图Open
- MFC 单文档 实现opengl 三维旋转 缩放
- OPENGL的烟花程序(代码)
- MFC+OpenGL三维建模与动画显示
- 基于opengl粒子系统实现喷泉的模拟
- 一个基于openGL的太阳系模型,太阳地
- vc6.0+opengl纯色五角星填充
- vc6.0+opengl动态绘制五角星
- NeHe_OpenGL教程完整版 里面有地址可以
- OpenGL简单——实现立方体贴上不同纹
- MFC实现dem的读取与现实
- VC++ OpenGL三维地形漫游
- OpenGL实现三维地形实时动态显示
- VC++中Opengl实现建筑物虚拟漫游
评论
共有 条评论