@vpmedia/phaser 1.83.0 → 1.84.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/package.json +8 -7
  4. package/coverage/base.css +0 -224
  5. package/coverage/block-navigation.js +0 -87
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/index.html +0 -236
  8. package/coverage/prettify.css +0 -1
  9. package/coverage/prettify.js +0 -2
  10. package/coverage/sort-arrow-sprite.png +0 -0
  11. package/coverage/sorter.js +0 -210
  12. package/coverage/src/index.html +0 -116
  13. package/coverage/src/index.js.html +0 -241
  14. package/coverage/src/phaser/core/animation.js.html +0 -1450
  15. package/coverage/src/phaser/core/animation_manager.js.html +0 -1117
  16. package/coverage/src/phaser/core/animation_parser.js.html +0 -373
  17. package/coverage/src/phaser/core/array_set.js.html +0 -562
  18. package/coverage/src/phaser/core/cache.js.html +0 -2404
  19. package/coverage/src/phaser/core/const.js.html +0 -901
  20. package/coverage/src/phaser/core/device.js.html +0 -373
  21. package/coverage/src/phaser/core/device_util.js.html +0 -850
  22. package/coverage/src/phaser/core/dom.js.html +0 -1042
  23. package/coverage/src/phaser/core/error_code.js.html +0 -109
  24. package/coverage/src/phaser/core/event_manager.js.html +0 -1264
  25. package/coverage/src/phaser/core/factory.js.html +0 -436
  26. package/coverage/src/phaser/core/frame.js.html +0 -415
  27. package/coverage/src/phaser/core/frame_data.js.html +0 -478
  28. package/coverage/src/phaser/core/frame_util.js.html +0 -169
  29. package/coverage/src/phaser/core/game.js.html +0 -1075
  30. package/coverage/src/phaser/core/index.html +0 -731
  31. package/coverage/src/phaser/core/input.js.html +0 -1576
  32. package/coverage/src/phaser/core/input_handler.js.html +0 -2959
  33. package/coverage/src/phaser/core/input_mouse.js.html +0 -988
  34. package/coverage/src/phaser/core/input_mspointer.js.html +0 -754
  35. package/coverage/src/phaser/core/input_pointer.js.html +0 -1645
  36. package/coverage/src/phaser/core/input_touch.js.html +0 -643
  37. package/coverage/src/phaser/core/loader.js.html +0 -3676
  38. package/coverage/src/phaser/core/loader_parser.js.html +0 -397
  39. package/coverage/src/phaser/core/raf.js.html +0 -184
  40. package/coverage/src/phaser/core/scale_manager.js.html +0 -3082
  41. package/coverage/src/phaser/core/scene.js.html +0 -265
  42. package/coverage/src/phaser/core/scene_manager.js.html +0 -1030
  43. package/coverage/src/phaser/core/signal.js.html +0 -859
  44. package/coverage/src/phaser/core/signal_binding.js.html +0 -388
  45. package/coverage/src/phaser/core/sound.js.html +0 -1678
  46. package/coverage/src/phaser/core/sound_manager.js.html +0 -1594
  47. package/coverage/src/phaser/core/sound_sprite.js.html +0 -265
  48. package/coverage/src/phaser/core/stage.js.html +0 -505
  49. package/coverage/src/phaser/core/time.js.html +0 -829
  50. package/coverage/src/phaser/core/timer.js.html +0 -1231
  51. package/coverage/src/phaser/core/timer_event.js.html +0 -157
  52. package/coverage/src/phaser/core/tween.js.html +0 -1486
  53. package/coverage/src/phaser/core/tween_data.js.html +0 -976
  54. package/coverage/src/phaser/core/tween_easing.js.html +0 -1099
  55. package/coverage/src/phaser/core/tween_manager.js.html +0 -826
  56. package/coverage/src/phaser/core/world.js.html +0 -139
  57. package/coverage/src/phaser/display/bitmap_text.js.html +0 -1423
  58. package/coverage/src/phaser/display/button.js.html +0 -916
  59. package/coverage/src/phaser/display/canvas/buffer.js.html +0 -232
  60. package/coverage/src/phaser/display/canvas/graphics.js.html +0 -766
  61. package/coverage/src/phaser/display/canvas/index.html +0 -206
  62. package/coverage/src/phaser/display/canvas/masker.js.html +0 -184
  63. package/coverage/src/phaser/display/canvas/pool.js.html +0 -445
  64. package/coverage/src/phaser/display/canvas/renderer.js.html +0 -589
  65. package/coverage/src/phaser/display/canvas/tinter.js.html +0 -658
  66. package/coverage/src/phaser/display/canvas/util.js.html +0 -544
  67. package/coverage/src/phaser/display/display_object.js.html +0 -2494
  68. package/coverage/src/phaser/display/graphics.js.html +0 -2815
  69. package/coverage/src/phaser/display/graphics_data.js.html +0 -187
  70. package/coverage/src/phaser/display/graphics_data_util.js.html +0 -139
  71. package/coverage/src/phaser/display/group.js.html +0 -1000
  72. package/coverage/src/phaser/display/image.js.html +0 -1222
  73. package/coverage/src/phaser/display/index.html +0 -266
  74. package/coverage/src/phaser/display/sprite_batch.js.html +0 -121
  75. package/coverage/src/phaser/display/sprite_util.js.html +0 -883
  76. package/coverage/src/phaser/display/text.js.html +0 -4597
  77. package/coverage/src/phaser/display/webgl/abstract_filter.js.html +0 -157
  78. package/coverage/src/phaser/display/webgl/base_texture.js.html +0 -322
  79. package/coverage/src/phaser/display/webgl/blend_manager.js.html +0 -208
  80. package/coverage/src/phaser/display/webgl/earcut.js.html +0 -2137
  81. package/coverage/src/phaser/display/webgl/earcut_node.js.html +0 -160
  82. package/coverage/src/phaser/display/webgl/fast_sprite_batch.js.html +0 -877
  83. package/coverage/src/phaser/display/webgl/filter_manager.js.html +0 -271
  84. package/coverage/src/phaser/display/webgl/filter_texture.js.html +0 -298
  85. package/coverage/src/phaser/display/webgl/graphics.js.html +0 -1942
  86. package/coverage/src/phaser/display/webgl/graphics_data.js.html +0 -214
  87. package/coverage/src/phaser/display/webgl/index.html +0 -386
  88. package/coverage/src/phaser/display/webgl/mask_manager.js.html +0 -199
  89. package/coverage/src/phaser/display/webgl/render_texture.js.html +0 -406
  90. package/coverage/src/phaser/display/webgl/renderer.js.html +0 -1003
  91. package/coverage/src/phaser/display/webgl/shader/complex.js.html +0 -316
  92. package/coverage/src/phaser/display/webgl/shader/fast.js.html +0 -406
  93. package/coverage/src/phaser/display/webgl/shader/index.html +0 -176
  94. package/coverage/src/phaser/display/webgl/shader/normal.js.html +0 -826
  95. package/coverage/src/phaser/display/webgl/shader/primitive.js.html +0 -310
  96. package/coverage/src/phaser/display/webgl/shader/strip.js.html +0 -325
  97. package/coverage/src/phaser/display/webgl/shader_manager.js.html +0 -385
  98. package/coverage/src/phaser/display/webgl/sprite_batch.js.html +0 -1135
  99. package/coverage/src/phaser/display/webgl/stencil_manager.js.html +0 -655
  100. package/coverage/src/phaser/display/webgl/texture.js.html +0 -490
  101. package/coverage/src/phaser/display/webgl/texture_util.js.html +0 -169
  102. package/coverage/src/phaser/display/webgl/util.js.html +0 -451
  103. package/coverage/src/phaser/geom/circle.js.html +0 -1003
  104. package/coverage/src/phaser/geom/ellipse.js.html +0 -388
  105. package/coverage/src/phaser/geom/index.html +0 -221
  106. package/coverage/src/phaser/geom/line.js.html +0 -1102
  107. package/coverage/src/phaser/geom/matrix.js.html +0 -751
  108. package/coverage/src/phaser/geom/point.js.html +0 -1027
  109. package/coverage/src/phaser/geom/polygon.js.html +0 -604
  110. package/coverage/src/phaser/geom/rectangle.js.html +0 -1774
  111. package/coverage/src/phaser/geom/rounded_rectangle.js.html +0 -226
  112. package/coverage/src/phaser/geom/util/circle.js.html +0 -436
  113. package/coverage/src/phaser/geom/util/ellipse.js.html +0 -139
  114. package/coverage/src/phaser/geom/util/index.html +0 -221
  115. package/coverage/src/phaser/geom/util/line.js.html +0 -475
  116. package/coverage/src/phaser/geom/util/matrix.js.html +0 -223
  117. package/coverage/src/phaser/geom/util/point.js.html +0 -961
  118. package/coverage/src/phaser/geom/util/polygon.js.html +0 -124
  119. package/coverage/src/phaser/geom/util/rectangle.js.html +0 -784
  120. package/coverage/src/phaser/geom/util/rounded_rectangle.js.html +0 -136
  121. package/coverage/src/phaser/util/index.html +0 -116
  122. package/coverage/src/phaser/util/math.js.html +0 -958
@@ -1,826 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/phaser/display/webgl/shader/normal.js</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../../../../prettify.css" />
9
- <link rel="stylesheet" href="../../../../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../../../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">src/phaser/display/webgl/shader</a> normal.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>0/234</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/1</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/1</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>0/234</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
314
- <span class="cline-any cline-no">&nbsp;</span>
315
- <span class="cline-any cline-neutral">&nbsp;</span>
316
- <span class="cline-any cline-no">&nbsp;</span>
317
- <span class="cline-any cline-no">&nbsp;</span>
318
- <span class="cline-any cline-no">&nbsp;</span>
319
- <span class="cline-any cline-no">&nbsp;</span>
320
- <span class="cline-any cline-neutral">&nbsp;</span>
321
- <span class="cline-any cline-no">&nbsp;</span>
322
- <span class="cline-any cline-no">&nbsp;</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-no">&nbsp;</span>
325
- <span class="cline-any cline-no">&nbsp;</span>
326
- <span class="cline-any cline-neutral">&nbsp;</span>
327
- <span class="cline-any cline-no">&nbsp;</span>
328
- <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-no">&nbsp;</span>
330
- <span class="cline-any cline-no">&nbsp;</span>
331
- <span class="cline-any cline-no">&nbsp;</span>
332
- <span class="cline-any cline-no">&nbsp;</span>
333
- <span class="cline-any cline-no">&nbsp;</span>
334
- <span class="cline-any cline-no">&nbsp;</span>
335
- <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-no">&nbsp;</span>
337
- <span class="cline-any cline-neutral">&nbsp;</span>
338
- <span class="cline-any cline-no">&nbsp;</span>
339
- <span class="cline-any cline-no">&nbsp;</span>
340
- <span class="cline-any cline-no">&nbsp;</span>
341
- <span class="cline-any cline-no">&nbsp;</span>
342
- <span class="cline-any cline-no">&nbsp;</span>
343
- <span class="cline-any cline-no">&nbsp;</span>
344
- <span class="cline-any cline-no">&nbsp;</span>
345
- <span class="cline-any cline-no">&nbsp;</span>
346
- <span class="cline-any cline-no">&nbsp;</span>
347
- <span class="cline-any cline-no">&nbsp;</span>
348
- <span class="cline-any cline-no">&nbsp;</span>
349
- <span class="cline-any cline-no">&nbsp;</span>
350
- <span class="cline-any cline-no">&nbsp;</span>
351
- <span class="cline-any cline-no">&nbsp;</span>
352
- <span class="cline-any cline-no">&nbsp;</span>
353
- <span class="cline-any cline-no">&nbsp;</span>
354
- <span class="cline-any cline-no">&nbsp;</span>
355
- <span class="cline-any cline-no">&nbsp;</span>
356
- <span class="cline-any cline-no">&nbsp;</span>
357
- <span class="cline-any cline-no">&nbsp;</span>
358
- <span class="cline-any cline-no">&nbsp;</span>
359
- <span class="cline-any cline-no">&nbsp;</span>
360
- <span class="cline-any cline-no">&nbsp;</span>
361
- <span class="cline-any cline-no">&nbsp;</span>
362
- <span class="cline-any cline-no">&nbsp;</span>
363
- <span class="cline-any cline-no">&nbsp;</span>
364
- <span class="cline-any cline-no">&nbsp;</span>
365
- <span class="cline-any cline-no">&nbsp;</span>
366
- <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-no">&nbsp;</span>
368
- <span class="cline-any cline-no">&nbsp;</span>
369
- <span class="cline-any cline-no">&nbsp;</span>
370
- <span class="cline-any cline-no">&nbsp;</span>
371
- <span class="cline-any cline-no">&nbsp;</span>
372
- <span class="cline-any cline-no">&nbsp;</span>
373
- <span class="cline-any cline-no">&nbsp;</span>
374
- <span class="cline-any cline-no">&nbsp;</span>
375
- <span class="cline-any cline-no">&nbsp;</span>
376
- <span class="cline-any cline-no">&nbsp;</span>
377
- <span class="cline-any cline-no">&nbsp;</span>
378
- <span class="cline-any cline-no">&nbsp;</span>
379
- <span class="cline-any cline-no">&nbsp;</span>
380
- <span class="cline-any cline-no">&nbsp;</span>
381
- <span class="cline-any cline-no">&nbsp;</span>
382
- <span class="cline-any cline-no">&nbsp;</span>
383
- <span class="cline-any cline-no">&nbsp;</span>
384
- <span class="cline-any cline-no">&nbsp;</span>
385
- <span class="cline-any cline-no">&nbsp;</span>
386
- <span class="cline-any cline-no">&nbsp;</span>
387
- <span class="cline-any cline-no">&nbsp;</span>
388
- <span class="cline-any cline-no">&nbsp;</span>
389
- <span class="cline-any cline-no">&nbsp;</span>
390
- <span class="cline-any cline-no">&nbsp;</span>
391
- <span class="cline-any cline-no">&nbsp;</span>
392
- <span class="cline-any cline-no">&nbsp;</span>
393
- <span class="cline-any cline-no">&nbsp;</span>
394
- <span class="cline-any cline-no">&nbsp;</span>
395
- <span class="cline-any cline-no">&nbsp;</span>
396
- <span class="cline-any cline-no">&nbsp;</span>
397
- <span class="cline-any cline-no">&nbsp;</span>
398
- <span class="cline-any cline-no">&nbsp;</span>
399
- <span class="cline-any cline-no">&nbsp;</span>
400
- <span class="cline-any cline-no">&nbsp;</span>
401
- <span class="cline-any cline-no">&nbsp;</span>
402
- <span class="cline-any cline-neutral">&nbsp;</span>
403
- <span class="cline-any cline-no">&nbsp;</span>
404
- <span class="cline-any cline-no">&nbsp;</span>
405
- <span class="cline-any cline-no">&nbsp;</span>
406
- <span class="cline-any cline-no">&nbsp;</span>
407
- <span class="cline-any cline-no">&nbsp;</span>
408
- <span class="cline-any cline-no">&nbsp;</span>
409
- <span class="cline-any cline-no">&nbsp;</span>
410
- <span class="cline-any cline-no">&nbsp;</span>
411
- <span class="cline-any cline-no">&nbsp;</span>
412
- <span class="cline-any cline-no">&nbsp;</span>
413
- <span class="cline-any cline-no">&nbsp;</span>
414
- <span class="cline-any cline-no">&nbsp;</span>
415
- <span class="cline-any cline-no">&nbsp;</span>
416
- <span class="cline-any cline-no">&nbsp;</span>
417
- <span class="cline-any cline-no">&nbsp;</span>
418
- <span class="cline-any cline-no">&nbsp;</span>
419
- <span class="cline-any cline-no">&nbsp;</span>
420
- <span class="cline-any cline-no">&nbsp;</span>
421
- <span class="cline-any cline-no">&nbsp;</span>
422
- <span class="cline-any cline-no">&nbsp;</span>
423
- <span class="cline-any cline-no">&nbsp;</span>
424
- <span class="cline-any cline-no">&nbsp;</span>
425
- <span class="cline-any cline-no">&nbsp;</span>
426
- <span class="cline-any cline-no">&nbsp;</span>
427
- <span class="cline-any cline-no">&nbsp;</span>
428
- <span class="cline-any cline-no">&nbsp;</span>
429
- <span class="cline-any cline-no">&nbsp;</span>
430
- <span class="cline-any cline-no">&nbsp;</span>
431
- <span class="cline-any cline-no">&nbsp;</span>
432
- <span class="cline-any cline-no">&nbsp;</span>
433
- <span class="cline-any cline-no">&nbsp;</span>
434
- <span class="cline-any cline-no">&nbsp;</span>
435
- <span class="cline-any cline-no">&nbsp;</span>
436
- <span class="cline-any cline-no">&nbsp;</span>
437
- <span class="cline-any cline-no">&nbsp;</span>
438
- <span class="cline-any cline-no">&nbsp;</span>
439
- <span class="cline-any cline-no">&nbsp;</span>
440
- <span class="cline-any cline-no">&nbsp;</span>
441
- <span class="cline-any cline-no">&nbsp;</span>
442
- <span class="cline-any cline-no">&nbsp;</span>
443
- <span class="cline-any cline-no">&nbsp;</span>
444
- <span class="cline-any cline-no">&nbsp;</span>
445
- <span class="cline-any cline-no">&nbsp;</span>
446
- <span class="cline-any cline-neutral">&nbsp;</span>
447
- <span class="cline-any cline-no">&nbsp;</span>
448
- <span class="cline-any cline-no">&nbsp;</span>
449
- <span class="cline-any cline-no">&nbsp;</span>
450
- <span class="cline-any cline-no">&nbsp;</span>
451
- <span class="cline-any cline-no">&nbsp;</span>
452
- <span class="cline-any cline-no">&nbsp;</span>
453
- <span class="cline-any cline-no">&nbsp;</span>
454
- <span class="cline-any cline-no">&nbsp;</span>
455
- <span class="cline-any cline-no">&nbsp;</span>
456
- <span class="cline-any cline-no">&nbsp;</span>
457
- <span class="cline-any cline-no">&nbsp;</span>
458
- <span class="cline-any cline-no">&nbsp;</span>
459
- <span class="cline-any cline-no">&nbsp;</span>
460
- <span class="cline-any cline-no">&nbsp;</span>
461
- <span class="cline-any cline-no">&nbsp;</span>
462
- <span class="cline-any cline-no">&nbsp;</span>
463
- <span class="cline-any cline-no">&nbsp;</span>
464
- <span class="cline-any cline-no">&nbsp;</span>
465
- <span class="cline-any cline-no">&nbsp;</span>
466
- <span class="cline-any cline-no">&nbsp;</span>
467
- <span class="cline-any cline-no">&nbsp;</span>
468
- <span class="cline-any cline-no">&nbsp;</span>
469
- <span class="cline-any cline-no">&nbsp;</span>
470
- <span class="cline-any cline-no">&nbsp;</span>
471
- <span class="cline-any cline-no">&nbsp;</span>
472
- <span class="cline-any cline-no">&nbsp;</span>
473
- <span class="cline-any cline-no">&nbsp;</span>
474
- <span class="cline-any cline-no">&nbsp;</span>
475
- <span class="cline-any cline-no">&nbsp;</span>
476
- <span class="cline-any cline-no">&nbsp;</span>
477
- <span class="cline-any cline-no">&nbsp;</span>
478
- <span class="cline-any cline-no">&nbsp;</span>
479
- <span class="cline-any cline-no">&nbsp;</span>
480
- <span class="cline-any cline-no">&nbsp;</span>
481
- <span class="cline-any cline-no">&nbsp;</span>
482
- <span class="cline-any cline-no">&nbsp;</span>
483
- <span class="cline-any cline-neutral">&nbsp;</span>
484
- <span class="cline-any cline-no">&nbsp;</span>
485
- <span class="cline-any cline-no">&nbsp;</span>
486
- <span class="cline-any cline-no">&nbsp;</span>
487
- <span class="cline-any cline-no">&nbsp;</span>
488
- <span class="cline-any cline-no">&nbsp;</span>
489
- <span class="cline-any cline-no">&nbsp;</span>
490
- <span class="cline-any cline-no">&nbsp;</span>
491
- <span class="cline-any cline-no">&nbsp;</span>
492
- <span class="cline-any cline-no">&nbsp;</span>
493
- <span class="cline-any cline-no">&nbsp;</span>
494
- <span class="cline-any cline-no">&nbsp;</span>
495
- <span class="cline-any cline-no">&nbsp;</span>
496
- <span class="cline-any cline-no">&nbsp;</span>
497
- <span class="cline-any cline-no">&nbsp;</span>
498
- <span class="cline-any cline-no">&nbsp;</span>
499
- <span class="cline-any cline-neutral">&nbsp;</span>
500
- <span class="cline-any cline-no">&nbsp;</span>
501
- <span class="cline-any cline-no">&nbsp;</span>
502
- <span class="cline-any cline-no">&nbsp;</span>
503
- <span class="cline-any cline-no">&nbsp;</span>
504
- <span class="cline-any cline-no">&nbsp;</span>
505
- <span class="cline-any cline-no">&nbsp;</span>
506
- <span class="cline-any cline-no">&nbsp;</span>
507
- <span class="cline-any cline-no">&nbsp;</span>
508
- <span class="cline-any cline-no">&nbsp;</span>
509
- <span class="cline-any cline-no">&nbsp;</span>
510
- <span class="cline-any cline-no">&nbsp;</span>
511
- <span class="cline-any cline-no">&nbsp;</span>
512
- <span class="cline-any cline-no">&nbsp;</span>
513
- <span class="cline-any cline-no">&nbsp;</span>
514
- <span class="cline-any cline-no">&nbsp;</span>
515
- <span class="cline-any cline-no">&nbsp;</span>
516
- <span class="cline-any cline-no">&nbsp;</span>
517
- <span class="cline-any cline-no">&nbsp;</span>
518
- <span class="cline-any cline-no">&nbsp;</span>
519
- <span class="cline-any cline-no">&nbsp;</span>
520
- <span class="cline-any cline-no">&nbsp;</span>
521
- <span class="cline-any cline-no">&nbsp;</span>
522
- <span class="cline-any cline-no">&nbsp;</span>
523
- <span class="cline-any cline-no">&nbsp;</span>
524
- <span class="cline-any cline-no">&nbsp;</span>
525
- <span class="cline-any cline-no">&nbsp;</span>
526
- <span class="cline-any cline-no">&nbsp;</span>
527
- <span class="cline-any cline-no">&nbsp;</span>
528
- <span class="cline-any cline-no">&nbsp;</span>
529
- <span class="cline-any cline-no">&nbsp;</span>
530
- <span class="cline-any cline-no">&nbsp;</span>
531
- <span class="cline-any cline-no">&nbsp;</span>
532
- <span class="cline-any cline-no">&nbsp;</span>
533
- <span class="cline-any cline-no">&nbsp;</span>
534
- <span class="cline-any cline-no">&nbsp;</span>
535
- <span class="cline-any cline-no">&nbsp;</span>
536
- <span class="cline-any cline-no">&nbsp;</span>
537
- <span class="cline-any cline-no">&nbsp;</span>
538
- <span class="cline-any cline-no">&nbsp;</span>
539
- <span class="cline-any cline-no">&nbsp;</span>
540
- <span class="cline-any cline-no">&nbsp;</span>
541
- <span class="cline-any cline-no">&nbsp;</span>
542
- <span class="cline-any cline-no">&nbsp;</span>
543
- <span class="cline-any cline-no">&nbsp;</span>
544
- <span class="cline-any cline-no">&nbsp;</span>
545
- <span class="cline-any cline-no">&nbsp;</span>
546
- <span class="cline-any cline-no">&nbsp;</span>
547
- <span class="cline-any cline-no">&nbsp;</span>
548
- <span class="cline-any cline-no">&nbsp;</span>
549
- <span class="cline-any cline-neutral">&nbsp;</span>
550
- <span class="cline-any cline-no">&nbsp;</span>
551
- <span class="cline-any cline-no">&nbsp;</span>
552
- <span class="cline-any cline-no">&nbsp;</span>
553
- <span class="cline-any cline-no">&nbsp;</span>
554
- <span class="cline-any cline-no">&nbsp;</span>
555
- <span class="cline-any cline-no">&nbsp;</span>
556
- <span class="cline-any cline-no">&nbsp;</span>
557
- <span class="cline-any cline-no">&nbsp;</span>
558
- <span class="cline-any cline-no">&nbsp;</span>
559
- <span class="cline-any cline-no">&nbsp;</span>
560
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import { v4 as uuidv4 } from 'uuid';<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
561
- <span class="cstat-no" title="statement not covered" >import { compileProgram } from '../util.js';</span>
562
- &nbsp;
563
- <span class="cstat-no" title="statement not covered" >const defaultVertexSrc = [</span>
564
- <span class="cstat-no" title="statement not covered" > 'attribute vec2 aVertexPosition;',</span>
565
- <span class="cstat-no" title="statement not covered" > 'attribute vec2 aTextureCoord;',</span>
566
- <span class="cstat-no" title="statement not covered" > 'attribute vec4 aColor;',</span>
567
- &nbsp;
568
- <span class="cstat-no" title="statement not covered" > 'uniform vec2 projectionVector;',</span>
569
- <span class="cstat-no" title="statement not covered" > 'uniform vec2 offsetVector;',</span>
570
- &nbsp;
571
- <span class="cstat-no" title="statement not covered" > 'varying vec2 vTextureCoord;',</span>
572
- <span class="cstat-no" title="statement not covered" > 'varying vec4 vColor;',</span>
573
- &nbsp;
574
- <span class="cstat-no" title="statement not covered" > 'const vec2 center = vec2(-1.0, 1.0);',</span>
575
- &nbsp;
576
- <span class="cstat-no" title="statement not covered" > 'void main(void) {',</span>
577
- <span class="cstat-no" title="statement not covered" > ' gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);',</span>
578
- <span class="cstat-no" title="statement not covered" > ' vTextureCoord = aTextureCoord;',</span>
579
- <span class="cstat-no" title="statement not covered" > ' vColor = vec4(aColor.rgb * aColor.a, aColor.a);',</span>
580
- <span class="cstat-no" title="statement not covered" > '}',</span>
581
- <span class="cstat-no" title="statement not covered" >];</span>
582
- &nbsp;
583
- <span class="cstat-no" title="statement not covered" >// this shader is used for the default sprite rendering</span>
584
- &nbsp;
585
- <span class="cstat-no" title="statement not covered" >export class NormalShader {</span>
586
- <span class="cstat-no" title="statement not covered" > /**</span>
587
- <span class="cstat-no" title="statement not covered" > * TBD.</span>
588
- <span class="cstat-no" title="statement not covered" > * @param {WebGLRenderingContext &amp; { id: number }} gl - TBD.</span>
589
- <span class="cstat-no" title="statement not covered" > */</span>
590
- <span class="cstat-no" title="statement not covered" > constructor(gl) {</span>
591
- <span class="cstat-no" title="statement not covered" > this.gl = gl;</span>
592
- <span class="cstat-no" title="statement not covered" > this._UID = uuidv4();</span>
593
- <span class="cstat-no" title="statement not covered" > /** @type {WebGLProgram} */</span>
594
- <span class="cstat-no" title="statement not covered" > this.program = null;</span>
595
- <span class="cstat-no" title="statement not covered" > this.fragmentSrc = [</span>
596
- <span class="cstat-no" title="statement not covered" > 'precision lowp float;',</span>
597
- <span class="cstat-no" title="statement not covered" > 'varying vec2 vTextureCoord;',</span>
598
- <span class="cstat-no" title="statement not covered" > 'varying vec4 vColor;',</span>
599
- <span class="cstat-no" title="statement not covered" > 'uniform sampler2D uSampler;',</span>
600
- <span class="cstat-no" title="statement not covered" > 'void main(void) {',</span>
601
- <span class="cstat-no" title="statement not covered" > ' gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;',</span>
602
- <span class="cstat-no" title="statement not covered" > '}',</span>
603
- <span class="cstat-no" title="statement not covered" > ];</span>
604
- <span class="cstat-no" title="statement not covered" > /** @type {string[]} */</span>
605
- <span class="cstat-no" title="statement not covered" > this.vertexSrc = null;</span>
606
- <span class="cstat-no" title="statement not covered" > this.textureCount = 0;</span>
607
- <span class="cstat-no" title="statement not covered" > this.firstRun = true;</span>
608
- <span class="cstat-no" title="statement not covered" > this.dirty = true;</span>
609
- <span class="cstat-no" title="statement not covered" > this.uniforms = {};</span>
610
- <span class="cstat-no" title="statement not covered" > this.attributes = [];</span>
611
- <span class="cstat-no" title="statement not covered" > this.init();</span>
612
- <span class="cstat-no" title="statement not covered" > }</span>
613
- &nbsp;
614
- <span class="cstat-no" title="statement not covered" > /**</span>
615
- <span class="cstat-no" title="statement not covered" > * TBD.</span>
616
- <span class="cstat-no" title="statement not covered" > */</span>
617
- <span class="cstat-no" title="statement not covered" > init() {</span>
618
- <span class="cstat-no" title="statement not covered" > const gl = this.gl;</span>
619
- <span class="cstat-no" title="statement not covered" > const program = compileProgram(gl, this.vertexSrc || defaultVertexSrc, this.fragmentSrc);</span>
620
- <span class="cstat-no" title="statement not covered" > gl.useProgram(program);</span>
621
- <span class="cstat-no" title="statement not covered" > // get and store the uniforms for the shader</span>
622
- <span class="cstat-no" title="statement not covered" > this.uSampler = gl.getUniformLocation(program, 'uSampler');</span>
623
- <span class="cstat-no" title="statement not covered" > this.projectionVector = gl.getUniformLocation(program, 'projectionVector');</span>
624
- <span class="cstat-no" title="statement not covered" > this.offsetVector = gl.getUniformLocation(program, 'offsetVector');</span>
625
- <span class="cstat-no" title="statement not covered" > this.dimensions = gl.getUniformLocation(program, 'dimensions');</span>
626
- <span class="cstat-no" title="statement not covered" > // get and store the attributes</span>
627
- <span class="cstat-no" title="statement not covered" > this.aVertexPosition = gl.getAttribLocation(program, 'aVertexPosition');</span>
628
- <span class="cstat-no" title="statement not covered" > this.aTextureCoord = gl.getAttribLocation(program, 'aTextureCoord');</span>
629
- <span class="cstat-no" title="statement not covered" > this.colorAttribute = gl.getAttribLocation(program, 'aColor');</span>
630
- <span class="cstat-no" title="statement not covered" > // Begin worst hack eva //</span>
631
- <span class="cstat-no" title="statement not covered" > // WHY??? ONLY on my chrome pixel the line above returns -1 when using filters?</span>
632
- <span class="cstat-no" title="statement not covered" > // maybe its something to do with the current state of the gl context.</span>
633
- <span class="cstat-no" title="statement not covered" > // I'm convinced this is a bug in the chrome browser as there is NO reason why this should be returning -1 especially as it only manifests on my chrome pixel</span>
634
- <span class="cstat-no" title="statement not covered" > // If theres any webGL people that know why could happen please help :)</span>
635
- <span class="cstat-no" title="statement not covered" > if (this.colorAttribute === -1) {</span>
636
- <span class="cstat-no" title="statement not covered" > this.colorAttribute = 2;</span>
637
- <span class="cstat-no" title="statement not covered" > }</span>
638
- <span class="cstat-no" title="statement not covered" > this.attributes = [this.aVertexPosition, this.aTextureCoord, this.colorAttribute];</span>
639
- <span class="cstat-no" title="statement not covered" > // End worst hack eva //</span>
640
- <span class="cstat-no" title="statement not covered" > // add those custom shaders!</span>
641
- <span class="cstat-no" title="statement not covered" > const keys = Object.keys(this.uniforms);</span>
642
- <span class="cstat-no" title="statement not covered" > for (let i = 0; i &lt; keys.length; i += 1) {</span>
643
- <span class="cstat-no" title="statement not covered" > // get the uniform locations..</span>
644
- <span class="cstat-no" title="statement not covered" > this.uniforms[keys[i]].uniformLocation = gl.getUniformLocation(program, keys[i]);</span>
645
- <span class="cstat-no" title="statement not covered" > }</span>
646
- <span class="cstat-no" title="statement not covered" > this.initUniforms();</span>
647
- <span class="cstat-no" title="statement not covered" > this.program = program;</span>
648
- <span class="cstat-no" title="statement not covered" > }</span>
649
- &nbsp;
650
- <span class="cstat-no" title="statement not covered" > /**</span>
651
- <span class="cstat-no" title="statement not covered" > * TBD.</span>
652
- <span class="cstat-no" title="statement not covered" > */</span>
653
- <span class="cstat-no" title="statement not covered" > initUniforms() {</span>
654
- <span class="cstat-no" title="statement not covered" > this.textureCount = 1;</span>
655
- <span class="cstat-no" title="statement not covered" > const gl = this.gl;</span>
656
- <span class="cstat-no" title="statement not covered" > let uniform;</span>
657
- <span class="cstat-no" title="statement not covered" > const keys = Object.keys(this.uniforms);</span>
658
- <span class="cstat-no" title="statement not covered" > for (let i = 0; i &lt; keys.length; i += 1) {</span>
659
- <span class="cstat-no" title="statement not covered" > const key = keys[i];</span>
660
- <span class="cstat-no" title="statement not covered" > uniform = this.uniforms[key];</span>
661
- <span class="cstat-no" title="statement not covered" > const type = uniform.type;</span>
662
- <span class="cstat-no" title="statement not covered" > if (type === 'sampler2D') {</span>
663
- <span class="cstat-no" title="statement not covered" > uniform._init = false;</span>
664
- <span class="cstat-no" title="statement not covered" > if (uniform.value !== null) {</span>
665
- <span class="cstat-no" title="statement not covered" > this.initSampler2D(uniform);</span>
666
- <span class="cstat-no" title="statement not covered" > }</span>
667
- <span class="cstat-no" title="statement not covered" > } else if (type === 'mat2' || type === 'mat3' || type === 'mat4') {</span>
668
- <span class="cstat-no" title="statement not covered" > // These require special handling</span>
669
- <span class="cstat-no" title="statement not covered" > uniform.glMatrix = true;</span>
670
- <span class="cstat-no" title="statement not covered" > uniform.glValueLength = 1;</span>
671
- <span class="cstat-no" title="statement not covered" > if (type === 'mat2') {</span>
672
- <span class="cstat-no" title="statement not covered" > uniform.glFunc = gl.uniformMatrix2fv;</span>
673
- <span class="cstat-no" title="statement not covered" > } else if (type === 'mat3') {</span>
674
- <span class="cstat-no" title="statement not covered" > uniform.glFunc = gl.uniformMatrix3fv;</span>
675
- <span class="cstat-no" title="statement not covered" > } else if (type === 'mat4') {</span>
676
- <span class="cstat-no" title="statement not covered" > uniform.glFunc = gl.uniformMatrix4fv;</span>
677
- <span class="cstat-no" title="statement not covered" > }</span>
678
- <span class="cstat-no" title="statement not covered" > } else {</span>
679
- <span class="cstat-no" title="statement not covered" > // GL function reference</span>
680
- <span class="cstat-no" title="statement not covered" > uniform.glFunc = gl[`uniform${type}`];</span>
681
- <span class="cstat-no" title="statement not covered" > if (type === '2f' || type === '2i') {</span>
682
- <span class="cstat-no" title="statement not covered" > uniform.glValueLength = 2;</span>
683
- <span class="cstat-no" title="statement not covered" > } else if (type === '3f' || type === '3i') {</span>
684
- <span class="cstat-no" title="statement not covered" > uniform.glValueLength = 3;</span>
685
- <span class="cstat-no" title="statement not covered" > } else if (type === '4f' || type === '4i') {</span>
686
- <span class="cstat-no" title="statement not covered" > uniform.glValueLength = 4;</span>
687
- <span class="cstat-no" title="statement not covered" > } else {</span>
688
- <span class="cstat-no" title="statement not covered" > uniform.glValueLength = 1;</span>
689
- <span class="cstat-no" title="statement not covered" > }</span>
690
- <span class="cstat-no" title="statement not covered" > }</span>
691
- <span class="cstat-no" title="statement not covered" > }</span>
692
- <span class="cstat-no" title="statement not covered" > }</span>
693
- &nbsp;
694
- <span class="cstat-no" title="statement not covered" > /**</span>
695
- <span class="cstat-no" title="statement not covered" > * TBD.</span>
696
- <span class="cstat-no" title="statement not covered" > * @param {object} uniform - TBD.</span>
697
- <span class="cstat-no" title="statement not covered" > */</span>
698
- <span class="cstat-no" title="statement not covered" > initSampler2D(uniform) {</span>
699
- <span class="cstat-no" title="statement not covered" > if (!uniform.value || !uniform.value.baseTexture || !uniform.value.baseTexture.hasLoaded) {</span>
700
- <span class="cstat-no" title="statement not covered" > return;</span>
701
- <span class="cstat-no" title="statement not covered" > }</span>
702
- <span class="cstat-no" title="statement not covered" > const gl = this.gl;</span>
703
- <span class="cstat-no" title="statement not covered" > gl.activeTexture(gl[`TEXTURE${this.textureCount}`]);</span>
704
- <span class="cstat-no" title="statement not covered" > gl.bindTexture(gl.TEXTURE_2D, uniform.value.baseTexture._glTextures[gl.id]);</span>
705
- <span class="cstat-no" title="statement not covered" > // Extended texture data</span>
706
- <span class="cstat-no" title="statement not covered" > if (uniform.textureData) {</span>
707
- <span class="cstat-no" title="statement not covered" > const data = uniform.textureData;</span>
708
- <span class="cstat-no" title="statement not covered" > // GLTexture = mag linear, min linear_mipmap_linear, wrap repeat + gl.generateMipmap(gl.TEXTURE_2D);</span>
709
- <span class="cstat-no" title="statement not covered" > // GLTextureLinear = mag/min linear, wrap clamp</span>
710
- <span class="cstat-no" title="statement not covered" > // GLTextureNearestRepeat = mag/min NEAREST, wrap repeat</span>
711
- <span class="cstat-no" title="statement not covered" > // GLTextureNearest = mag/min nearest, wrap clamp</span>
712
- <span class="cstat-no" title="statement not covered" > // AudioTexture = whatever + luminance + width 512, height 2, border 0</span>
713
- <span class="cstat-no" title="statement not covered" > // KeyTexture = whatever + luminance + width 256, height 2, border 0</span>
714
- <span class="cstat-no" title="statement not covered" > // magFilter can be: gl.LINEAR, gl.LINEAR_MIPMAP_LINEAR or gl.NEAREST</span>
715
- <span class="cstat-no" title="statement not covered" > // wrapS/T can be: gl.CLAMP_TO_EDGE or gl.REPEAT</span>
716
- <span class="cstat-no" title="statement not covered" > const magFilter = data.magFilter ? data.magFilter : gl.LINEAR;</span>
717
- <span class="cstat-no" title="statement not covered" > const minFilter = data.minFilter ? data.minFilter : gl.LINEAR;</span>
718
- <span class="cstat-no" title="statement not covered" > let wrapS = data.wrapS ? data.wrapS : gl.CLAMP_TO_EDGE;</span>
719
- <span class="cstat-no" title="statement not covered" > let wrapT = data.wrapT ? data.wrapT : gl.CLAMP_TO_EDGE;</span>
720
- <span class="cstat-no" title="statement not covered" > const format = data.luminance ? gl.LUMINANCE : gl.RGBA;</span>
721
- <span class="cstat-no" title="statement not covered" > if (data.repeat) {</span>
722
- <span class="cstat-no" title="statement not covered" > wrapS = gl.REPEAT;</span>
723
- <span class="cstat-no" title="statement not covered" > wrapT = gl.REPEAT;</span>
724
- <span class="cstat-no" title="statement not covered" > }</span>
725
- <span class="cstat-no" title="statement not covered" > gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, !!data.flipY);</span>
726
- <span class="cstat-no" title="statement not covered" > if (data.width) {</span>
727
- <span class="cstat-no" title="statement not covered" > const width = data.width ? data.width : 512;</span>
728
- <span class="cstat-no" title="statement not covered" > const height = data.height ? data.height : 2;</span>
729
- <span class="cstat-no" title="statement not covered" > const border = data.border ? data.border : 0;</span>
730
- &nbsp;
731
- <span class="cstat-no" title="statement not covered" > // void texImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, ArrayBufferView? pixels);</span>
732
- <span class="cstat-no" title="statement not covered" > gl.texImage2D(gl.TEXTURE_2D, 0, format, width, height, border, format, gl.UNSIGNED_BYTE, null);</span>
733
- <span class="cstat-no" title="statement not covered" > } else {</span>
734
- <span class="cstat-no" title="statement not covered" > // void texImage2D(GLenum target, GLint level, GLenum internalformat, GLenum format, GLenum type, ImageData? pixels);</span>
735
- <span class="cstat-no" title="statement not covered" > gl.texImage2D(gl.TEXTURE_2D, 0, format, gl.RGBA, gl.UNSIGNED_BYTE, uniform.value.baseTexture.source);</span>
736
- <span class="cstat-no" title="statement not covered" > }</span>
737
- <span class="cstat-no" title="statement not covered" > gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, magFilter);</span>
738
- <span class="cstat-no" title="statement not covered" > gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, minFilter);</span>
739
- <span class="cstat-no" title="statement not covered" > gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, wrapS);</span>
740
- <span class="cstat-no" title="statement not covered" > gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, wrapT);</span>
741
- <span class="cstat-no" title="statement not covered" > }</span>
742
- <span class="cstat-no" title="statement not covered" > gl.uniform1i(uniform.uniformLocation, this.textureCount);</span>
743
- <span class="cstat-no" title="statement not covered" > uniform._init = true;</span>
744
- <span class="cstat-no" title="statement not covered" > this.textureCount += 1;</span>
745
- <span class="cstat-no" title="statement not covered" > }</span>
746
- &nbsp;
747
- <span class="cstat-no" title="statement not covered" > /**</span>
748
- <span class="cstat-no" title="statement not covered" > * TBD.</span>
749
- <span class="cstat-no" title="statement not covered" > */</span>
750
- <span class="cstat-no" title="statement not covered" > syncUniforms() {</span>
751
- <span class="cstat-no" title="statement not covered" > this.textureCount = 1;</span>
752
- <span class="cstat-no" title="statement not covered" > let uniform;</span>
753
- <span class="cstat-no" title="statement not covered" > const gl = this.gl;</span>
754
- <span class="cstat-no" title="statement not covered" > // This would probably be faster in an array and it would guarantee key order</span>
755
- <span class="cstat-no" title="statement not covered" > const keys = Object.keys(this.uniforms);</span>
756
- <span class="cstat-no" title="statement not covered" > for (let i = 0; i &lt; keys.length; i += 1) {</span>
757
- <span class="cstat-no" title="statement not covered" > const key = keys[i];</span>
758
- <span class="cstat-no" title="statement not covered" > uniform = this.uniforms[key];</span>
759
- <span class="cstat-no" title="statement not covered" > if (uniform.glValueLength === 1) {</span>
760
- <span class="cstat-no" title="statement not covered" > if (uniform.glMatrix === true) {</span>
761
- <span class="cstat-no" title="statement not covered" > uniform.glFunc.call(gl, uniform.uniformLocation, uniform.transpose, uniform.value);</span>
762
- <span class="cstat-no" title="statement not covered" > } else {</span>
763
- <span class="cstat-no" title="statement not covered" > uniform.glFunc.call(gl, uniform.uniformLocation, uniform.value);</span>
764
- <span class="cstat-no" title="statement not covered" > }</span>
765
- <span class="cstat-no" title="statement not covered" > } else if (uniform.glValueLength === 2) {</span>
766
- <span class="cstat-no" title="statement not covered" > uniform.glFunc.call(gl, uniform.uniformLocation, uniform.value.x, uniform.value.y);</span>
767
- <span class="cstat-no" title="statement not covered" > } else if (uniform.glValueLength === 3) {</span>
768
- <span class="cstat-no" title="statement not covered" > uniform.glFunc.call(gl, uniform.uniformLocation, uniform.value.x, uniform.value.y, uniform.value.z);</span>
769
- <span class="cstat-no" title="statement not covered" > } else if (uniform.glValueLength === 4) {</span>
770
- <span class="cstat-no" title="statement not covered" > uniform.glFunc.call(</span>
771
- <span class="cstat-no" title="statement not covered" > gl,</span>
772
- <span class="cstat-no" title="statement not covered" > uniform.uniformLocation,</span>
773
- <span class="cstat-no" title="statement not covered" > uniform.value.x,</span>
774
- <span class="cstat-no" title="statement not covered" > uniform.value.y,</span>
775
- <span class="cstat-no" title="statement not covered" > uniform.value.z,</span>
776
- <span class="cstat-no" title="statement not covered" > uniform.value.w</span>
777
- <span class="cstat-no" title="statement not covered" > );</span>
778
- <span class="cstat-no" title="statement not covered" > } else if (uniform.type === 'sampler2D') {</span>
779
- <span class="cstat-no" title="statement not covered" > if (uniform._init) {</span>
780
- <span class="cstat-no" title="statement not covered" > gl.activeTexture(gl[`TEXTURE${this.textureCount}`]);</span>
781
- <span class="cstat-no" title="statement not covered" > if (uniform.value.baseTexture._dirty[gl.id]) {</span>
782
- <span class="cstat-no" title="statement not covered" > window.PhaserRegistry.INSTANCES[gl.id].updateTexture(uniform.value.baseTexture);</span>
783
- <span class="cstat-no" title="statement not covered" > } else {</span>
784
- <span class="cstat-no" title="statement not covered" > // bind the current texture</span>
785
- <span class="cstat-no" title="statement not covered" > gl.bindTexture(gl.TEXTURE_2D, uniform.value.baseTexture._glTextures[gl.id]);</span>
786
- <span class="cstat-no" title="statement not covered" > }</span>
787
- <span class="cstat-no" title="statement not covered" > // gl.bindTexture(gl.TEXTURE_2D, uniform.value.baseTexture._glTextures[gl.id] || PIXI.createWebGLTexture( uniform.value.baseTexture, gl));</span>
788
- <span class="cstat-no" title="statement not covered" > gl.uniform1i(uniform.uniformLocation, this.textureCount);</span>
789
- <span class="cstat-no" title="statement not covered" > this.textureCount += 1;</span>
790
- <span class="cstat-no" title="statement not covered" > } else {</span>
791
- <span class="cstat-no" title="statement not covered" > this.initSampler2D(uniform);</span>
792
- <span class="cstat-no" title="statement not covered" > }</span>
793
- <span class="cstat-no" title="statement not covered" > }</span>
794
- <span class="cstat-no" title="statement not covered" > }</span>
795
- <span class="cstat-no" title="statement not covered" > }</span>
796
- &nbsp;
797
- <span class="cstat-no" title="statement not covered" > /**</span>
798
- <span class="cstat-no" title="statement not covered" > * TBD.</span>
799
- <span class="cstat-no" title="statement not covered" > */</span>
800
- <span class="cstat-no" title="statement not covered" > destroy() {</span>
801
- <span class="cstat-no" title="statement not covered" > this.gl.deleteProgram(this.program);</span>
802
- <span class="cstat-no" title="statement not covered" > this.uniforms = null;</span>
803
- <span class="cstat-no" title="statement not covered" > this.gl = null;</span>
804
- <span class="cstat-no" title="statement not covered" > this.attributes = null;</span>
805
- <span class="cstat-no" title="statement not covered" > }</span>
806
- <span class="cstat-no" title="statement not covered" >}</span>
807
- &nbsp;</pre></td></tr></table></pre>
808
-
809
- <div class='push'></div><!-- for sticky footer -->
810
- </div><!-- /wrapper -->
811
- <div class='footer quiet pad2 space-top1 center small'>
812
- Code coverage generated by
813
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
814
- at 2025-08-19T06:39:20.400Z
815
- </div>
816
- <script src="../../../../../prettify.js"></script>
817
- <script>
818
- window.onload = function () {
819
- prettyPrint();
820
- };
821
- </script>
822
- <script src="../../../../../sorter.js"></script>
823
- <script src="../../../../../block-navigation.js"></script>
824
- </body>
825
- </html>
826
-