亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? model.h

?? 骨骼動(dòng)畫....把魔獸模型解出的代碼..
?? H
字號(hào):
//+-----------------------------------------------------------------------------
//| Inclusion guard
//+-----------------------------------------------------------------------------
#ifndef MAGOS_MODEL_H
#define MAGOS_MODEL_H


//+-----------------------------------------------------------------------------
//| Included files
//+-----------------------------------------------------------------------------
#include "Misc.h"


//+-----------------------------------------------------------------------------
//| Pre-declared classes
//+-----------------------------------------------------------------------------
class MODEL_BASE;
class MODEL_BONE;
class MODEL_GEOSET;
class MODEL_GEOSET_ANIMATION;
class MODEL_GEOSET_VERTEX;
class MODEL_GEOSET_FACE;
class MODEL_GEOSET_GROUP;
class MODEL_TEXTURE;
class MODEL_TEXTURE_ANIMATION;
class MODEL_MATERIAL;
class MODEL_MATERIAL_LAYER;
class MODEL_SEQUENCE;
class MODEL_GLOBAL_SEQUENCE;
class MODEL_LIGHT;
class MODEL_HELPER;
class MODEL_CAMERA;
class MODEL_ATTACHMENT;
class MODEL_EVENT_OBJECT;
class MODEL_COLLISION_SHAPE;
class MODEL_PARTICLE_EMITTER;
class MODEL_PARTICLE_EMITTER_2;
class MODEL_RIBBON_EMITTER;


//+-----------------------------------------------------------------------------
//| Model info data structure
//+-----------------------------------------------------------------------------
struct MODEL_INFO_DATA
{
	MODEL_INFO_DATA()
	{
		Version = MODEL_DEFAULT_VERSION;
		Name = "Name";
		AnimationFile = "";

		BlendTime = 150;
	}

	DWORD Version;
	std::string Name;
	std::string AnimationFile;

	EXTENT Extent;
	INT BlendTime;
};


//+-----------------------------------------------------------------------------
//| Model data structure
//+-----------------------------------------------------------------------------
struct MODEL_DATA
{
	MODEL_DATA()
	{
		//Empty
	}

	MODEL_INFO_DATA Info;

	SIMPLE_CONTAINER<MODEL_BASE*> BaseContainer;

	SIMPLE_CONTAINER<MODEL_ATTACHMENT*> AttachmentContainer;
	SIMPLE_CONTAINER<MODEL_BONE*> BoneContainer;
	SIMPLE_CONTAINER<MODEL_COLLISION_SHAPE*> CollisionShapeContainer;
	SIMPLE_CONTAINER<MODEL_EVENT_OBJECT*> EventObjectContainer;
	SIMPLE_CONTAINER<MODEL_HELPER*> HelperContainer;
	SIMPLE_CONTAINER<MODEL_LIGHT*> LightContainer;
	SIMPLE_CONTAINER<MODEL_PARTICLE_EMITTER*> ParticleEmitterContainer;
	SIMPLE_CONTAINER<MODEL_PARTICLE_EMITTER_2*> ParticleEmitter2Container;
	SIMPLE_CONTAINER<MODEL_RIBBON_EMITTER*> RibbonEmitterContainer;

	SIMPLE_CONTAINER<MODEL_CAMERA*> CameraContainer;
	SIMPLE_CONTAINER<MODEL_GEOSET*> GeosetContainer;
	SIMPLE_CONTAINER<MODEL_GEOSET_ANIMATION*> GeosetAnimationContainer;
	SIMPLE_CONTAINER<MODEL_GLOBAL_SEQUENCE*> GlobalSequenceContainer;
	SIMPLE_CONTAINER<MODEL_MATERIAL*> MaterialContainer;
	SIMPLE_CONTAINER<D3DXVECTOR3*> PivotPointContainer;
	SIMPLE_CONTAINER<MODEL_SEQUENCE*> SequenceContainer;
	SIMPLE_CONTAINER<MODEL_TEXTURE*> TextureContainer;
	SIMPLE_CONTAINER<MODEL_TEXTURE_ANIMATION*> TextureAnimationContainer;
};


//+-----------------------------------------------------------------------------
//| Model class
//+-----------------------------------------------------------------------------
class MODEL
{
	public:
		CONSTRUCTOR MODEL();
		DESTRUCTOR ~MODEL();

		VOID Clear();

		MODEL_DATA& Data();

		VOID Rebuild();
		VOID Render(INT TimeDifference);
		VOID PlayAnimation(MODEL_SEQUENCE* Sequence);

		VOID CalculateBoundsRadius();
		FLOAT GetBoundsRadius();
		D3DXVECTOR3 GetBoundsCenter();

		MODEL_GEOSET* GetIntersectedGeoset(CONST D3DXVECTOR3& RayPosition, CONST D3DXVECTOR3& RayDirection);

		BOOL AddAttachment(MODEL_ATTACHMENT* Attachment, MODEL_BASE* ParentNode = NULL);
		BOOL AddBone(MODEL_BONE* Bone, MODEL_BASE* ParentNode = NULL);
		BOOL AddCollisionShape(MODEL_COLLISION_SHAPE* CollisionShape, MODEL_BASE* ParentNode = NULL);
		BOOL AddEventObject(MODEL_EVENT_OBJECT* EventObject, MODEL_BASE* ParentNode = NULL);
		BOOL AddHelper(MODEL_HELPER* Helper, MODEL_BASE* ParentNode = NULL);
		BOOL AddLight(MODEL_LIGHT* Light, MODEL_BASE* ParentNode = NULL);
		BOOL AddParticleEmitter(MODEL_PARTICLE_EMITTER* ParticleEmitter, MODEL_BASE* ParentNode = NULL);
		BOOL AddParticleEmitter2(MODEL_PARTICLE_EMITTER_2* ParticleEmitter2, MODEL_BASE* ParentNode = NULL);
		BOOL AddRibbonEmitter(MODEL_RIBBON_EMITTER* RibbonEmitter, MODEL_BASE* ParentNode = NULL);

		BOOL AddCamera(MODEL_CAMERA* Camera);
		BOOL AddGeoset(MODEL_GEOSET* Geoset, BOOL Imported = FALSE);
		BOOL AddGeosetAnimation(MODEL_GEOSET_ANIMATION* GeosetAnimation);
		BOOL AddGlobalSequence(MODEL_GLOBAL_SEQUENCE* GlobalSequence);
		BOOL AddMaterial(MODEL_MATERIAL* Material);
		BOOL AddPivotPoint(D3DXVECTOR3* PivotPoint);
		BOOL AddSequence(MODEL_SEQUENCE* Sequence);
		BOOL AddTexture(MODEL_TEXTURE* Texture);
		BOOL AddTextureAnimation(MODEL_TEXTURE_ANIMATION* TextureAnimation);

		BOOL RemoveAttachment(MODEL_ATTACHMENT* Attachment, HWND Window = NULL);
		BOOL RemoveBone(MODEL_BONE* Bone, HWND Window = NULL);
		BOOL RemoveCollisionShape(MODEL_COLLISION_SHAPE* CollisionShape, HWND Window = NULL);
		BOOL RemoveEventObject(MODEL_EVENT_OBJECT* EventObject, HWND Window = NULL);
		BOOL RemoveHelper(MODEL_HELPER* Helper, HWND Window = NULL);
		BOOL RemoveLight(MODEL_LIGHT* Light, HWND Window = NULL);
		BOOL RemoveParticleEmitter(MODEL_PARTICLE_EMITTER* ParticleEmitter, HWND Window = NULL);
		BOOL RemoveParticleEmitter2(MODEL_PARTICLE_EMITTER_2* ParticleEmitter2, HWND Window = NULL);
		BOOL RemoveRibbonEmitter(MODEL_RIBBON_EMITTER* RibbonEmitter, HWND Window = NULL);

		BOOL RemoveCamera(MODEL_CAMERA* Camera, HWND Window = NULL);
		BOOL RemoveGeoset(MODEL_GEOSET* Geoset, HWND Window = NULL);
		BOOL RemoveGeosetAnimation(MODEL_GEOSET_ANIMATION* GeosetAnimation, HWND Window = NULL);
		BOOL RemoveGlobalSequence(MODEL_GLOBAL_SEQUENCE* GlobalSequence, HWND Window = NULL);
		BOOL RemoveMaterial(MODEL_MATERIAL* Material, HWND Window = NULL);
		BOOL RemovePivotPoint(D3DXVECTOR3* PivotPoint, HWND Window = NULL);
		BOOL RemoveSequence(MODEL_SEQUENCE* Sequence, HWND Window = NULL);
		BOOL RemoveTexture(MODEL_TEXTURE* Texture, HWND Window = NULL);
		BOOL RemoveTextureAnimation(MODEL_TEXTURE_ANIMATION* TextureAnimation, HWND Window = NULL);

		MODEL_BASE* GetNode(INT ObjectId);
		MODEL_TEXTURE* GetTexture(INT TextureId);

		BOOL CreateTextureModel(CONST std::string& TextureFileName, INT Width, INT Height, INT RealWidth, INT RealHeight);
		BOOL CreateLoadingScreenModel(CONST std::string& TextureFileName);

		VOID GenerateObjectIds();
		VOID ConnectNodes();

		VOID WrapPivotPoints();
		VOID UnwrapPivotPoints();

	protected:
		BOOL AddBaseNode(MODEL_BASE* Node, MODEL_BASE* ParentNode);
		BOOL RemoveBaseNode(MODEL_BASE* Node, HWND Window);

		VOID InsertNode(MODEL_BASE* Node);

		MODEL_GEOSET_VERTEX* CreateVertex(CONST D3DXVECTOR3& Position, CONST D3DXVECTOR3& Normal, CONST D3DXVECTOR2& TexturePosition, INT VertexGroup);
		MODEL_GEOSET_FACE* CreateFace(INT Index1, INT Index2, INT Index3);
		MODEL_GEOSET_GROUP* CreateGroup(CONST std::vector<INT>& MatrixList);

		VOID RenderBones();
		VOID RenderLights();
		VOID RenderCameras();
		VOID RenderAttachments();
		VOID RenderCollisionShapes();

		MODEL_DATA ModelData;
		MODEL_BASE* Root;

		FLOAT BoundsRadius;
		D3DXVECTOR3 BoundsCenter;

		SEQUENCE_TIME AnimationTime;

		REFERENCE<MODEL*, MODEL_SEQUENCE*> SequenceNode;
};


//+-----------------------------------------------------------------------------
//| Global objects
//+-----------------------------------------------------------------------------
extern MODEL Model;


//+-----------------------------------------------------------------------------
//| Post-included files
//+-----------------------------------------------------------------------------
#include "ModelBone.h"
#include "ModelGeoset.h"
#include "ModelGeosetAnimation.h"
#include "ModelTexture.h"
#include "ModelTextureAnimation.h"
#include "ModelMaterial.h"
#include "ModelSequence.h"
#include "ModelGlobalSequence.h"
#include "ModelLight.h"
#include "ModelHelper.h"
#include "ModelCamera.h"
#include "ModelAttachment.h"
#include "ModelEventObject.h"
#include "ModelCollisionShape.h"
#include "ModelParticleEmitter.h"
#include "ModelParticleEmitter2.h"
#include "ModelRibbonEmitter.h"


//+-----------------------------------------------------------------------------
//| End of inclusion guard
//+-----------------------------------------------------------------------------
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产网站在线观看| 久久精品国产在热久久| 91丨九色丨黑人外教| 麻豆91在线播放| 欧美成人性福生活免费看| 久久99最新地址| 337p粉嫩大胆噜噜噜噜噜91av| 国模冰冰炮一区二区| 国产精品毛片久久久久久| 色婷婷精品大视频在线蜜桃视频| 亚洲福利视频一区二区| 日韩欧美电影在线| 风间由美中文字幕在线看视频国产欧美 | 成人精品一区二区三区中文字幕| 亚洲欧洲一区二区在线播放| 欧美色图片你懂的| 久久99精品久久久久久| 国产亚洲精品免费| 91精品福利视频| 卡一卡二国产精品| 国产精品久久久久天堂| 欧美区视频在线观看| 国产精品一区专区| 一区二区三区精品视频在线| 91精选在线观看| www.欧美日韩国产在线| 男人操女人的视频在线观看欧美| 欧美激情一区二区在线| 精品视频一区二区三区免费| 精品写真视频在线观看| 亚洲资源中文字幕| 国产欧美在线观看一区| 欧美日韩高清一区| 成人影视亚洲图片在线| 丝瓜av网站精品一区二区| 国产精品污污网站在线观看 | 91精品国产入口| 国产91精品免费| 午夜av一区二区| 中文字幕第一区| 日韩欧美激情一区| 91亚洲精品久久久蜜桃网站| 激情都市一区二区| 国产成人免费网站| 亚洲国产精品久久一线不卡| 久久久久国产精品麻豆| 4438亚洲最大| 欧美在线视频日韩| 丁香另类激情小说| 狠狠色狠狠色综合系列| 亚洲成人精品在线观看| 18欧美乱大交hd1984| 精品少妇一区二区三区在线播放| 在线观看成人小视频| 不卡一区二区在线| 国产精品99久| 激情文学综合网| 开心九九激情九九欧美日韩精美视频电影| 亚洲猫色日本管| 国产精品毛片a∨一区二区三区 | 欧美日韩一区二区三区视频| 99天天综合性| www.色综合.com| 不卡视频在线观看| 成人99免费视频| 国产成人精品一区二| 国产精品白丝av| 国产高清精品在线| 国产精品99久久久久久久vr| 韩国成人福利片在线播放| 久久99国产精品尤物| 久久国产欧美日韩精品| 久久成人18免费观看| 九一久久久久久| 久久99精品久久久久久动态图| 全国精品久久少妇| 久久精品国产亚洲aⅴ| 理论片日本一区| 国产美女精品在线| 大白屁股一区二区视频| av爱爱亚洲一区| 色婷婷精品久久二区二区蜜臀av| 91极品视觉盛宴| 欧美三级电影网站| 51精品久久久久久久蜜臀| 欧美精品自拍偷拍| 69久久夜色精品国产69蝌蚪网| 欧美一级精品在线| 日韩一区二区视频在线观看| 亚洲免费毛片网站| 亚洲色图视频网站| 中文字幕欧美日本乱码一线二线| 国产午夜精品久久久久久免费视| 久久综合av免费| 国产欧美视频一区二区| 国产精品家庭影院| 国产精品欧美综合在线| 亚洲丝袜精品丝袜在线| 日韩美女视频一区二区| 亚洲一区二区高清| 日韩不卡一二三区| 狠狠狠色丁香婷婷综合久久五月| 国产原创一区二区三区| 国产一区亚洲一区| www.欧美亚洲| 色先锋久久av资源部| 欧美剧情片在线观看| 日韩一级黄色大片| 久久伊人中文字幕| 亚洲欧美激情插| 日韩电影免费一区| 国产精品18久久久久久久久久久久 | 综合激情成人伊人| 亚洲综合一区二区三区| 七七婷婷婷婷精品国产| 国产高清精品在线| 欧美最新大片在线看| 日韩午夜电影在线观看| 国产精品久久久久精k8| 亚洲国产裸拍裸体视频在线观看乱了 | 91精品国产丝袜白色高跟鞋| 久久久91精品国产一区二区三区| 一区二区三区中文在线观看| 老司机免费视频一区二区三区| 99精品在线免费| 欧美性生交片4| 精品国产髙清在线看国产毛片| 亚洲欧洲在线观看av| 久久国产综合精品| 色综合欧美在线| 欧美精品一区二区三区在线播放 | 亚洲国产你懂的| 久久电影网站中文字幕| 成人精品国产一区二区4080| 欧洲视频一区二区| 精品福利视频一区二区三区| 亚洲一区二区三区四区五区黄| 国产一区 二区| 欧美精品在线观看一区二区| 国产精品三级电影| 蜜桃传媒麻豆第一区在线观看| 91麻豆国产精品久久| 久久综合成人精品亚洲另类欧美| 亚洲123区在线观看| 成人网在线免费视频| 在线观看91精品国产麻豆| 国产精品天干天干在观线| 午夜精品福利在线| 国产成人啪免费观看软件| 日韩亚洲欧美高清| 一区二区三区欧美久久| 国产99久久久国产精品| 日韩一区二区电影在线| 午夜视频一区在线观看| 色婷婷久久久综合中文字幕| 国产精品色一区二区三区| 国产福利一区二区| 日韩欧美中文字幕一区| 日韩av网站在线观看| 6080午夜不卡| 蜜桃av一区二区| 精品国偷自产国产一区| 国产一区二区三区久久悠悠色av | 成人av在线资源网| 中文字幕成人av| 成人激情黄色小说| 亚洲少妇屁股交4| 色呦呦国产精品| 亚洲一区电影777| 精品视频一区二区三区免费| 丝袜美腿亚洲色图| 日韩三级伦理片妻子的秘密按摩| 久久不见久久见中文字幕免费| 亚洲精品在线免费播放| 久草热8精品视频在线观看| 欧美xfplay| 丁香婷婷综合激情五月色| 中文av字幕一区| 99国产精品久久| 中文字幕一区二区三区蜜月| 成人黄色在线视频| 亚洲精品视频观看| 久久九九国产精品| 成人av动漫网站| 一区二区三区精品在线观看| 欧美日韩免费观看一区三区| 美腿丝袜亚洲一区| 久久久久青草大香线综合精品| www.66久久| 亚洲在线视频网站| 日韩精品中文字幕一区| 福利一区福利二区| 亚洲午夜日本在线观看| 日韩一级片网站| 成人一级片在线观看| 亚洲午夜日本在线观看| 精品免费日韩av| 不卡电影免费在线播放一区| 亚洲国产wwwccc36天堂| 337p粉嫩大胆噜噜噜噜噜91av|