17GX_CORE_NAMESPACE_BEGIN()
20class GxColladaReaderNotifierBase;
25class GxColladaReader : public GxXmlReader
33 GX_RTTI_CLASS(GxColladaReader, GxXmlReader)
38 enum class ROTATE_ORDER_SHIFT
46 enum class ROTATE_ORDER_VALUE
55 enum class ROTATE_ORDER_TYPE
67 static GX_CCHAR COLLADA_DATA_DELIMITER =
' ';
85 struct GxColladaCommonAsset
118 GxColladaCommonAsset(
void)
120 , _meterType(METER_TYPE::METER)
121 , _axisType(AXIS_TYPE::X_UP)
131 METER_TYPE _meterType;
138 struct GxColladaCamera
146 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
155 GxColladaCamera(
void)
177 struct GxColladaTexture
185 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
194 GxColladaTexture(
void)
195 : _pFilePath(nullptr)
210 struct GxColladaRootNode
218 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
227 GxColladaRootNode(
void)
233 , _rotateOrderType(GxColladaReader::ROTATE_ORDER_TYPE::
NONE)
234 , _orientOrderType(GxColladaReader::ROTATE_ORDER_TYPE::
NONE)
248 GxColladaReader::ROTATE_ORDER_TYPE _rotateOrderType;
249 GxColladaReader::ROTATE_ORDER_TYPE _orientOrderType;
255 struct GxColladaJoint
263 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
266 static constexpr u32 ROTATE_NUM = 3;
277 , _myId(GX_INVALID_HANDLE)
278 , _parentId(GX_INVALID_HANDLE)
284 , _rotateOrderType(ROTATE_ORDER_TYPE::
NONE)
285 , _orientOrderType(ROTATE_ORDER_TYPE::
NONE)
302 GxColladaReader::ROTATE_ORDER_TYPE _rotateOrderType;
303 GxColladaReader::ROTATE_ORDER_TYPE _orientOrderType;
311 struct GxColladaParts
319 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
330 , _shapeId(GX_INVALID_HANDLE)
349 static constexpr u32 DESTRUCTION_PARTS_MAX = 256;
352 struct GxColladaWeight
360 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
363 static constexpr u32 EFFECT_JOINT_NUM = 4;
372 GxColladaWeight(
void)
375 GX_MEMSET(_joint, 0xFFFFFFF,
sizeof(_joint));
376 GX_MEMSET(_weight, 0,
sizeof(_weight));
386 u32 _joint[EFFECT_JOINT_NUM];
387 f32 _weight[EFFECT_JOINT_NUM];
393 struct GxColladaBindMatrix
401 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
410 GxColladaBindMatrix(
void)
436 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
448 , _pBindPoseMatrixArray(nullptr)
449 , _bindPoseMatrixCount(0)
450 , _pWeightArray(nullptr)
457 GX_SAFE_DELETE_ARRAY(_pWeightArray);
458 GX_SAFE_DELETE_ARRAY(_pBindPoseMatrixArray);
469 GxColladaBindMatrix* _pBindPoseMatrixArray;
470 u32 _bindPoseMatrixCount;
471 GxColladaWeight* _pWeightArray;
480 struct GxColladaTriangleElement
488 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
492 enum class VERTICES_ELEMENT
511 GxColladaTriangleElement(
void)
527 VERTICES_ELEMENT _type;
537 struct GxColladaTriangles
545 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
554 GxColladaTriangles(
void)
557 , _pTriangleElementArray(nullptr)
558 , _triangleElementCount(0)
559 , _pPrimitiveArray(nullptr)
561 , _primitiveOneSize(0)
565 ~GxColladaTriangles(
void)
567 GX_SAFE_DELETE_ARRAY(_pTriangleElementArray);
578 s32 getTriangleElementIndex(GX_CSTR elementName)
const
580 for( u32 i=0; i < _triangleElementCount; ++i )
582 if( (_pTriangleElementArray[i]._pName !=
nullptr) && (
GX_STRCMP(_pTriangleElementArray[i]._pName, elementName) == 0) )
590 s32 getTriangleElementIndex(GxColladaTriangleElement::VERTICES_ELEMENT elementType)
const
592 for( u32 i=0; i < _triangleElementCount; ++i )
594 if( _pTriangleElementArray[i]._type == elementType )
602 const GxColladaTriangleElement* getTriangleElement(GX_CSTR elementName)
const
604 s32 index = getTriangleElementIndex(elementName);
611 return &_pTriangleElementArray[index];
615 const GxColladaTriangleElement* getTriangleElement(GxColladaTriangleElement::VERTICES_ELEMENT elementType)
const
617 s32 index = getTriangleElementIndex(elementType);
624 return &_pTriangleElementArray[index];
636 GxColladaTriangleElement* _pTriangleElementArray;
637 u32 _triangleElementCount;
638 u32* _pPrimitiveArray;
640 u32 _primitiveOneSize;
646 struct GxColladaColor
654 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
664 : _pValueArray(nullptr)
669 ~GxColladaColor(
void)
687 struct GxColladaTexcoord
695 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
704 GxColladaTexcoord(
void)
705 : _pValueArray(nullptr)
725 struct GxColladaTexTangent
733 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
742 GxColladaTexTangent(
void)
743 : _pValueArray(nullptr)
763 struct GxColladaTexBinormal
771 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
780 GxColladaTexBinormal(
void)
781 : _pValueArray(nullptr)
800 struct GxColladaGeometry
808 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
817 GxColladaGeometry(
void)
818 : _pTrianglesArray(nullptr)
820 , _pPositionArray(nullptr)
822 , _pNormalArray(nullptr)
824 , _pColorArray(nullptr)
826 , _pTexcoordArray(nullptr)
828 , _pTexTangentArray(nullptr)
829 , _texTangentCount(0)
830 , _pTexBinormalArray(nullptr)
831 , _texBinormalCount(0)
835 ~GxColladaGeometry(
void)
837 GX_SAFE_DELETE_ARRAY(_pTrianglesArray);
840 GX_SAFE_DELETE_ARRAY(_pColorArray);
841 GX_SAFE_DELETE_ARRAY(_pTexcoordArray);
842 GX_SAFE_DELETE_ARRAY(_pTexTangentArray);
843 GX_SAFE_DELETE_ARRAY(_pTexBinormalArray);
853 const GxColladaTriangleElement* getTriangleElement(GX_CSTR elementName)
const
855 for( u32 i = 0; i < _trianglesCount; ++i )
857 const auto* pColladaTriangleElement = _pTrianglesArray[i].getTriangleElement(elementName);
858 if( pColladaTriangleElement )
860 return pColladaTriangleElement;
872 GxColladaTriangles* _pTrianglesArray;
878 GxColladaColor* _pColorArray;
880 GxColladaTexcoord* _pTexcoordArray;
882 GxColladaTexTangent* _pTexTangentArray;
884 GxColladaTexBinormal* _pTexBinormalArray;
885 u8 _texBinormalCount;
891 struct GxColladaMaterialParameter
899 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
902 enum class PARAMETER_TYPE
918 enum class FILTER_TYPE
935 : _pSurfaceName(nullptr)
936 , _minFilter(FILTER_TYPE::
UNKNOWN)
937 , _magFilter(FILTER_TYPE::
UNKNOWN)
946 GX_CSTR _pSurfaceName;
947 FILTER_TYPE _minFilter;
948 FILTER_TYPE _magFilter;
960 GxColladaMaterialParameter(
void)
962 , _type(PARAMETER_TYPE::
UNKNOWN)
968 ~GxColladaMaterialParameter(
void){}
977 PARAMETER_TYPE _type;
991 struct GxColladaMaterialExtra
999 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
1008 GxColladaMaterialExtra(
void)
1013 ~GxColladaMaterialExtra(
void){}
1028 struct GxColladaMaterial
1036 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
1045 GxColladaMaterial(
void)
1046 : _pTechniqueHintArray(nullptr)
1047 , _techniqueHintCount(0)
1048 , _pSetParameterArray(nullptr)
1049 , _setParameterCount(0)
1050 , _pExtraData(nullptr)
1054 ~GxColladaMaterial(
void)
1057 GX_SAFE_DELETE_ARRAY(_pSetParameterArray);
1058 GX_SAFE_DELETE(_pExtraData);
1067 GX_CSTR* _pTechniqueHintArray;
1068 u32 _techniqueHintCount;
1069 GxColladaMaterialParameter* _pSetParameterArray;
1070 u32 _setParameterCount;
1071 GxColladaMaterialExtra* _pExtraData;
1077 struct GxColladaUVEffect
1085 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
1088 static constexpr u32 NUM_UVEFFECT_STAGES = 16;
1097 GxColladaUVEffect(
void)
1099 for ( s32 i = 0; i < static_cast<s32>(NUM_UVEFFECT_STAGES); i ++ )
1113 GxVector2 _repeatUV[NUM_UVEFFECT_STAGES];
1114 GxVector2 _offsetUV[NUM_UVEFFECT_STAGES];
1115 f32 _rotateUV[NUM_UVEFFECT_STAGES];
1121 struct GxColladaEffect
1129 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
1141 : _pTexcoordName(nullptr)
1142 , _repeatUV(1.f,1.f)
1143 , _offsetUV(0.f,0.f)
1153 GX_CSTR _pTexcoordName;
1168 GxColladaEffect(
void)
1169 : _pEffectTextureArray(nullptr)
1170 , _effectTextureCount(0)
1173 ~GxColladaEffect(
void){ GX_SAFE_DELETE_ARRAY(_pEffectTextureArray); }
1181 Texture* _pEffectTextureArray;
1182 u32 _effectTextureCount;
1188 struct GxColladaAnimationTangentKey
1196 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
1211 struct GxColladaAnimations
1219 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP);
1222 enum class ANIMATION_ELEMENT
1244 enum class INTERPOLATION_TYPE
1262 GxColladaAnimations(
void)
1266 , _pInputKeyArray(nullptr)
1267 , _pOutputKeyArray(nullptr)
1268 , _pInTangentKeyArray(nullptr)
1269 , _pOutTangentKeyArray(nullptr)
1270 , _pInterpolationKeyArray(nullptr)
1273 ~GxColladaAnimations(
void)
1277 GX_SAFE_DELETE_ARRAY(_pInTangentKeyArray);
1278 GX_SAFE_DELETE_ARRAY(_pOutTangentKeyArray);
1292 f32* _pInputKeyArray;
1293 void* _pOutputKeyArray;
1294 GxColladaAnimationTangentKey* _pInTangentKeyArray;
1295 GxColladaAnimationTangentKey* _pOutTangentKeyArray;
1296 INTERPOLATION_TYPE* _pInterpolationKeyArray;
1308 GxColladaReader(
void);
1310 ~GxColladaReader(
void)
override;
1313 b32 initialize(
GxStream& stream, GxColladaReaderNotifierBase* pNotifier =
nullptr);
1315 void terminate(
void);
1328 virtual b32 analyseCollada(
const GxXmlParser* pXmlParser);
1330 virtual b32 analyseCustom(
const GxXmlParser* pXmlParser);
1333 virtual b32 analyseCommonAsset(
const GxXmlParser::GxNode* pNode);
1335 virtual b32 analyseLibraryCameras(
const GxXmlParser::GxNode* pNode);
1337 virtual b32 analyseLibraryImages(
const GxXmlParser::GxNode* pNode);
1339 virtual b32 analyseLibraryVisualScenesJoint(
const GxXmlParser::GxNode* pNode);
1341 virtual b32 analyseLibraryMaterials(
const GxXmlParser::GxNode* pNode);
1343 virtual b32 analyseLibraryEffects(
const GxXmlParser::GxNode* pNode);
1345 virtual b32 analyseLibraryVisualScenesBindMaterial(
const GxXmlParser::GxNode* pNode);
1347 virtual b32 analyseLibraryGeometories(
const GxXmlParser::GxNode* pNode);
1349 virtual b32 analyseLibraryControllers(
const GxXmlParser::GxNode* pNode);
1351 virtual b32 analyseLibraryVisualScenesParts(
const GxXmlParser::GxNode* pNode);
1353 virtual b32 analyseLibraryAnimations(
const GxXmlParser::GxNode* pNode);
1356 virtual b32 analyseLibraryMaterialSubRoutineTechniqueHint(GxColladaMaterial* pColladaMaterial,
const GxXmlParser::GxNode*& pNodeTechniqueHint);
1358 virtual b32 analyseLibraryMaterialSubRoutineSetParam(GxColladaMaterial* pColladaMaterial,
const GxXmlParser::GxNode*& pNodeSetParam);
1360 virtual b32 analyseLibraryMaterialSubRoutineExtra(GxColladaMaterial* pColladaMaterial,
const GxXmlParser::GxNode* pNodeExtra);
1362 virtual b32 analyseLibraryGeometrySubRoutineMesh(GxColladaGeometry* pColladaGeometry,
const GxXmlParser::GxNode* pNodeMesh);
1364 virtual b32 analyseLibraryVisualScenesSubRoutineRootNode(
const GxXmlParser::GxNode* pNodeRoot);
1366 virtual b32 analyseLibraryVisualScenesSubRoutineJoint(
const GxXmlParser::GxNode* pNodeJoint, u32 parentId = GX_INVALID_HANDLE);
1368 virtual b32 analyseLibraryVisualScenesSubRoutineParts(GxColladaParts* pColladaParts,
const GxXmlParser::GxNode* pNodeParts, u16 partsId, u16 lodMask);
1371 static s32 checkPartsKeyWord(GX_CSTR src);
1373 static s32 checkLODKeyWord(GX_CSTR src);
1375 static s32 checkHavokKeyWord(GX_CSTR src);
1384 GX_FORCE_INLINE
const GxColladaCommonAsset* getCommonAsset(
void)
const {
return &_commonData; };
1387 constexpr GxColladaCamera* getCameraArray(
void)
const {
return _pCameraData; };
1389 constexpr u32 getCameraCount(
void)
const {
return _cameraCount; };
1392 constexpr GxColladaTexture* getTextureArray(
void)
const {
return _pTextureData; }
1394 constexpr u32 getTextureCount(
void)
const {
return _textureCount; }
1397 constexpr GxColladaMaterial* getMaterialArray(
void)
const {
return _pMaterialData; }
1399 constexpr u32 getMaterialCount(
void)
const {
return _materialCount; }
1401 constexpr GxColladaMaterial* getMaterialData(u32
id)
const {
return _pMaterialData ? &_pMaterialData[id] :
nullptr; }
1403 constexpr GxColladaMaterial* getMaterialData(GX_CSTR name)
const {
return getMaterialData(getMaterialId(name)); }
1405 constexpr GX_CSTR getMaterialName(u32
id)
const {
return _pMaterialTable ? _pMaterialTable[id] :
nullptr; }
1407 constexpr GX_CSTR getMaterialName(
const GxColladaTriangles& triangles)
const {
return getMaterialName(triangles._materialId); }
1410 constexpr GxColladaGeometry* getGeometryArray(
void)
const {
return _pGeometryData; }
1412 constexpr u32 getGeometryCount(
void)
const {
return _geometryCount; }
1415 GX_FORCE_INLINE
const GxColladaRootNode* getRootNode(
void)
const {
return &_rootNodeData; }
1418 constexpr GxColladaJoint* getJointArray(
void)
const {
return _pJointData; }
1420 constexpr u32 getJointCount(
void)
const {
return _jointCount; }
1423 constexpr GxColladaSkin* getSkinArray(
void)
const {
return _pSkinData; }
1425 constexpr u32 getSkinCount(
void)
const {
return _skinCount; }
1428 constexpr GxColladaParts* getPartsArray(
void)
const {
return _pPartsData; }
1430 constexpr u32 getPartsCount(
void)
const {
return _partsCount; }
1433 constexpr GxColladaAnimations* getAnimationArray(
void)
const {
return _pAnimationData; }
1435 constexpr u32 getAnimationCount(
void)
const {
return _animationCount; }
1438 constexpr u32* getDestructionPartsCount(
void)
const {
return _pDestructionPartsCount; }
1442 u32 getCameraId(GX_CSTR cameraName)
const;
1444 u32 getTextureId(GX_CSTR textureName)
const;
1446 u32 getMaterialId(GX_CSTR materialName)
const;
1448 u32 getMaterialIdBySymbol(GX_CSTR materialSymbol)
const;
1450 u32 getShapeId(GX_CSTR shapeName)
const;
1452 u32 getShapeIdBySkinName(GX_CSTR skinName)
const;
1454 u32 getJointIdBySymbol(GX_CSTR jointSymbol)
const;
1456 u32 getAnimationId(GX_CSTR animationName)
const;
1461 void setColladaUVEffect(u32 mateIndex, GX_CSTR semaName, GX_CSTR inputSet);
1463 b32 getUVEffectById(u32 mateIndex, u32 inputSet,
GxVector2& retRepeatUV,
GxVector2& outOffsetUV, f32& outRotateUV)
const;
1466 static void getColladaAnimationTangentKeyFromXmlData(GxColladaAnimationTangentKey* pDst, GX_CSTR src, u32 count = 1);
1468 static GxColladaMaterialParameter::FILTER_TYPE getFilterType(GX_CSTR filterName);
1470 static b32 isJointNode(
const GxXmlParser::GxNode* pNodeJoint);
1472 static GX_CSTR getLastWord(GX_CSTR src);
1480 GxXmlParser* _pXmlParser;
1481 GxColladaReaderNotifierBase* _pNotifier;
1483 GX_CSTR* _pCameraTable;
1484 GX_CSTR* _pTextureTable;
1485 GX_CSTR* _pMaterialTable;
1486 GX_CSTR* _pMaterialSymbolTable;
1487 GX_CSTR* _pMaterialInsEffectTable;
1488 GX_CSTR* _pEffectTable;
1489 GX_CSTR* _pShapeTable;
1490 SkinTable* _pSkinTable;
1491 GX_CSTR* _pJointSubIdTable;
1492 GX_CSTR* _pAnimationTable;
1494 GxColladaCommonAsset _commonData;
1495 GxColladaCamera* _pCameraData;
1496 GxColladaTexture* _pTextureData;
1497 GxColladaMaterial* _pMaterialData;
1498 GxColladaEffect* _pEffectData;
1499 GxColladaUVEffect* _pUVEffectData;
1500 GxColladaGeometry* _pGeometryData;
1501 GxColladaSkin* _pSkinData;
1502 GxColladaRootNode _rootNodeData;
1503 GxColladaJoint* _pJointData;
1504 GxColladaParts* _pPartsData;
1505 GxColladaAnimations* _pAnimationData;
1506 u32* _pDestructionPartsCount;
1516 u32 _animationCount;
1526class GxColladaReaderNotifierBase
1534 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
1538 struct GxColladaCommonAssetCallback
1540 GxColladaReader::GxColladaCommonAsset _commonAsset;
1544 struct GxColladaCameraCallback
1546 GxColladaReader::GxColladaCamera* _pCameraArray;
1551 struct GxColladaTextureCallback
1553 GxColladaReader::GxColladaTexture* _pTextureArray;
1558 struct GxColladaMaterialCallback
1560 GxColladaReader::GxColladaMaterial* _pMaterialArray;
1565 struct GxColladaGeometryCallback
1567 GxColladaReader::GxColladaGeometry* _pGeometryArray;
1572 struct GxColladaRootNodeCallback
1574 GxColladaReader::GxColladaRootNode* _pRootNode;
1578 struct GxColladaJointCallback
1580 GxColladaReader::GxColladaJoint* _pJointArray;
1585 struct GxColladaSkinCallback
1587 GxColladaReader::GxColladaSkin* _pSkinArray;
1592 struct GxColladaPartsCallback
1594 GxColladaReader::GxColladaParts* _pPartsArray;
1596 u32 _destructionMeshCount;
1597 u32 _normalPartsCount;
1601 struct GxColladaAnimationCallback
1603 GxColladaReader::GxColladaAnimations* _pAnimationArray;
1604 u32 _animationCount;
1615 GxColladaReaderNotifierBase(
void){}
1617 virtual ~GxColladaReaderNotifierBase(
void){}
1628 virtual void onColladaCommonAsset(
const GxColladaCommonAssetCallback& ) {}
1630 virtual void onColladaCamera(
const GxColladaCameraCallback& ) {}
1632 virtual void onColladaTexture(
const GxColladaTextureCallback& ) {}
1634 virtual void onColladaRootNode(
const GxColladaRootNodeCallback& ) {}
1636 virtual void onColladaJoint(
const GxColladaJointCallback& ) {}
1638 virtual void onColladaMaterial(
const GxColladaMaterialCallback& ) {}
1640 virtual void onColladaGeometry(
const GxColladaGeometryCallback& ) {}
1642 virtual void onColladaSkin(
const GxColladaSkinCallback& ) {}
1644 virtual void onColladaParts(
const GxColladaPartsCallback& ) {}
1646 virtual void onColladaAnimation(
const GxColladaAnimationCallback& ) {}
1650 static void printColladaCommonAsset(
const GxColladaCommonAssetCallback& value);
1652 static void printColladaCamera(
const GxColladaCameraCallback& value);
1654 static void printColladaTexture(
const GxColladaTextureCallback& value);
1656 static void printColladaMaterial(
const GxColladaMaterialCallback& value);
1658 static void printColladaGeometry(
const GxColladaGeometryCallback& value);
1660 static void printColladaRootNode(
const GxColladaRootNodeCallback& value);
1662 static void printColladaJoint(
const GxColladaJointCallback& value);
1664 static void printColladaSkin(
const GxColladaSkinCallback& value);
1666 static void printColladaParts(
const GxColladaPartsCallback& value);
1668 static void printColladaAnimation(
const GxColladaAnimationCallback& value);
1673GX_CORE_NAMESPACE_END()
#define GX_SAFE_FREE_MEMORY(pAddress)
Definition GxAllocator.h:594
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
OUTPUT_TYPE
出力形式
Definition GxDefine.h:244
@ POSITION
位置データ(VS入力,VS出力)
@ COLOR
4D パック済み 正規化される u8(GxColor形式)
@ FLOAT3
3D f32 (f, f, f, 1) に展開される
@ FLOAT2
2D f32 (f, f, 0, 1) に展開される
@ FLOAT4
4D f32 (f, f, f, f) に展開される
#define GX_STRCMP(__STRING0__, __STRING1__)
文字列比較
Definition GxString.h:616
ストリーム基礎クラス
Definition GxStream.h:20
色(HDR)
Definition GxColor.h:241
4×4行列(行優先)
Definition GxMatrix.h:607
2次元ベクトル
Definition GxVector.h:34
static const GxVector2 ONE
(1, 1)
Definition GxVector.h:47
static const GxVector2 ZERO
(0, 0)
Definition GxVector.h:45
3次元ベクトル
Definition GxVector.h:245
4次元ベクトル
Definition GxVector.h:582
32bitブーリアン
Definition GxDefine.h:173