IGL.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. namespace UnityEngine.U2D.Sprites
  2. {
  3. internal interface IGL
  4. {
  5. void PushMatrix();
  6. void PopMatrix();
  7. void MultMatrix(Matrix4x4 m);
  8. void Begin(int mode);
  9. void End();
  10. void Color(Color c);
  11. void Vertex(Vector3 v);
  12. }
  13. internal class GLSystem : IGL
  14. {
  15. static IGL m_GLSystem;
  16. internal static void SetSystem(IGL system)
  17. {
  18. m_GLSystem = system;
  19. }
  20. internal static IGL GetSystem()
  21. {
  22. if (m_GLSystem == null)
  23. m_GLSystem = new GLSystem();
  24. return m_GLSystem;
  25. }
  26. public void PushMatrix()
  27. {
  28. GL.PushMatrix();
  29. }
  30. public void PopMatrix()
  31. {
  32. GL.PopMatrix();
  33. }
  34. public void MultMatrix(Matrix4x4 m)
  35. {
  36. GL.MultMatrix(m);
  37. }
  38. public void Begin(int mode)
  39. {
  40. GL.Begin(mode);
  41. }
  42. public void End()
  43. {
  44. GL.End();
  45. }
  46. public void Color(Color c)
  47. {
  48. GL.Color(c);
  49. }
  50. public void Vertex(Vector3 v)
  51. {
  52. GL.Vertex(v);
  53. }
  54. }
  55. }