资源简介
如对代码有任何疑问,请联系我qq739198750,我上线看见后会立即回复,谢谢!
正确的三维碰撞检测程序(含源代码),欢迎下载,运行环境vs2005以上,运行前请确保你的openGl相关已配置好
代码片段和文件信息
/* This code has been created by Banu Octavian aka Choko - 20 may 2000
* and uses NeHe tutorials as a starting point (window initialization
* texture loading GL initialization and code for keypresses) - very good
* tutorials Jeff. If anyone is interested about the presented algorithm
* please e-mail me at boct@romwest.ro
*
* Code Commmenting And Clean Up By Jeff Molofee ( NeHe )
* NeHe Productions ... http://nehe.gamedev.net
*/
/*此代码由小余儿在原作者的基础上修改完善,联系方式qq:739198750 yuecnu@hotmail.com
转载或引用请保留此信息,谢谢合作!
*/
#include // Header File For Windows
#include // Header File For The OpenGL32 Library
#include // Header File For The GLu32 Library
#include // Header File For The Glaux Library
#include // Header File For Standard Input / Output
#include
HDC hDC=NULL; // Private GDI Device Context
HGLRC hRC=NULL; // Permanent Rendering Context
HWND hWnd=NULL; // Holds Our Window Handle
HINSTANCE hInstance = NULL; // Holds The Instance Of The Application
bool keys[256]; // Array Used For The Keyboard Routine
bool active=TRUE; // Window Active Flag Set To TRUE By Default
bool fullscreen=TRUE; // Fullscreen Flag Set To Fullscreen Mode By Default
bool changed; //changed为真时,球开始运动
float x=0.0f; //x轴方向相对于初始位置的位移
float y=0.0f; //y轴方向相对于初始位置的位移
float z=0.0f; //z轴方向相对于初始位置的位移
float startPostion_x=0; //初始位置x轴坐标
float startPostion_y=0; //初始位置y轴坐标
float startPostion_z=0; //初始位置z轴坐标
float max_x=20.0f; //球沿x轴所能上升的最大值(从初始位置计算)
float max_y=20.0f;
float max_z=20.0f;
float min_x=-20.0f; //球沿x轴所能下降的最大值(从初始位置计算)
float min_y=-20.0f;
float min_z=-20.0f;
float nv_x=-sqrt(1.0f/3.0f);
float nv_y=sqrt(1.0f/3.0f);
float nv_z=-sqrt(1.0f/3.0f);
float num; //记录下降或者上升的时间
float a=-0.01f; //设置虚拟加速度
float dic=0.95f; //设置速度的衰减系数
float radious=0.7f; //设置圆的半径
float vx=0.0f; //x轴方向速度
float vy=0.0f; //y轴方向速度
float vz=0.0f; //z轴方向的速度
float distance=100.0f; //记录小球某时某刻距离斜面的位置
// Light Parameters
static GLfloat LightAmb[] = {0.7f 0.7f 0.7f 1.0f}; // Ambient Light
static GLfloat LightDif[] = {1.0f 1.0f 1.0f 1.0f}; // Diffuse Light
static GLfloat LightPos[] = {4.0f 4.0f 6.0f 1.0f}; // Light Position
GLUquadricObj *q; // Quadratic For Drawing A Sphere
GLfloat xrot = 0.0f; // X Rotation
GLfloat yrot = 0.0f; // Y Rotation
GLfloat xrotspeed = 0.0f; // X Rotation Speed
GLfloat yrotspeed = 0.0f; // Y Rotation Speed
GLfloat zoom = -60.0f; // Depth Into The Screen
GLfloat height = 0.0f; // Height Of Ball From Floor
GLuint texture[6]; // 3 Textures
LRESULT CALLBACK WndProc(HWND UINT WPARAM LPARAM); // Declaration For WndProc
GLvoid ReSizeGLSce
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4056 2000-01-30 21:35 碰撞三维vs2005\Lesson3.dsp
文件 539 2009-04-29 11:09 碰撞三维vs2005\Lesson3.dsw
文件 32768 2000-05-06 21:21 碰撞三维vs2005\Lesson3.exe
文件 765 2003-09-22 22:45 碰撞三维vs2005\NeHe‘s Readme.txt
文件 7990272 2009-07-06 20:41 碰撞三维vs2005\Lesson3.ncb
文件 5552 2009-04-24 17:26 碰撞三维vs2005\lesson3.vcproj
文件 879 2009-07-06 20:37 碰撞三维vs2005\Lesson3.sln
..A..H. 12800 2009-07-06 20:41 碰撞三维vs2005\Lesson3.suo
文件 1427 2009-04-25 00:46 碰撞三维vs2005\lesson3.vcproj.MICROSOF-31D01A.SmartFish.user
文件 9270 2009-07-06 20:37 碰撞三维vs2005\Debug\BuildLog.htm
文件 406 2009-07-06 20:37 碰撞三维vs2005\Debug\lesson3.exe.em
文件 472 2009-07-06 20:37 碰撞三维vs2005\Debug\lesson3.exe.em
文件 586240 2009-07-06 20:37 碰撞三维vs2005\Debug\lesson3.exe
文件 381 2009-07-06 20:37 碰撞三维vs2005\Debug\lesson3.exe.intermediate.manifest
文件 67 2009-07-06 20:37 碰撞三维vs2005\Debug\mt.dep
文件 49206 2000-04-27 21:51 碰撞三维vs2005\Debug\Data\Ball.bmp
文件 196662 2000-05-18 02:04 碰撞三维vs2005\Debug\Data\Envroll.bmp
文件 49206 2000-05-18 02:04 碰撞三维vs2005\Debug\Data\Envwall.bmp
文件 49208 2009-03-28 16:47 碰撞三维vs2005\Debug\Data\up.bmp
文件 49208 2009-03-28 16:48 碰撞三维vs2005\Debug\Data\leftandright.bmp
文件 49208 2009-03-28 16:49 碰撞三维vs2005\Debug\Data\back.bmp
文件 157153 2009-03-29 18:40 碰撞三维vs2005\Debug\Data\地图4.jpg
文件 196664 2009-04-11 16:27 碰撞三维vs2005\Debug\Data\blue.bmp
文件 102400 2009-04-22 09:28 碰撞三维vs2005\Debug\vc80.pdb
文件 83444 2009-07-06 20:37 碰撞三维vs2005\Debug\Lesson3.obj
文件 49206 2000-04-27 21:51 碰撞三维vs2005\Data\Ball.bmp
文件 196662 2000-05-18 02:04 碰撞三维vs2005\Data\Envroll.bmp
文件 49206 2000-05-18 02:04 碰撞三维vs2005\Data\Envwall.bmp
文件 49208 2009-03-28 16:47 碰撞三维vs2005\Data\up.bmp
文件 49208 2009-03-28 16:48 碰撞三维vs2005\Data\leftandright.bmp
............此处省略22个文件信息
评论
共有 条评论