hkxVertexP4N4W4I4C1T.h
上传用户:yisoukefu
上传日期:2020-08-09
资源大小:39506k
文件大小:5k
源码类别:

其他游戏

开发平台:

Visual C++

  1. /* 
  2.  * 
  3.  * Confidential Information of Telekinesys Research Limited (t/a Havok). Not for disclosure or distribution without Havok's
  4.  * prior written consent. This software contains code, techniques and know-how which is confidential and proprietary to Havok.
  5.  * Level 2 and Level 3 source code contains trade secrets of Havok. Havok Software (C) Copyright 1999-2009 Telekinesys Research Limited t/a Havok. All Rights Reserved. Use of this software is subject to the terms of an end user license agreement.
  6.  * 
  7.  */
  8. #ifndef HKSCENEDATA_MESH_FORMATS_HKXVERTEXP4N4W4I4C1Q2_HKCLASS_H
  9. #define HKSCENEDATA_MESH_FORMATS_HKXVERTEXP4N4W4I4C1Q2_HKCLASS_H
  10. extern const class hkClass hkxVertexP4N4W4I4C1Q2Class;
  11. extern const class hkClass hkxVertexP4N4W4I4T2Class;
  12. extern const class hkClass hkxVertexP4N4W4I4C1T4Class;
  13. extern const class hkClass hkxVertexP4N4W4I4T6Class;
  14. extern const class hkClass hkxVertexP4N4W4I4C1T8Class;
  15. extern const class hkClass hkxVertexP4N4W4I4C1T12Class;
  16. // For backward compat, [Deprecated, quantized tcoords not much use]
  17. class hkxVertexP4N4W4I4C1Q2
  18. {
  19. public:
  20. HK_DECLARE_NONVIRTUAL_CLASS_ALLOCATOR( HK_MEMORY_CLASS_SCENE_DATA, hkxVertexP4N4W4I4C1Q2 );
  21. HK_DECLARE_REFLECTION();
  22. public:
  23. hkVector4 m_position;
  24. hkVector4 m_normal;
  25. hkUint32 m_weights;
  26. hkUint32 m_indices;
  27. hkUint32 m_diffuse;
  28. hkInt16 m_qu; 
  29. hkInt16 m_qv;
  30. };
  31. // 1 or 2 Tcoords
  32. class hkxVertexP4N4W4I4C1T4
  33. {
  34. // +version(1) 
  35. public:
  36. HK_DECLARE_NONVIRTUAL_CLASS_ALLOCATOR( HK_MEMORY_CLASS_SCENE_DATA, hkxVertexP4N4W4I4C1T4 );
  37. HK_DECLARE_REFLECTION();
  38. public:
  39. hkVector4 m_position;
  40. hkVector4 m_normal;
  41. hkUint8 m_w0;
  42. hkUint8 m_w1;
  43. hkUint8 m_w2;
  44. hkUint8 m_w3;
  45. hkUint8 m_i0;
  46. hkUint8 m_i1;
  47. hkUint8 m_i2;
  48. hkUint8 m_i3;
  49. hkUint32 m_diffuseA;
  50. hkReal m_u0;
  51. hkReal m_v0;
  52. hkReal m_u1;
  53. hkReal m_v1;
  54. hkUint32 m_diffuseB;
  55. };
  56. // No vcolor, so no need for padding
  57. class hkxVertexP4N4W4I4T2
  58. {
  59. public:
  60. HK_DECLARE_NONVIRTUAL_CLASS_ALLOCATOR( HK_MEMORY_CLASS_SCENE_DATA, hkxVertexP4N4W4I4T2 );
  61. HK_DECLARE_REFLECTION();
  62. public:
  63. hkVector4 m_position;
  64. hkVector4 m_normal;
  65. hkUint8 m_w0;
  66. hkUint8 m_w1;
  67. hkUint8 m_w2;
  68. hkUint8 m_w3;
  69. hkUint8 m_i0;
  70. hkUint8 m_i1;
  71. hkUint8 m_i2;
  72. hkUint8 m_i3;
  73. hkReal m_u0;
  74. hkReal m_v0;
  75. };
  76. // 3 Tcoords, no vcolor
  77. class hkxVertexP4N4W4I4T6
  78. {
  79. public:
  80. HK_DECLARE_NONVIRTUAL_CLASS_ALLOCATOR( HK_MEMORY_CLASS_SCENE_DATA, hkxVertexP4N4W4I4T6 );
  81. HK_DECLARE_REFLECTION();
  82. public:
  83. hkVector4 m_position;
  84. hkVector4 m_normal;
  85. hkUint8 m_w0;
  86. hkUint8 m_w1;
  87. hkUint8 m_w2;
  88. hkUint8 m_w3;
  89. hkUint8 m_i0;
  90. hkUint8 m_i1;
  91. hkUint8 m_i2;
  92. hkUint8 m_i3;
  93. hkReal m_u0;
  94. hkReal m_v0;
  95. hkReal m_u1;
  96. hkReal m_v1;
  97. hkReal m_u2;
  98. hkReal m_v2;
  99. };
  100. // 3 or 4 Tcoords
  101. class hkxVertexP4N4W4I4C1T8
  102. {
  103. // +version(1) 
  104. public:
  105. HK_DECLARE_NONVIRTUAL_CLASS_ALLOCATOR( HK_MEMORY_CLASS_SCENE_DATA, hkxVertexP4N4W4I4C1T8 );
  106. HK_DECLARE_REFLECTION();
  107. public:
  108. hkVector4 m_position;
  109. hkVector4 m_normal;
  110. hkUint8 m_w0;
  111. hkUint8 m_w1;
  112. hkUint8 m_w2;
  113. hkUint8 m_w3;
  114. hkUint8 m_i0;
  115. hkUint8 m_i1;
  116. hkUint8 m_i2;
  117. hkUint8 m_i3;
  118. hkUint32 m_diffuseA;
  119. hkReal m_u0;
  120. hkReal m_v0;
  121. hkReal m_u1;
  122. hkReal m_v1;
  123. hkReal m_u2;
  124. hkReal m_v2;
  125. hkReal m_u3;
  126. hkReal m_v3;
  127. hkUint32 m_diffuseB;
  128. };
  129. // 5 or 6 Tcoords
  130. class hkxVertexP4N4W4I4C1T12
  131. {
  132. // +version(1) 
  133. public:
  134. HK_DECLARE_NONVIRTUAL_CLASS_ALLOCATOR( HK_MEMORY_CLASS_SCENE_DATA, hkxVertexP4N4W4I4C1T12 );
  135. HK_DECLARE_REFLECTION();
  136. public:
  137. hkVector4 m_position;
  138. hkVector4 m_normal;
  139. hkUint8 m_w0;
  140. hkUint8 m_w1;
  141. hkUint8 m_w2;
  142. hkUint8 m_w3;
  143. hkUint8 m_i0;
  144. hkUint8 m_i1;
  145. hkUint8 m_i2;
  146. hkUint8 m_i3;
  147. hkUint32 m_diffuseA;
  148. hkReal m_u0;
  149. hkReal m_v0;
  150. hkReal m_u1;
  151. hkReal m_v1;
  152. hkReal m_u2;
  153. hkReal m_v2;
  154. hkReal m_u3;
  155. hkReal m_v3;
  156. hkReal m_u4;
  157. hkReal m_v4;
  158. hkReal m_u5;
  159. hkReal m_v5;
  160. hkUint32 m_diffuseB;
  161. };
  162. #endif // HKSCENEDATA_MESH_FORMATS_HKXVERTEXP4N4W4I4C1Q2_HKCLASS_H
  163. /*
  164. * Havok SDK - NO SOURCE PC DOWNLOAD, BUILD(#20090216)
  165. * Confidential Information of Havok.  (C) Copyright 1999-2009
  166. * Telekinesys Research Limited t/a Havok. All Rights Reserved. The Havok
  167. * Logo, and the Havok buzzsaw logo are trademarks of Havok.  Title, ownership
  168. * rights, and intellectual property rights in the Havok software remain in
  169. * Havok and/or its suppliers.
  170. * Use of this software for evaluation purposes is subject to and indicates
  171. * acceptance of the End User licence Agreement for this product. A copy of
  172. * the license is included with this software and is also available at www.havok.com/tryhavok.
  173. */