MemoryAccessorTests.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using NUnit.Framework;
  5. namespace SharpGLTF.Memory
  6. {
  7. [TestFixture]
  8. [Category("Core Memory")]
  9. public class MemoryAccessorTests
  10. {
  11. [Test]
  12. public void CreateInterleaved1()
  13. {
  14. var pos = MemoryAccessInfo.CreateDefaultElement("POSITION");
  15. var nrm = MemoryAccessInfo.CreateDefaultElement("NORMAL");
  16. var attributes = new[] { pos, nrm };
  17. const int baseOffset = 8;
  18. var byteStride = MemoryAccessInfo.SetInterleavedInfo(attributes, baseOffset, 5);
  19. pos = attributes[0];
  20. nrm = attributes[1];
  21. Assert.AreEqual(24, byteStride);
  22. Assert.AreEqual(baseOffset + 0, pos.ByteOffset);
  23. Assert.AreEqual(24, pos.ByteStride);
  24. Assert.AreEqual(5, pos.ItemsCount);
  25. Assert.AreEqual(baseOffset + 12, nrm.ByteOffset);
  26. Assert.AreEqual(24, nrm.ByteStride);
  27. Assert.AreEqual(5, nrm.ItemsCount);
  28. Assert.IsTrue(pos.IsValidVertexAttribute);
  29. Assert.IsTrue(nrm.IsValidVertexAttribute);
  30. }
  31. }
  32. }