VertexElement.cpp 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #include "Base.h"
  2. #include "VertexElement.h"
  3. namespace gameplay
  4. {
  5. VertexElement::VertexElement(unsigned int t, unsigned int c) :
  6. usage(t),
  7. size(c)
  8. {
  9. }
  10. VertexElement::~VertexElement(void)
  11. {
  12. }
  13. const char* VertexElement::getElementName(void) const
  14. {
  15. return "VertexElement";
  16. }
  17. void VertexElement::writeBinary(FILE* file)
  18. {
  19. Object::writeBinary(file);
  20. write(usage, file);
  21. write(size, file);
  22. }
  23. void VertexElement::writeText(FILE* file)
  24. {
  25. fprintElementStart(file);
  26. fprintfElement(file, "usage", usageStr(usage));
  27. fprintfElement(file, "size", size);
  28. fprintElementEnd(file);
  29. }
  30. const char* VertexElement::usageStr(unsigned int usage)
  31. {
  32. switch (usage)
  33. {
  34. case UNKNOWN:
  35. return "UNKNOWN";
  36. case POSITION:
  37. return "POSITION";
  38. case NORMAL:
  39. return "NORMAL";
  40. case COLOR:
  41. return "COLOR";
  42. case TANGENT:
  43. return "TANGENT";
  44. case BINORMAL:
  45. return "BINORMAL";
  46. case BLENDWEIGHTS:
  47. return "BLENDWEIGHTS";
  48. case BLENDINDICES:
  49. return "BLENDINDICES";
  50. case TEXCOORD0:
  51. return "TEXCOORD0";
  52. case TEXCOORD1:
  53. return "TEXCOORD1";
  54. case TEXCOORD2:
  55. return "TEXCOORD2";
  56. case TEXCOORD3:
  57. return "TEXCOORD3";
  58. case TEXCOORD4:
  59. return "TEXCOORD4";
  60. case TEXCOORD5:
  61. return "TEXCOORD5";
  62. case TEXCOORD6:
  63. return "TEXCOORD6";
  64. case TEXCOORD7:
  65. return "TEXCOORD7";
  66. default:
  67. return "";
  68. }
  69. }
  70. }