ol 10.1.1-dev.1724296077041 → 10.1.1-dev.1724415449548

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.
package/webgl/Helper.d.ts CHANGED
@@ -408,6 +408,15 @@ declare class WebGLHelper extends Disposable {
408
408
  * @param {boolean} [enableDepth] If true, enables depth testing.
409
409
  */
410
410
  prepareDraw(frameState: import("../Map.js").FrameState, disableAlphaBlend?: boolean | undefined, enableDepth?: boolean | undefined): void;
411
+ /**
412
+ * @param {WebGLFramebuffer|null} frameBuffer The frame buffer.
413
+ * @param {WebGLTexture} [texture] The texture.
414
+ */
415
+ bindFrameBuffer(frameBuffer: WebGLFramebuffer | null, texture?: WebGLTexture | undefined): void;
416
+ /**
417
+ * Bind the frame buffer from the initial render.
418
+ */
419
+ bindInitialFrameBuffer(): void;
411
420
  /**
412
421
  * Prepare a program to use a texture.
413
422
  * @param {WebGLTexture} texture The texture.
@@ -415,6 +424,13 @@ declare class WebGLHelper extends Disposable {
415
424
  * @param {string} uniformName The corresponding uniform name.
416
425
  */
417
426
  bindTexture(texture: WebGLTexture, slot: number, uniformName: string): void;
427
+ /**
428
+ * Set up an attribute array buffer for use in the vertex shader.
429
+ * @param {import("./Buffer").default} buffer The buffer.
430
+ * @param {string} attributeName The attribute name.
431
+ * @param {number} size The number of components per attribute vertex.
432
+ */
433
+ bindAttribute(buffer: import("./Buffer").default, attributeName: string, size: number): void;
418
434
  /**
419
435
  * Clear the render target & bind it for future draw operations.
420
436
  * This is similar to `prepareDraw`, only post processes will not be applied.
@@ -466,9 +482,9 @@ declare class WebGLHelper extends Disposable {
466
482
  * Set up a program for use. The program will be set as the current one. Then, the uniforms used
467
483
  * in the program will be set based on the current frame state and the helper configuration.
468
484
  * @param {WebGLProgram} program Program.
469
- * @param {import("../Map.js").FrameState} frameState Frame state.
485
+ * @param {import("../Map.js").FrameState} [frameState] Frame state.
470
486
  */
471
- useProgram(program: WebGLProgram, frameState: import("../Map.js").FrameState): void;
487
+ useProgram(program: WebGLProgram, frameState?: import("../Map.js").FrameState | undefined): void;
472
488
  /**
473
489
  * Will attempt to compile a vertex or fragment shader based on source
474
490
  * On error, the shader will be returned but
@@ -567,14 +583,15 @@ declare class WebGLHelper extends Disposable {
567
583
  /**
568
584
  * Will create or reuse a given webgl texture and apply the given size. If no image data
569
585
  * specified, the texture will be empty, otherwise image data will be used and the `size`
570
- * parameter will be ignored.
586
+ * parameter will be ignored. If a Uint8Array is provided for data, a size must also be provided.
571
587
  * Note: wrap parameters are set to clamp to edge, min filter is set to linear.
572
588
  * @param {Array<number>} size Expected size of the texture
573
- * @param {ImageData|HTMLImageElement|HTMLCanvasElement} [data] Image data/object to bind to the texture
589
+ * @param {ImageData|HTMLImageElement|HTMLCanvasElement|Uint8Array|null} data Image data/object to bind to the texture
574
590
  * @param {WebGLTexture} [texture] Existing texture to reuse
591
+ * @param {boolean} [nearest] Use gl.NEAREST for min/mag filter.
575
592
  * @return {WebGLTexture} The generated texture
576
593
  */
577
- createTexture(size: Array<number>, data?: HTMLCanvasElement | HTMLImageElement | ImageData | undefined, texture?: WebGLTexture | undefined): WebGLTexture;
594
+ createTexture(size: Array<number>, data: ImageData | HTMLImageElement | HTMLCanvasElement | Uint8Array | null, texture?: WebGLTexture | undefined, nearest?: boolean | undefined): WebGLTexture;
578
595
  }
579
596
  import Disposable from '../Disposable.js';
580
597
  //# sourceMappingURL=Helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Helper.d.ts","sourceRoot":"","sources":["Helper.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Helper.d.ts","sourceRoot":"","sources":["Helper.js"],"names":[],"mappings":"AAirCA;;;;GAIG;AACH,oDAHW,KAAK,CAAC,oBAAoB,CAAC,GAC1B,MAAM,CASjB;;;;yBAhqCS,MAAM;;;;;;;;;6BAUN,MAAM;;;;;;;;;;;;;;;;4BAiBN,MAAM;;;;;;;;;;;;YAjCF,OAAO,aAAa,EAAE,OAAO;;;;iBAC7B,WAAW;;;;;;;;;UA4CX,MAAM;;;;UACN,MAAM;;;;;;;;kCAOP,MAAM,GAAC,KAAK,CAAC,MAAM,CAAC,GAAC,iBAAiB,GAAC,gBAAgB,GAAC,SAAS,GAAC,YAAY,GAAC,OAAO,cAAc,EAAE,SAAS;;;;;2BAM/G,mBAAmB,IAAC,CAAS,IAA8B,EAA9B,OAAO,WAAW,EAAE,UAAU,KAAE,mBAAmB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAsB/E,MAAM;;;;;;;;;;;;;;;;;;aASN,qBAAqB;;;;WACrB,MAAM;;8BAtGb,aAAa;+BAAb,aAAa;6BAAb,aAAa;sBAAb,aAAa;AAgLpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2HG;AACH;IACE;;OAEG;IACH,2CAoIC;IAhIC,eAAe;IACf,qCAA0E;IAE1E,eAAe;IACf,yCAC4C;IAE5C;;;OAGG;IACH,wBAE6B;IAE7B;;;OAGG;IACH,YAAmD;IAEnD;;;OAGG;IACH,qBAAsB;IAEtB;;;OAGG;IACH,wBAAyB;IAEzB;;;OAGG;IACH,wBAA2B;IAE3B;;;OAGG;IACH,4BAAgC;IAahC;;;OAGG;IACH,4BAA4C;IAE5C;;;OAGG;IACH,2BAA2C;IAE3C;;;OAGG;IACH,iBAAwB;IAExB;;;OAGG;IACH,mCAAoC;IAEpC;;;OAGG;IACH,kCAAmC;IAEnC;;;;;OAKG;IACH,kBAAmB;IAKnB;;;;;;OAMG;IACH,2BAW2D;IAE3D;;;OAGG;IACH,6BAAgC;IAEhC;;;OAGG;IACH,mBAA4B;IAG9B;;OAEG;IACH,sBAFW;YAAO,MAAM,GAAE,YAAY;KAAC,QAKtC;IAED;;OAEG;IACH,sBAFW;YAAO,MAAM,GAAE,YAAY;KAAC,QAStC;IAED;;;OAGG;IACH,sCAHW,MAAM,GACL,OAAO,CAIlB;IAED;;;;;OAKG;IACH,mBAHW,MAAM,GACL,MAAO,IAAI,CAStB;IAED;;;;;OAKG;IACH,mBAFW,OAAO,UAAU,EAAE,OAAO,QAepC;IAED;;;;OAIG;IACH,wBAFW,OAAO,UAAU,EAAE,OAAO,QAMpC;IAED;;OAEG;IACH,kBAFW,OAAO,aAAa,EAAE,OAAO,QAUvC;IAsBD;;;;;;;OAOG;IACH,wBAJW,OAAO,WAAW,EAAE,UAAU,oFAwCxC;IAED;;;OAGG;IACH,6BAHW,gBAAgB,GAAC,IAAI,4CAe/B;IAED;;OAEG;IACH,+BAYC;IAED;;;;;OAKG;IACH,qBAJW,YAAY,QACZ,MAAM,eACN,MAAM,QAOhB;IAED;;;;;OAKG;IACH,sBAJW,OAAO,UAAU,EAAE,OAAO,iBAC1B,MAAM,QACN,MAAM,QAQhB;IAED;;;;;;;;OAQG;IACH,sCALW,OAAO,WAAW,EAAE,UAAU,gBAC9B,OAAO,mBAAmB,EAAE,OAAO,oFA6B7C;IAED;;;;OAIG;IACH,oBAHW,MAAM,OACN,MAAM,QAYhB;IAED;;;;;OAKG;IACH,yBAJW,OAAO,WAAW,EAAE,UAAU,uBACrB,qBAAqB,QAAE,OAAO,WAAW,EAAE,UAAU,KAAE,IAAI,qCAC3D,qBAAqB,QAAE,OAAO,WAAW,EAAE,UAAU,KAAE,IAAI,qBAmB9E;IAED;;OAEG;IACH,aAFY,iBAAiB,CAI5B;IAED;;;OAGG;IACH,SAFY,qBAAqB,CAIhC;IAED;;;OAGG;IACH,4BAFW,OAAO,WAAW,EAAE,UAAU,QAsBxC;IAED;;;OAGG;IACH,kCAFW,OAAO,QAUjB;IAED;;;OAGG;IACH,0BAFW,OAAO,WAAW,EAAE,UAAU,QA0FxC;IAED;;;;;OAKG;IACH,oBAHW,YAAY,iEAWtB;IAED;;;;;;;;OAQG;IACH,sBAJW,MAAM,QACN,UAAU,GACT,WAAW,CAQtB;IAED;;;;;OAKG;IACH,iCAJW,MAAM,sBACN,MAAM,GACL,YAAY,CA4CvB;IAED;;;;OAIG;IACH,yBAHW,MAAM,GACL,oBAAoB,CAY/B;IAED;;;;OAIG;IACH,2BAHW,MAAM,GACL,MAAM,CAYjB;IAED;;;;;;OAMG;IACH,oCAJW,OAAO,WAAW,EAAE,UAAU,aAC9B,OAAO,cAAc,EAAE,SAAS,GAC/B,OAAO,cAAc,EAAE,SAAS,CAkB3C;IAED;;;;OAIG;IACH,8BAHW,MAAM,SACN,MAAM,QAIhB;IAED;;;;OAIG;IACH,6BAHW,MAAM,SACN,KAAK,CAAC,MAAM,CAAC,QAIvB;IAED;;;;OAIG;IACH,6BAHW,MAAM,SACN,KAAK,CAAC,MAAM,CAAC,QAIvB;IAED;;;;OAIG;IACH,+BAHW,MAAM,SACN,KAAK,CAAC,MAAM,CAAC,QAIvB;IAED;;;;;;;;;OASG;IACH,8BAQC;IAED;;;;;OAKG;IACH,6BAFW,KAAK,CAAC,oBAAoB,CAAC,QAgBrC;IAED;;;;OAIG;IACH,+BAKC;IAED;;;OAGG;IACH,mCAEC;IAED;;;OAGG;IACH,sBAFY,OAAO,CAIlB;IAED;;;;;;;;;;OAUG;IACH,oBANW,KAAK,CAAC,MAAM,CAAC,QACb,SAAS,GAAC,gBAAgB,GAAC,iBAAiB,GAAC,UAAU,GAAC,IAAI,sEAG3D,YAAY,CAgDvB;CACF;uBA3qCsB,kBAAkB"}
package/webgl/Helper.js CHANGED
@@ -602,6 +602,41 @@ class WebGLHelper extends Disposable {
602
602
  }
603
603
  }
604
604
 
605
+ /**
606
+ * @param {WebGLFramebuffer|null} frameBuffer The frame buffer.
607
+ * @param {WebGLTexture} [texture] The texture.
608
+ */
609
+ bindFrameBuffer(frameBuffer, texture) {
610
+ const gl = this.getGL();
611
+ gl.bindFramebuffer(gl.FRAMEBUFFER, frameBuffer);
612
+ if (texture) {
613
+ gl.framebufferTexture2D(
614
+ gl.FRAMEBUFFER,
615
+ gl.COLOR_ATTACHMENT0,
616
+ gl.TEXTURE_2D,
617
+ texture,
618
+ 0,
619
+ );
620
+ }
621
+ }
622
+
623
+ /**
624
+ * Bind the frame buffer from the initial render.
625
+ */
626
+ bindInitialFrameBuffer() {
627
+ const gl = this.getGL();
628
+ const frameBuffer = this.postProcessPasses_[0].getFrameBuffer();
629
+ gl.bindFramebuffer(gl.FRAMEBUFFER, frameBuffer);
630
+ const texture = this.postProcessPasses_[0].getRenderTargetTexture();
631
+ gl.framebufferTexture2D(
632
+ gl.FRAMEBUFFER,
633
+ gl.COLOR_ATTACHMENT0,
634
+ gl.TEXTURE_2D,
635
+ texture,
636
+ 0,
637
+ );
638
+ }
639
+
605
640
  /**
606
641
  * Prepare a program to use a texture.
607
642
  * @param {WebGLTexture} texture The texture.
@@ -615,6 +650,20 @@ class WebGLHelper extends Disposable {
615
650
  gl.uniform1i(this.getUniformLocation(uniformName), slot);
616
651
  }
617
652
 
653
+ /**
654
+ * Set up an attribute array buffer for use in the vertex shader.
655
+ * @param {import("./Buffer").default} buffer The buffer.
656
+ * @param {string} attributeName The attribute name.
657
+ * @param {number} size The number of components per attribute vertex.
658
+ */
659
+ bindAttribute(buffer, attributeName, size) {
660
+ const gl = this.getGL();
661
+ this.bindBuffer(buffer);
662
+ const index = this.getAttributeLocation(attributeName);
663
+ gl.enableVertexAttribArray(index);
664
+ gl.vertexAttribPointer(index, size, gl.FLOAT, false, 0, 0);
665
+ }
666
+
618
667
  /**
619
668
  * Clear the render target & bind it for future draw operations.
620
669
  * This is similar to `prepareDraw`, only post processes will not be applied.
@@ -846,14 +895,16 @@ class WebGLHelper extends Disposable {
846
895
  * Set up a program for use. The program will be set as the current one. Then, the uniforms used
847
896
  * in the program will be set based on the current frame state and the helper configuration.
848
897
  * @param {WebGLProgram} program Program.
849
- * @param {import("../Map.js").FrameState} frameState Frame state.
898
+ * @param {import("../Map.js").FrameState} [frameState] Frame state.
850
899
  */
851
900
  useProgram(program, frameState) {
852
901
  const gl = this.gl_;
853
902
  gl.useProgram(program);
854
903
  this.currentProgram_ = program;
855
- this.applyFrameState(frameState);
856
- this.applyUniforms(frameState);
904
+ if (frameState) {
905
+ this.applyFrameState(frameState);
906
+ this.applyUniforms(frameState);
907
+ }
857
908
  }
858
909
 
859
910
  /**
@@ -1091,25 +1142,45 @@ class WebGLHelper extends Disposable {
1091
1142
  /**
1092
1143
  * Will create or reuse a given webgl texture and apply the given size. If no image data
1093
1144
  * specified, the texture will be empty, otherwise image data will be used and the `size`
1094
- * parameter will be ignored.
1145
+ * parameter will be ignored. If a Uint8Array is provided for data, a size must also be provided.
1095
1146
  * Note: wrap parameters are set to clamp to edge, min filter is set to linear.
1096
1147
  * @param {Array<number>} size Expected size of the texture
1097
- * @param {ImageData|HTMLImageElement|HTMLCanvasElement} [data] Image data/object to bind to the texture
1148
+ * @param {ImageData|HTMLImageElement|HTMLCanvasElement|Uint8Array|null} data Image data/object to bind to the texture
1098
1149
  * @param {WebGLTexture} [texture] Existing texture to reuse
1150
+ * @param {boolean} [nearest] Use gl.NEAREST for min/mag filter.
1099
1151
  * @return {WebGLTexture} The generated texture
1100
1152
  */
1101
- createTexture(size, data, texture) {
1153
+ createTexture(size, data, texture, nearest) {
1102
1154
  const gl = this.gl_;
1103
1155
  texture = texture || gl.createTexture();
1156
+ const filter = nearest ? gl.NEAREST : gl.LINEAR;
1157
+
1158
+ gl.bindTexture(gl.TEXTURE_2D, texture);
1159
+
1160
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, filter);
1161
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, filter);
1162
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
1163
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
1104
1164
 
1105
- // set params & size
1106
1165
  const level = 0;
1107
1166
  const internalFormat = gl.RGBA;
1108
1167
  const border = 0;
1109
1168
  const format = gl.RGBA;
1110
1169
  const type = gl.UNSIGNED_BYTE;
1111
- gl.bindTexture(gl.TEXTURE_2D, texture);
1112
- if (data) {
1170
+
1171
+ if (data instanceof Uint8Array) {
1172
+ gl.texImage2D(
1173
+ gl.TEXTURE_2D,
1174
+ level,
1175
+ internalFormat,
1176
+ size[0],
1177
+ size[1],
1178
+ border,
1179
+ format,
1180
+ type,
1181
+ data,
1182
+ );
1183
+ } else if (data) {
1113
1184
  gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, format, type, data);
1114
1185
  } else {
1115
1186
  gl.texImage2D(
@@ -1124,10 +1195,6 @@ class WebGLHelper extends Disposable {
1124
1195
  null,
1125
1196
  );
1126
1197
  }
1127
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
1128
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
1129
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
1130
-
1131
1198
  return texture;
1132
1199
  }
1133
1200
  }
@@ -115,10 +115,12 @@ declare class WebGLPostProcessingPass {
115
115
  */
116
116
  private scaleRatio_;
117
117
  /**
118
+ * @type {WebGLTexture}
118
119
  * @private
119
120
  */
120
121
  private renderTargetTexture_;
121
122
  /**
123
+ * @type {import('../size.js').Size|null}
122
124
  * @private
123
125
  */
124
126
  private renderTargetTextureSize_;
@@ -160,6 +162,7 @@ declare class WebGLPostProcessingPass {
160
162
  * @private
161
163
  */
162
164
  private uniforms_;
165
+ getRenderTargetTexture(): WebGLTexture;
163
166
  /**
164
167
  * Get the WebGL rendering context
165
168
  * @return {WebGLRenderingContext} The rendering context.
@@ -1 +1 @@
1
- {"version":3,"file":"PostProcessingPass.d.ts","sourceRoot":"","sources":["PostProcessingPass.js"],"names":[],"mappings":";;;;;kBAqCc,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;WAUrB,OAAO,UAAU,EAAE,YAAY;;;;cAC/B,oBAAoB;;;;;;AAblC;;;;;;;;GAQG;AAEH;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH;IACE;;OAEG;IACH,qBAFW,OAAO,EA6GjB;IA1GC;;OAEG;IACH,YAA+B;IAG/B;;OAEG;IACH,oBAA0C;IAE1C;;OAEG;IACH,6BAA8C;IAC9C;;OAEG;IACH,iCAAoC;IAEpC;;OAEG;IACH,qBAA0C;IAC1C;;OAEG;IACH,qBAA2C;IAgB3C;;OAEG;IACH,6BAA8C;IAM9C;;OAEG;IACH,oCAAoD;IASpD;;OAEG;IACH,oCAGC;IACD;;OAEG;IACH,qCAGC;IACD;;OAEG;IACH,qCAGC;IACD;;OAEG;IACH,qCAGC;IAED;;;;OAIG;IACH,kBAAmB;IAUrB;;;OAGG;IACH,SAFY,qBAAqB,CAIhC;IAED;;;;;OAKG;IACH,iBAFW,OAAO,WAAW,EAAE,UAAU,QAoExC;IAED;;;;;;OAMG;IACH,kBALW,OAAO,WAAW,EAAE,UAAU,uEAErB,qBAAqB,QAAE,OAAO,WAAW,EAAE,UAAU,KAAE,IAAI,qCAC3D,qBAAqB,QAAE,OAAO,WAAW,EAAE,UAAU,KAAE,IAAI,qBA6D9E;IAED;;OAEG;IACH,kBAFY,gBAAgB,CAI3B;IAED;;OAEG;IACH,kBAFY,iBAAiB,CAI5B;IAED;;;;OAIG;IACH,sBAwEC;CACF"}
1
+ {"version":3,"file":"PostProcessingPass.d.ts","sourceRoot":"","sources":["PostProcessingPass.js"],"names":[],"mappings":";;;;;kBAqCc,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;WAUrB,OAAO,UAAU,EAAE,YAAY;;;;cAC/B,oBAAoB;;;;;;AAblC;;;;;;;;GAQG;AAEH;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH;IACE;;OAEG;IACH,qBAFW,OAAO,EAgHjB;IA7GC;;OAEG;IACH,YAA+B;IAG/B;;OAEG;IACH,oBAA0C;IAE1C;;;OAGG;IACH,6BAA8C;IAE9C;;;OAGG;IACH,iCAAoC;IAEpC;;OAEG;IACH,qBAA0C;IAC1C;;OAEG;IACH,qBAA2C;IAgB3C;;OAEG;IACH,6BAA8C;IAM9C;;OAEG;IACH,oCAAoD;IASpD;;OAEG;IACH,oCAGC;IACD;;OAEG;IACH,qCAGC;IACD;;OAEG;IACH,qCAGC;IACD;;OAEG;IACH,qCAGC;IAED;;;;OAIG;IACH,kBAAmB;IAUrB,uCAEC;IAED;;;OAGG;IACH,SAFY,qBAAqB,CAIhC;IAED;;;;;OAKG;IACH,iBAFW,OAAO,WAAW,EAAE,UAAU,QAoExC;IAED;;;;;;OAMG;IACH,kBALW,OAAO,WAAW,EAAE,UAAU,uEAErB,qBAAqB,QAAE,OAAO,WAAW,EAAE,UAAU,KAAE,IAAI,qCAC3D,qBAAqB,QAAE,OAAO,WAAW,EAAE,UAAU,KAAE,IAAI,qBA6D9E;IAED;;OAEG;IACH,kBAFY,gBAAgB,CAI3B;IAED;;OAEG;IACH,kBAFY,iBAAiB,CAI5B;IAED;;;;OAIG;IACH,sBAwEC;CACF"}
@@ -115,10 +115,13 @@ class WebGLPostProcessingPass {
115
115
  this.scaleRatio_ = options.scaleRatio || 1;
116
116
 
117
117
  /**
118
+ * @type {WebGLTexture}
118
119
  * @private
119
120
  */
120
121
  this.renderTargetTexture_ = gl.createTexture();
122
+
121
123
  /**
124
+ * @type {import('../size.js').Size|null}
122
125
  * @private
123
126
  */
124
127
  this.renderTargetTextureSize_ = null;
@@ -211,6 +214,10 @@ class WebGLPostProcessingPass {
211
214
  });
212
215
  }
213
216
 
217
+ getRenderTargetTexture() {
218
+ return this.renderTargetTexture_;
219
+ }
220
+
214
221
  /**
215
222
  * Get the WebGL rendering context
216
223
  * @return {WebGLRenderingContext} The rendering context.