BsDrawOps.cpp 958 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //__________________________ Banshee Project - A modern game development toolkit _________________________________//
  2. //_____________________________________ www.banshee-project.com __________________________________________________//
  3. //________________________ Copyright (c) 2014 Marko Pintera. All rights reserved. ________________________________//
  4. #include "BsDrawOps.h"
  5. namespace BansheeEngine
  6. {
  7. UINT32 vertexCountToPrimCount(DrawOperationType type, UINT32 elementCount)
  8. {
  9. UINT32 primCount = 0;
  10. switch (type)
  11. {
  12. case DOT_POINT_LIST:
  13. primCount = elementCount;
  14. break;
  15. case DOT_LINE_LIST:
  16. primCount = elementCount / 2;
  17. break;
  18. case DOT_LINE_STRIP:
  19. primCount = elementCount - 1;
  20. break;
  21. case DOT_TRIANGLE_LIST:
  22. primCount = elementCount / 3;
  23. break;
  24. case DOT_TRIANGLE_STRIP:
  25. primCount = elementCount - 2;
  26. break;
  27. case DOT_TRIANGLE_FAN:
  28. primCount = elementCount - 2;
  29. break;
  30. }
  31. return primCount;
  32. }
  33. }