资源简介
自己写的游戏DEMO,直接编译运行,完成了三维场景渲染,运动,碰撞检测,雾效果等
代码片段和文件信息
#include
#include
#include
#include
#include “3ds.h“
#include
using namespace std;
//-------------------------------------------------------
// generic stuff
//-------------------------------------------------------
#define SEEK_START 1900
#define SEEK_CURSOR 1901
#define MAIN3DS 0x4D4D
#define EDIT3DS 0x3D3D // this is the start of the editor config
#define EDIT_MATERIAL 0xAFFF
#define EDIT_object 0x4000
#define OBJ_TRIMESH 0x4100
#define OBJ_LIGHT 0x4600
#define OBJ_CAMERA 0x4700
#define LIT_OFF 0x4620
#define LIT_SPOT 0x4610
#define TRI_VERTEXLIST 0x4110
#define TRI_VERTEXOPTIONS 0x4111
#define TRI_FACELIST 0x4120
#define TRI_FACEMAPPING 0x4140
#define TRI_MATRIX 0x4160
#define RGB_COLOR 0x0010
#define COLOR24 0x0011
#define SPOTLIGHT 0x4610
struct LChunk
{
short id;
int start;
int end;
};
LVector3 AddVectors(const LVector3 a const LVector3 b)
{
LVector3 t;
t.x = a.x+b.x;
t.y = a.y+b.y;
t.z = a.z+b.z;
return t;
}
LVector3 SubtractVectors(const LVector3 a const LVector3 b)
{
LVector3 t;
t.x = a.x-b.x;
t.y = a.y-b.y;
t.z = a.z-b.z;
return t;
}
float VectorLength(const LVector3 vec)
{
return (float)sqrt(vec.x*vec.x + vec.y*vec.y+vec.z*vec.z);
}
LVector3 NormalizeVector(const LVector3 vec)
{
float a = VectorLength(vec);
if (a == 0)
return vec;
LVector3 v;
v.x = vec.x/a;
v.y = vec.y/a;
v.z = vec.z/a;
return v;
}
LVector3 CrossProduct(const LVector3 a const LVector3 b)
{
LVector3 v;
v.x = a.y*b.z - a.z*b.y;
v.y = a.z*b.x - a.x*b.z;
v.z = a.x*b.y - a.y*b.x;
return v;
}
void LoadIdentityMatrix(LMatrix &m)
{
m.xAxis.x = 1.0f;
m.xAxis.y = 0.0f;
m.xAxis.z = 0.0f;
m.yAxis.x = 0.0f;
m.yAxis.y = 1.0f;
m.yAxis.z = 0.0f;
m.zAxis.x = 0.0f;
m.zAxis.y = 0.0f;
m.zAxis.z = 1.0f;
m.pos.x = 0.0f;
m.pos.y = 0.0f;
m.pos.z = 0.0f;
}
LVector3 VectorByMatrix(const LMatrix m const LVector3 vec)
{
LVector3 res;
res.x = m.xAxis.x*vec.x + m.xAxis.y*vec.y + m.xAxis.z*vec.z;
res.y = m.yAxis.x*vec.x + m.yAxis.y*vec.y + m.yAxis.z*vec.z;
res.z = m.zAxis.x*vec.x + m.zAxis.y*vec.y + m.zAxis.z*vec.z;
res = AddVectors(vec m.pos);
return res;
}
//-------------------------------------------------------
// Lobject implementation
//-------------------------------------------------------
Lobject::Lobject()
{
m_name = 0;
m_nameSize = 0;
}
Lobject::~Lobject()
{
if (m_name != 0)
free(m_name);
}
void Lobject::SetName(const char *value)
{
m_nameSize = strlen(value)+1;
m_name = (char*)malloc(m_nameSize);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2010-04-21 15:27 GraphicsHomework\
文件 21819 2010-04-17 09:25 GraphicsHomework\3ds.cpp
文件 5196 2010-04-17 09:26 GraphicsHomework\3ds.h
文件 1690 2005-11-09 16:05 GraphicsHomework\body.cpp
文件 2449 2005-11-09 16:05 GraphicsHomework\body.h
文件 8962 2010-04-17 12:37 GraphicsHomework\BoundingBox.cpp
文件 1582 2010-04-17 12:27 GraphicsHomework\BoundingBox.h
文件 6763 2010-04-18 13:50 GraphicsHomework\Camera.cpp
文件 1598 2010-04-17 12:28 GraphicsHomework\Camera.h
文件 21442 2010-04-16 21:09 GraphicsHomework\CLoad3DS.cpp
文件 1352 2010-04-16 16:06 GraphicsHomework\CLoad3DS.h
文件 4160 2005-11-09 16:05 GraphicsHomework\coordinate_fr
文件 3522 2010-04-15 16:24 GraphicsHomework\coordinate_fr
文件 4203 2010-04-17 15:27 GraphicsHomework\CPrerequisites.cpp
文件 5052 2010-04-17 08:18 GraphicsHomework\CPrerequisites.h
目录 0 2010-04-21 15:23 GraphicsHomework\Data\
目录 0 2010-04-21 15:23 GraphicsHomework\Data\3DS\
文件 59320 2010-04-11 13:19 GraphicsHomework\Data\3DS\balloon.3DS
文件 93307 2010-04-17 10:44 GraphicsHomework\Data\3DS\boy.3DS
文件 93334 2010-04-14 19:58 GraphicsHomework\Data\3DS\boy_back.3DS
文件 200553 2010-04-13 22:48 GraphicsHomework\Data\3DS\building.3DS
文件 231125 2010-04-15 11:24 GraphicsHomework\Data\3DS\building_nb.3DS
文件 196223 2010-04-17 15:57 GraphicsHomework\Data\3DS\dinosaur.3DS
文件 210575 2002-04-29 17:41 GraphicsHomework\Data\3DS\F111_L.3DS
文件 91812 2010-04-14 23:08 GraphicsHomework\Data\3DS\farTree.3DS
文件 152229 2010-04-17 17:06 GraphicsHomework\Data\3DS\GUTEMB_L.3DS
文件 156778 2002-04-22 16:16 GraphicsHomework\Data\3DS\GUTEMB_L_back.3DS
文件 10315 2010-04-17 07:54 GraphicsHomework\Data\3DS\house.3DS
文件 19860 2010-04-12 18:24 GraphicsHomework\Data\3DS\house_back.3ds
文件 14796 2010-04-14 21:34 GraphicsHomework\Data\3DS\middleTree.3DS
文件 40431 2010-04-12 22:05 GraphicsHomework\Data\3DS\muoshou.3DS
............此处省略127个文件信息
相关资源
- 暴力摩托 2002 Final
- unity网络实现泡泡堂游戏
- eclipse编写坦克游戏
- C坦克大战电脑版小游戏.rar
- VR游戏商业计划书
- OpenGL实现的简单游戏引擎
- 三维可压缩流场MPI+OpenMP混合并行算法
- 采空区非均质多孔介质渗透特性三维
- 基于Fluent的混合机内部流场的三维数
- 5个unity游戏源码
- OpenGL游戏程序设计源码
- 游戏内存CPU优化
- 经典射击游戏素材-小蜜蜂.rar
- 易语言QQ游戏多开源码
- 基于三维激光雷达的自动驾驶车辆高
- 基于Delaunay三角剖分的三维随机骨料混
- 三维地震勘探技术在宋新庄井田中的
- 一种改进的无线传感器网络三维K覆盖
- 论文研究 - 预测低碳镀锌钢激光堆焊
- 3ds Max游戏角色面部高级绑定视频教程
- 论文研究 - 采用多GPU计算的陡峭三维
- 易语言超级王大炮游戏源码
- 我的Unity 3D之旅——第一人称射
- 网狐游戏服务端解密工具
- Cocos Creator 实现的超级玛丽小游戏de
- 三维时空,可积系统和KdV / mKdV层次结
- topway通威游戏手柄驱动程序 官方版
- FLAC3D模型塑性区三维可视化在采空区
- 桌面图标贪吃蛇游戏
- 32个FC中文RPG游戏
评论
共有 条评论