• 大小: 3.22MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-13
  • 语言: 其他
  • 标签: 碰撞检测  

资源简介

如对代码有任何疑问,请联系我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.embed.manifest

     文件        472  2009-07-06 20:37  碰撞三维vs2005\Debug\lesson3.exe.embed.manifest.res

     文件     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个文件信息

评论

共有 条评论

相关资源