geometry.gs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. #version 430
  2. layout (points) in;
  3. layout (triangle_strip, max_vertices = 12) out;
  4. uniform mat4 proj;
  5. uniform mat4 view;
  6. in vec3 varTexture[];
  7. in int varIndex[];
  8. out vec3 varTextureG;
  9. vec3 vectors[13] = {
  10. vec3(0.0, 0.0, 0.0), vec3(0.5, 1.0, 1.0), vec3(0.0, 0.5, 1.0),
  11. vec3(0.0, 1.0, 0.5), vec3(1.0, 0.5, 1.0), vec3(1.0, 1.0, 0.5),
  12. vec3(0.5, 1.0, 0.0), vec3(1.0, 0.5, 0.0), vec3(0.0, 0.5, 0.0),
  13. vec3(0.0, 0.0, 0.5), vec3(0.5, 0.0, 1.0), vec3(1.0, 0.0, 0.5),
  14. vec3(0.5, 0.0, 0.0)};
  15. int table[3072] = {
  16. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0,
  17. 0, 0, 0, 0, 0, 4, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5,
  18. 2, 5, 2, 4, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0,
  19. 0, 0, 0, 5, 6, 7, 3, 1, 2, 0, 0, 0, 0, 0, 0, 7, 4, 6, 4,
  20. 6, 1, 0, 0, 0, 0, 0, 0, 3, 6, 2, 7, 6, 2, 7, 2, 4, 0, 0,
  21. 0, 3, 8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 1, 8, 1, 8, 2,
  22. 0, 0, 0, 0, 0, 0, 6, 3, 8, 1, 5, 4, 0, 0, 0, 0, 0, 0, 6,
  23. 5, 8, 4, 5, 8, 4, 8, 2, 0, 0, 0, 5, 3, 7, 3, 7, 8, 0, 0,
  24. 0, 0, 0, 0, 5, 1, 7, 2, 1, 7, 2, 7, 8, 0, 0, 0, 1, 3, 4,
  25. 8, 3, 4, 8, 4, 7, 0, 0, 0, 8, 7, 2, 4, 7, 2, 0, 0, 0, 0,
  26. 0, 0, 9, 2, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 3, 10, 3, 10,
  27. 1, 0, 0, 0, 0, 0, 0, 4, 1, 5, 2, 10, 9, 0, 0, 0, 0, 0, 0,
  28. 4, 10, 5, 9, 10, 5, 9, 5, 3, 0, 0, 0, 9, 2, 10, 5, 7, 6, 0,
  29. 0, 0, 0, 0, 0, 9, 3, 10, 3, 10, 1, 7, 6, 5, 0, 0, 0, 7, 4,
  30. 6, 4, 6, 1, 9, 10, 2, 0, 0, 0, 4, 10, 7, 3, 10, 7, 3, 10, 9,
  31. 3, 6, 7, 9, 2, 10, 3, 8, 6, 0, 0, 0, 0, 0, 0, 9, 8, 10, 6,
  32. 8, 10, 6, 10, 1, 0, 0, 0, 6, 8, 3, 10, 2, 9, 1, 4, 5, 0, 0,
  33. 0, 4, 5, 6, 4, 10, 6, 8, 10, 6, 8, 10, 9, 5, 3, 7, 3, 7, 8,
  34. 10, 2, 9, 0, 0, 0, 9, 7, 1, 9, 10, 1, 5, 7, 1, 9, 7, 8, 9,
  35. 10, 8, 4, 10, 8, 4, 10, 7, 3, 2, 1, 9, 10, 8, 4, 10, 8, 4, 8,
  36. 7, 0, 0, 0, 10, 4, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 4, 11,
  37. 1, 2, 3, 0, 0, 0, 0, 0, 0, 5, 11, 1, 11, 1, 10, 0, 0, 0, 0,
  38. 0, 0, 10, 2, 11, 3, 2, 11, 3, 11, 5, 0, 0, 0, 7, 5, 6, 4, 11,
  39. 10, 0, 0, 0, 0, 0, 0, 3, 2, 1, 11, 4, 10, 5, 7, 6, 0, 0, 0,
  40. 7, 11, 6, 10, 11, 6, 10, 6, 1, 0, 0, 0, 7, 6, 3, 7, 11, 3, 2,
  41. 11, 3, 2, 11, 10, 10, 4, 11, 6, 8, 3, 0, 0, 0, 0, 0, 0, 6, 1,
  42. 8, 1, 8, 2, 11, 4, 10, 0, 0, 0, 10, 1, 11, 1, 11, 5, 8, 3, 6,
  43. 0, 0, 0, 10, 8, 5, 10, 11, 5, 6, 8, 5, 10, 8, 2, 8, 7, 3, 7,
  44. 3, 5, 10, 11, 4, 0, 0, 0, 10, 11, 2, 7, 11, 2, 7, 11, 8, 1, 4,
  45. 5, 7, 11, 8, 1, 11, 8, 1, 11, 10, 1, 3, 8, 10, 11, 2, 7, 11, 2,
  46. 7, 2, 8, 0, 0, 0, 11, 9, 4, 9, 4, 2, 0, 0, 0, 0, 0, 0, 1,
  47. 4, 3, 11, 4, 3, 11, 3, 9, 0, 0, 0, 2, 1, 9, 5, 1, 9, 5, 9,
  48. 11, 0, 0, 0, 3, 5, 9, 11, 5, 9, 0, 0, 0, 0, 0, 0, 2, 4, 9,
  49. 4, 9, 11, 6, 5, 7, 0, 0, 0, 7, 6, 11, 3, 6, 11, 3, 6, 9, 4,
  50. 5, 1, 7, 1, 9, 7, 11, 9, 2, 1, 9, 7, 1, 6, 7, 6, 11, 3, 6,
  51. 11, 3, 11, 9, 0, 0, 0, 11, 9, 4, 9, 4, 2, 6, 8, 3, 0, 0, 0,
  52. 1, 4, 6, 9, 4, 6, 9, 4, 11, 9, 8, 6, 6, 8, 5, 9, 8, 5, 9,
  53. 8, 11, 1, 3, 2, 6, 8, 5, 9, 8, 5, 9, 5, 11, 0, 0, 0, 7, 11,
  54. 9, 7, 9, 9, 5, 4, 2, 5, 2, 2, 9, 11, 8, 11, 8, 7, 1, 4, 5,
  55. 0, 0, 0, 7, 8, 11, 8, 11, 9, 1, 3, 2, 0, 0, 0, 9, 11, 8, 11,
  56. 8, 7, 0, 0, 0, 0, 0, 0, 11, 7, 12, 0, 0, 0, 0, 0, 0, 0, 0,
  57. 0, 11, 7, 12, 3, 2, 1, 0, 0, 0, 0, 0, 0, 11, 7, 12, 5, 4, 1,
  58. 0, 0, 0, 0, 0, 0, 3, 5, 2, 5, 2, 4, 12, 7, 11, 0, 0, 0, 11,
  59. 5, 12, 5, 12, 6, 0, 0, 0, 0, 0, 0, 11, 5, 12, 5, 12, 6, 2, 1,
  60. 3, 0, 0, 0, 11, 4, 12, 1, 4, 12, 1, 12, 6, 0, 0, 0, 11, 2, 6,
  61. 11, 12, 6, 3, 2, 6, 11, 2, 4, 7, 12, 11, 8, 6, 3, 0, 0, 0, 0,
  62. 0, 0, 2, 8, 1, 8, 1, 6, 11, 12, 7, 0, 0, 0, 1, 4, 5, 12, 7,
  63. 11, 6, 8, 3, 0, 0, 0, 11, 12, 4, 8, 12, 4, 8, 12, 2, 5, 7, 6,
  64. 8, 12, 3, 11, 12, 3, 11, 3, 5, 0, 0, 0, 8, 12, 2, 5, 12, 2, 5,
  65. 12, 11, 5, 1, 2, 8, 3, 1, 8, 12, 1, 4, 12, 1, 4, 12, 11, 11, 12,
  66. 4, 8, 12, 4, 8, 4, 2, 0, 0, 0, 12, 11, 7, 10, 9, 2, 0, 0, 0,
  67. 0, 0, 0, 1, 10, 3, 10, 3, 9, 7, 11, 12, 0, 0, 0, 12, 7, 11, 1,
  68. 4, 5, 10, 2, 9, 0, 0, 0, 12, 7, 9, 5, 7, 9, 5, 7, 3, 10, 11,
  69. 4, 6, 12, 5, 12, 5, 11, 2, 9, 10, 0, 0, 0, 12, 9, 3, 12, 3, 3,
  70. 11, 10, 1, 11, 1, 1, 11, 4, 12, 1, 4, 12, 1, 4, 6, 9, 10, 2, 3,
  71. 9, 6, 9, 6, 12, 4, 10, 11, 0, 0, 0, 3, 6, 8, 11, 12, 7, 9, 10,
  72. 2, 0, 0, 0, 7, 11, 6, 10, 11, 6, 10, 11, 1, 8, 12, 9, 12, 8, 9,
  73. 6, 7, 5, 1, 2, 3, 6, 7, 5, 9, 8, 12, 5, 7, 6, 11, 4, 10, 0,
  74. 0, 0, 8, 12, 3, 11, 12, 3, 11, 12, 5, 2, 9, 10, 5, 11, 1, 11, 1,
  75. 10, 8, 12, 9, 0, 0, 0, 8, 12, 9, 4, 10, 11, 2, 1, 3, 0, 0, 0,
  76. 11, 10, 4, 9, 12, 8, 0, 0, 0, 0, 0, 0, 12, 10, 7, 10, 7, 4, 0,
  77. 0, 0, 0, 0, 0, 12, 10, 7, 10, 7, 4, 3, 2, 1, 0, 0, 0, 5, 7,
  78. 1, 12, 7, 1, 12, 1, 10, 0, 0, 0, 12, 7, 10, 3, 7, 10, 3, 7, 5,
  79. 3, 2, 10, 4, 5, 10, 6, 5, 10, 6, 10, 12, 0, 0, 0, 4, 5, 10, 6,
  80. 5, 10, 6, 5, 12, 2, 1, 3, 12, 6, 10, 1, 6, 10, 0, 0, 0, 0, 0,
  81. 0, 3, 2, 6, 10, 2, 6, 10, 6, 12, 0, 0, 0, 4, 7, 10, 7, 10, 12,
  82. 3, 6, 8, 0, 0, 0, 6, 8, 2, 6, 2, 2, 7, 12, 10, 7, 10, 10, 5,
  83. 7, 1, 12, 7, 1, 12, 7, 10, 3, 6, 8, 10, 12, 2, 12, 2, 8, 5, 7,
  84. 6, 0, 0, 0, 4, 12, 3, 4, 5, 3, 8, 12, 3, 4, 12, 10, 8, 2, 12,
  85. 2, 12, 10, 5, 1, 4, 0, 0, 0, 8, 3, 12, 1, 3, 12, 1, 12, 10, 0,
  86. 0, 0, 10, 12, 2, 12, 2, 8, 0, 0, 0, 0, 0, 0, 12, 9, 7, 2, 9,
  87. 7, 2, 7, 4, 0, 0, 0, 12, 4, 3, 12, 9, 3, 1, 4, 3, 12, 4, 7,
  88. 2, 1, 5, 2, 9, 5, 7, 9, 5, 7, 9, 12, 12, 7, 9, 5, 7, 9, 5,
  89. 9, 3, 0, 0, 0, 2, 9, 4, 6, 9, 4, 6, 9, 12, 6, 5, 4, 12, 6,
  90. 9, 6, 9, 3, 4, 5, 1, 0, 0, 0, 2, 9, 1, 12, 9, 1, 12, 1, 6,
  91. 0, 0, 0, 3, 9, 6, 9, 6, 12, 0, 0, 0, 0, 0, 0, 12, 9, 7, 2,
  92. 9, 7, 2, 9, 4, 6, 8, 3, 1, 6, 4, 6, 4, 7, 9, 8, 12, 0, 0,
  93. 0, 5, 7, 6, 9, 8, 12, 3, 2, 1, 0, 0, 0, 12, 8, 9, 6, 7, 5,
  94. 0, 0, 0, 0, 0, 0, 4, 2, 5, 2, 5, 3, 12, 9, 8, 0, 0, 0, 12,
  95. 8, 9, 1, 4, 5, 0, 0, 0, 0, 0, 0, 8, 9, 12, 2, 3, 1, 0, 0,
  96. 0, 0, 0, 0, 12, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 8, 9,
  97. 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 12, 2, 3, 1, 0, 0, 0, 0,
  98. 0, 0, 12, 8, 9, 1, 4, 5, 0, 0, 0, 0, 0, 0, 4, 2, 5, 2, 5,
  99. 3, 12, 9, 8, 0, 0, 0, 12, 8, 9, 6, 7, 5, 0, 0, 0, 0, 0, 0,
  100. 5, 7, 6, 9, 8, 12, 3, 2, 1, 0, 0, 0, 1, 6, 4, 6, 4, 7, 9,
  101. 8, 12, 0, 0, 0, 12, 9, 7, 2, 9, 7, 2, 9, 4, 6, 8, 3, 3, 9,
  102. 6, 9, 6, 12, 0, 0, 0, 0, 0, 0, 2, 9, 1, 12, 9, 1, 12, 1, 6,
  103. 0, 0, 0, 12, 6, 9, 6, 9, 3, 4, 5, 1, 0, 0, 0, 2, 9, 4, 6,
  104. 9, 4, 6, 9, 12, 6, 5, 4, 12, 7, 9, 5, 7, 9, 5, 9, 3, 0, 0,
  105. 0, 2, 1, 5, 2, 9, 5, 7, 9, 5, 7, 9, 12, 12, 4, 3, 12, 9, 3,
  106. 1, 4, 3, 12, 4, 7, 12, 9, 7, 2, 9, 7, 2, 7, 4, 0, 0, 0, 10,
  107. 12, 2, 12, 2, 8, 0, 0, 0, 0, 0, 0, 8, 3, 12, 1, 3, 12, 1, 12,
  108. 10, 0, 0, 0, 8, 2, 12, 2, 12, 10, 5, 1, 4, 0, 0, 0, 4, 12, 3,
  109. 4, 5, 3, 8, 12, 3, 4, 12, 10, 10, 12, 2, 12, 2, 8, 5, 7, 6, 0,
  110. 0, 0, 5, 7, 1, 12, 7, 1, 12, 7, 10, 3, 6, 8, 6, 8, 2, 6, 2,
  111. 2, 7, 12, 10, 7, 10, 10, 4, 7, 10, 7, 10, 12, 3, 6, 8, 0, 0, 0,
  112. 3, 2, 6, 10, 2, 6, 10, 6, 12, 0, 0, 0, 12, 6, 10, 1, 6, 10, 0,
  113. 0, 0, 0, 0, 0, 4, 5, 10, 6, 5, 10, 6, 5, 12, 2, 1, 3, 4, 5,
  114. 10, 6, 5, 10, 6, 10, 12, 0, 0, 0, 12, 7, 10, 3, 7, 10, 3, 7, 5,
  115. 3, 2, 10, 5, 7, 1, 12, 7, 1, 12, 1, 10, 0, 0, 0, 12, 10, 7, 10,
  116. 7, 4, 3, 2, 1, 0, 0, 0, 12, 10, 7, 10, 7, 4, 0, 0, 0, 0, 0,
  117. 0, 11, 10, 4, 9, 12, 8, 0, 0, 0, 0, 0, 0, 8, 12, 9, 4, 10, 11,
  118. 2, 1, 3, 0, 0, 0, 5, 11, 1, 11, 1, 10, 8, 12, 9, 0, 0, 0, 8,
  119. 12, 3, 11, 12, 3, 11, 12, 5, 2, 9, 10, 9, 8, 12, 5, 7, 6, 11, 4,
  120. 10, 0, 0, 0, 12, 8, 9, 6, 7, 5, 1, 2, 3, 6, 7, 5, 7, 11, 6,
  121. 10, 11, 6, 10, 11, 1, 8, 12, 9, 3, 6, 8, 11, 12, 7, 9, 10, 2, 0,
  122. 0, 0, 3, 9, 6, 9, 6, 12, 4, 10, 11, 0, 0, 0, 11, 4, 12, 1, 4,
  123. 12, 1, 4, 6, 9, 10, 2, 12, 9, 3, 12, 3, 3, 11, 10, 1, 11, 1, 1,
  124. 6, 12, 5, 12, 5, 11, 2, 9, 10, 0, 0, 0, 12, 7, 9, 5, 7, 9, 5,
  125. 7, 3, 10, 11, 4, 12, 7, 11, 1, 4, 5, 10, 2, 9, 0, 0, 0, 1, 10,
  126. 3, 10, 3, 9, 7, 11, 12, 0, 0, 0, 12, 11, 7, 10, 9, 2, 0, 0, 0,
  127. 0, 0, 0, 11, 12, 4, 8, 12, 4, 8, 4, 2, 0, 0, 0, 8, 3, 1, 8,
  128. 12, 1, 4, 12, 1, 4, 12, 11, 8, 12, 2, 5, 12, 2, 5, 12, 11, 5, 1,
  129. 2, 8, 12, 3, 11, 12, 3, 11, 3, 5, 0, 0, 0, 11, 12, 4, 8, 12, 4,
  130. 8, 12, 2, 5, 7, 6, 1, 4, 5, 12, 7, 11, 6, 8, 3, 0, 0, 0, 2,
  131. 8, 1, 8, 1, 6, 11, 12, 7, 0, 0, 0, 7, 12, 11, 8, 6, 3, 0, 0,
  132. 0, 0, 0, 0, 11, 2, 6, 11, 12, 6, 3, 2, 6, 11, 2, 4, 11, 4, 12,
  133. 1, 4, 12, 1, 12, 6, 0, 0, 0, 11, 5, 12, 5, 12, 6, 2, 1, 3, 0,
  134. 0, 0, 11, 5, 12, 5, 12, 6, 0, 0, 0, 0, 0, 0, 3, 5, 2, 5, 2,
  135. 4, 12, 7, 11, 0, 0, 0, 11, 7, 12, 5, 4, 1, 0, 0, 0, 0, 0, 0,
  136. 11, 7, 12, 3, 2, 1, 0, 0, 0, 0, 0, 0, 11, 7, 12, 0, 0, 0, 0,
  137. 0, 0, 0, 0, 0, 9, 11, 8, 11, 8, 7, 0, 0, 0, 0, 0, 0, 7, 8,
  138. 11, 8, 11, 9, 1, 3, 2, 0, 0, 0, 9, 11, 8, 11, 8, 7, 1, 4, 5,
  139. 0, 0, 0, 7, 11, 9, 7, 9, 9, 5, 4, 2, 5, 2, 2, 6, 8, 5, 9,
  140. 8, 5, 9, 5, 11, 0, 0, 0, 6, 8, 5, 9, 8, 5, 9, 8, 11, 1, 3,
  141. 2, 1, 4, 6, 9, 4, 6, 9, 4, 11, 9, 8, 6, 11, 9, 4, 9, 4, 2,
  142. 6, 8, 3, 0, 0, 0, 7, 6, 11, 3, 6, 11, 3, 11, 9, 0, 0, 0, 7,
  143. 1, 9, 7, 11, 9, 2, 1, 9, 7, 1, 6, 7, 6, 11, 3, 6, 11, 3, 6,
  144. 9, 4, 5, 1, 2, 4, 9, 4, 9, 11, 6, 5, 7, 0, 0, 0, 3, 5, 9,
  145. 11, 5, 9, 0, 0, 0, 0, 0, 0, 2, 1, 9, 5, 1, 9, 5, 9, 11, 0,
  146. 0, 0, 1, 4, 3, 11, 4, 3, 11, 3, 9, 0, 0, 0, 11, 9, 4, 9, 4,
  147. 2, 0, 0, 0, 0, 0, 0, 10, 11, 2, 7, 11, 2, 7, 2, 8, 0, 0, 0,
  148. 7, 11, 8, 1, 11, 8, 1, 11, 10, 1, 3, 8, 10, 11, 2, 7, 11, 2, 7,
  149. 11, 8, 1, 4, 5, 8, 7, 3, 7, 3, 5, 10, 11, 4, 0, 0, 0, 10, 8,
  150. 5, 10, 11, 5, 6, 8, 5, 10, 8, 2, 10, 1, 11, 1, 11, 5, 8, 3, 6,
  151. 0, 0, 0, 6, 1, 8, 1, 8, 2, 11, 4, 10, 0, 0, 0, 10, 4, 11, 6,
  152. 8, 3, 0, 0, 0, 0, 0, 0, 7, 6, 3, 7, 11, 3, 2, 11, 3, 2, 11,
  153. 10, 7, 11, 6, 10, 11, 6, 10, 6, 1, 0, 0, 0, 3, 2, 1, 11, 4, 10,
  154. 5, 7, 6, 0, 0, 0, 7, 5, 6, 4, 11, 10, 0, 0, 0, 0, 0, 0, 10,
  155. 2, 11, 3, 2, 11, 3, 11, 5, 0, 0, 0, 5, 11, 1, 11, 1, 10, 0, 0,
  156. 0, 0, 0, 0, 10, 4, 11, 1, 2, 3, 0, 0, 0, 0, 0, 0, 10, 4, 11,
  157. 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 8, 4, 10, 8, 4, 8, 7, 0,
  158. 0, 0, 9, 10, 8, 4, 10, 8, 4, 10, 7, 3, 2, 1, 9, 7, 1, 9, 10,
  159. 1, 5, 7, 1, 9, 7, 8, 5, 3, 7, 3, 7, 8, 10, 2, 9, 0, 0, 0,
  160. 4, 5, 6, 4, 10, 6, 8, 10, 6, 8, 10, 9, 6, 8, 3, 10, 2, 9, 1,
  161. 4, 5, 0, 0, 0, 9, 8, 10, 6, 8, 10, 6, 10, 1, 0, 0, 0, 9, 2,
  162. 10, 3, 8, 6, 0, 0, 0, 0, 0, 0, 4, 10, 7, 3, 10, 7, 3, 10, 9,
  163. 3, 6, 7, 7, 4, 6, 4, 6, 1, 9, 10, 2, 0, 0, 0, 9, 3, 10, 3,
  164. 10, 1, 7, 6, 5, 0, 0, 0, 9, 2, 10, 5, 7, 6, 0, 0, 0, 0, 0,
  165. 0, 4, 10, 5, 9, 10, 5, 9, 5, 3, 0, 0, 0, 4, 1, 5, 2, 10, 9,
  166. 0, 0, 0, 0, 0, 0, 9, 3, 10, 3, 10, 1, 0, 0, 0, 0, 0, 0, 9,
  167. 2, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 7, 2, 4, 7, 2, 0, 0,
  168. 0, 0, 0, 0, 1, 3, 4, 8, 3, 4, 8, 4, 7, 0, 0, 0, 5, 1, 7,
  169. 2, 1, 7, 2, 7, 8, 0, 0, 0, 5, 3, 7, 3, 7, 8, 0, 0, 0, 0,
  170. 0, 0, 6, 5, 8, 4, 5, 8, 4, 8, 2, 0, 0, 0, 6, 3, 8, 1, 5,
  171. 4, 0, 0, 0, 0, 0, 0, 6, 1, 8, 1, 8, 2, 0, 0, 0, 0, 0, 0,
  172. 3, 8, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 2, 7, 6, 2, 7,
  173. 2, 4, 0, 0, 0, 7, 4, 6, 4, 6, 1, 0, 0, 0, 0, 0, 0, 5, 6,
  174. 7, 3, 1, 2, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0,
  175. 0, 0, 0, 3, 5, 2, 5, 2, 4, 0, 0, 0, 0, 0, 0, 4, 1, 5, 0,
  176. 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0,
  177. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  178. };
  179. const float step = 1.0 / 63.0;
  180. void main(void) {
  181. vec4 base = gl_in[0].gl_Position;
  182. int index = varIndex[0] * 12;
  183. for(int i = 0; i < 12; i += 3) {
  184. for(int k = 0; k < 3; k++) {
  185. vec3 offset = vectors[table[index + i + k]];
  186. gl_Position = proj * view * (base + vec4(offset, 0.0));
  187. varTextureG = varTexture[0] + offset * step;
  188. EmitVertex();
  189. }
  190. EndPrimitive();
  191. }
  192. }