BsDrawOps.cpp 857 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "BsDrawOps.h"
  4. namespace BansheeEngine
  5. {
  6. UINT32 vertexCountToPrimCount(DrawOperationType type, UINT32 elementCount)
  7. {
  8. UINT32 primCount = 0;
  9. switch (type)
  10. {
  11. case DOT_POINT_LIST:
  12. primCount = elementCount;
  13. break;
  14. case DOT_LINE_LIST:
  15. primCount = elementCount / 2;
  16. break;
  17. case DOT_LINE_STRIP:
  18. primCount = elementCount - 1;
  19. break;
  20. case DOT_TRIANGLE_LIST:
  21. primCount = elementCount / 3;
  22. break;
  23. case DOT_TRIANGLE_STRIP:
  24. primCount = elementCount - 2;
  25. break;
  26. case DOT_TRIANGLE_FAN:
  27. primCount = elementCount - 2;
  28. break;
  29. }
  30. return primCount;
  31. }
  32. }