VertexElement.cpp 1.6 KB

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