modelmateriallayer.h
来自「骨骼动画....把魔兽模型解出的代码..」· C头文件 代码 · 共 100 行
H
100 行
//+-----------------------------------------------------------------------------
//| Inclusion guard
//+-----------------------------------------------------------------------------
#ifndef MAGOS_MODEL_MATERIAL_LAYER_H
#define MAGOS_MODEL_MATERIAL_LAYER_H
//+-----------------------------------------------------------------------------
//| Included files
//+-----------------------------------------------------------------------------
#include "ModelBase.h"
//+-----------------------------------------------------------------------------
//| Model materiallayer data structure
//+-----------------------------------------------------------------------------
struct MODEL_MATERIAL_LAYER_DATA
{
MODEL_MATERIAL_LAYER_DATA()
{
FilterMode = FILTER_MODE_NONE;
AnimatedTextureId.SetStaticScalarInt(0, "TextureID");
Alpha.SetStaticScalar(1.0f, "Alpha");
TextureId = INVALID_INDEX;
TextureAnimationId = INVALID_INDEX;
Unshaded = FALSE;
Unfogged = FALSE;
TwoSided = FALSE;
SphereEnvironmentMap = FALSE;
NoDepthTest = FALSE;
NoDepthSet = FALSE;
}
FILTER_MODE FilterMode;
INTERPOLATOR AnimatedTextureId;
INTERPOLATOR Alpha;
INT TextureId;
INT TextureAnimationId;
BOOL Unshaded;
BOOL Unfogged;
BOOL TwoSided;
BOOL SphereEnvironmentMap;
BOOL NoDepthTest;
BOOL NoDepthSet;
};
//+-----------------------------------------------------------------------------
//| Model material layer class
//+-----------------------------------------------------------------------------
class MODEL_MATERIAL_LAYER
{
public:
CONSTRUCTOR MODEL_MATERIAL_LAYER();
DESTRUCTOR ~MODEL_MATERIAL_LAYER();
VOID Clear();
INT GetSize();
MODEL_MATERIAL_LAYER_DATA& Data();
MODEL_MATERIAL_LAYER_DATA& NewData();
VOID MarkAsUpdated();
VOID UpdateDataIfNeccessary();
INT GetRenderOrder();
VOID UseMaterial(CONST SEQUENCE_TIME& Time);
protected:
MODEL_MATERIAL_LAYER_DATA MaterialLayerData;
BOOL MaterialLayerChanged;
MODEL_MATERIAL_LAYER_DATA MaterialLayerNewData;
public:
REFERENCE<MODEL_MATERIAL_LAYER*, MODEL_TEXTURE*> TextureNode;
REFERENCE<MODEL_MATERIAL_LAYER*, MODEL_TEXTURE*> NewTextureNode;
REFERENCE<MODEL_MATERIAL_LAYER*, MODEL_TEXTURE_ANIMATION*> TextureAnimationNode;
REFERENCE<MODEL_MATERIAL_LAYER*, MODEL_TEXTURE_ANIMATION*> NewTextureAnimationNode;
};
//+-----------------------------------------------------------------------------
//| Post-included files
//+-----------------------------------------------------------------------------
#include "Graphics.h"
//+-----------------------------------------------------------------------------
//| End of inclusion guard
//+-----------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?