資源簡介
自己寫的游戲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個文件信息
評論
共有 條評論