excalibur 0.26.0-alpha.384 → 0.26.0-alpha.385

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/CHANGELOG.md CHANGED
@@ -19,7 +19,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
19
19
 
20
20
  ### Fixed
21
21
 
22
- -
22
+ - Fixed [#2206] error and warning logs for large images to help developers identify error situations in the webgl implementation
23
23
 
24
24
  ### Updates
25
25
 
@@ -111,11 +111,8 @@ export class ExcaliburGraphicsContextWebGL {
111
111
  */
112
112
  checkIfResolutionSupported(dim) {
113
113
  // Slight hack based on this thread https://groups.google.com/g/webgl-dev-list/c/AHONvz3oQTo
114
- const gl = this.__gl;
115
- // If any dimension is greater than max texture size (divide by 4 bytes per pixel)
116
- const maxDim = gl.getParameter(gl.MAX_TEXTURE_SIZE) / 4;
117
114
  let supported = true;
118
- if (dim.width > maxDim || dim.height > maxDim) {
115
+ if (dim.width > 4096 || dim.height > 4096) {
119
116
  supported = false;
120
117
  }
121
118
  return supported;
@@ -1 +1 @@
1
- {"version":3,"file":"ExcaliburGraphicsContextWebGL.js","sourceRoot":"","sources":["../../../../src/engine/Graphics/Context/ExcaliburGraphicsContextWebGL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExcaliburGraphicsContextWebGL.js","sourceRoot":"","sources":["../../../../src/engine/Graphics/Context/ExcaliburGraphicsContextWebGL.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { HTMLImageSource } from './ExcaliburGraphicsContext';
4
4
  * Manages loading image sources into webgl textures, a unique id is associated with all sources
5
5
  */
6
6
  export declare class TextureLoader {
7
+ private static _LOGGER;
7
8
  /**
8
9
  * Sets the default filtering for the Excalibur texture loader, default [[ImageFiltering.Blended]]
9
10
  */
@@ -12,6 +13,7 @@ export declare class TextureLoader {
12
13
  private static _POT_CTX;
13
14
  private static _GL;
14
15
  private static _TEXTURE_MAP;
16
+ private static _MAX_TEXTURE_SIZE;
15
17
  static register(context: WebGLRenderingContext): void;
16
18
  /**
17
19
  * Get the WebGL Texture from a source image
@@ -36,4 +38,10 @@ export declare class TextureLoader {
36
38
  * @param image
37
39
  */
38
40
  static toPowerOfTwoImage(image: HTMLImageSource): HTMLImageSource;
41
+ /**
42
+ * Takes an image and returns if it meets size criteria for hardware
43
+ * @param image
44
+ * @returns if the image will be supported at runtime
45
+ */
46
+ static checkImageSizeSupportedAndLog(image: HTMLImageSource): boolean;
39
47
  }
@@ -1,3 +1,4 @@
1
+ import { Logger } from '../../Util/Log';
1
2
  import { ImageFiltering } from '../Filtering';
2
3
  import { ensurePowerOfTwo, isPowerOfTwo } from './webgl-util';
3
4
  /**
@@ -6,6 +7,7 @@ import { ensurePowerOfTwo, isPowerOfTwo } from './webgl-util';
6
7
  export class TextureLoader {
7
8
  static register(context) {
8
9
  TextureLoader._GL = context;
10
+ TextureLoader._MAX_TEXTURE_SIZE = context.getParameter(context.MAX_TEXTURE_SIZE);
9
11
  }
10
12
  /**
11
13
  * Get the WebGL Texture from a source image
@@ -50,6 +52,7 @@ export class TextureLoader {
50
52
  // No texture exists create a new one
51
53
  tex = gl.createTexture();
52
54
  const source = TextureLoader.toPowerOfTwoImage(image);
55
+ TextureLoader.checkImageSizeSupportedAndLog(image);
53
56
  gl.bindTexture(gl.TEXTURE_2D, tex);
54
57
  gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);
55
58
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
@@ -81,7 +84,32 @@ export class TextureLoader {
81
84
  }
82
85
  return image;
83
86
  }
87
+ /**
88
+ * Takes an image and returns if it meets size criteria for hardware
89
+ * @param image
90
+ * @returns if the image will be supported at runtime
91
+ */
92
+ static checkImageSizeSupportedAndLog(image) {
93
+ var _a;
94
+ const originalSrc = (_a = image.dataset.originalSrc) !== null && _a !== void 0 ? _a : 'internal canvas bitmap';
95
+ if (image.width > TextureLoader._MAX_TEXTURE_SIZE || image.height > TextureLoader._MAX_TEXTURE_SIZE) {
96
+ TextureLoader._LOGGER.error(`The image [${originalSrc}] provided to Excalibur is too large for the device's maximum texture size of ` +
97
+ `(${TextureLoader._MAX_TEXTURE_SIZE}x${TextureLoader._MAX_TEXTURE_SIZE}) please resize to an image `
98
+ + `for excalibur to render properly.\n\nImages will likely render as black rectangles.\n\n` +
99
+ `Read more here: https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_best_practices#understand_system_limits`);
100
+ return false;
101
+ }
102
+ else if (image.width > 4096 || image.height > 4096) {
103
+ // https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_best_practices#understand_system_limits
104
+ TextureLoader._LOGGER.warn(`The image [${originalSrc}] provided to excalibur is too large may not work on all mobile devices, ` +
105
+ `it is recommended you resize images to a maximum (4096x4096).\n\n` +
106
+ `Images will likely render as black rectangles on some mobile platforms.\n\n` +
107
+ `Read more here: https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_best_practices#understand_system_limits`);
108
+ }
109
+ return true;
110
+ }
84
111
  }
112
+ TextureLoader._LOGGER = Logger.getInstance();
85
113
  /**
86
114
  * Sets the default filtering for the Excalibur texture loader, default [[ImageFiltering.Blended]]
87
115
  */
@@ -89,4 +117,5 @@ TextureLoader.filtering = ImageFiltering.Blended;
89
117
  TextureLoader._POT_CANVAS = document.createElement('canvas');
90
118
  TextureLoader._POT_CTX = TextureLoader._POT_CANVAS.getContext('2d');
91
119
  TextureLoader._TEXTURE_MAP = new Map();
120
+ TextureLoader._MAX_TEXTURE_SIZE = 0;
92
121
  //# sourceMappingURL=texture-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"texture-loader.js","sourceRoot":"","sources":["../../../../src/engine/Graphics/Context/texture-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"texture-loader.js","sourceRoot":"","sources":["../../../../src/engine/Graphics/Context/texture-loader.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,7 @@ export class ImageSource {
71
71
  // Decode the image
72
72
  const image = new Image();
73
73
  image.src = url;
74
+ image.setAttribute('data-original-src', this.path);
74
75
  await image.decode();
75
76
  // Set results
76
77
  this.data = image;
@@ -1 +1 @@
1
- {"version":3,"file":"ImageSource.js","sourceRoot":"","sources":["../../../src/engine/Graphics/ImageSource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageSource.js","sourceRoot":"","sources":["../../../src/engine/Graphics/ImageSource.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * excalibur - 0.26.0-alpha.384+7000178 - 2022-1-22
2
+ * excalibur - 0.26.0-alpha.385+a2d183f - 2022-1-28
3
3
  * https://github.com/excaliburjs/Excalibur
4
4
  * Copyright (c) 2022 Excalibur.js <https://github.com/excaliburjs/Excalibur/graphs/contributors>
5
5
  * Licensed BSD-2-Clause
@@ -5542,12 +5542,14 @@ var ImageFiltering;
5542
5542
  ;// CONCATENATED MODULE: ./Graphics/Context/texture-loader.ts
5543
5543
 
5544
5544
 
5545
+
5545
5546
  /**
5546
5547
  * Manages loading image sources into webgl textures, a unique id is associated with all sources
5547
5548
  */
5548
5549
  class TextureLoader {
5549
5550
  static register(context) {
5550
5551
  TextureLoader._GL = context;
5552
+ TextureLoader._MAX_TEXTURE_SIZE = context.getParameter(context.MAX_TEXTURE_SIZE);
5551
5553
  }
5552
5554
  /**
5553
5555
  * Get the WebGL Texture from a source image
@@ -5592,6 +5594,7 @@ class TextureLoader {
5592
5594
  // No texture exists create a new one
5593
5595
  tex = gl.createTexture();
5594
5596
  const source = TextureLoader.toPowerOfTwoImage(image);
5597
+ TextureLoader.checkImageSizeSupportedAndLog(image);
5595
5598
  gl.bindTexture(gl.TEXTURE_2D, tex);
5596
5599
  gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);
5597
5600
  gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
@@ -5623,7 +5626,32 @@ class TextureLoader {
5623
5626
  }
5624
5627
  return image;
5625
5628
  }
5629
+ /**
5630
+ * Takes an image and returns if it meets size criteria for hardware
5631
+ * @param image
5632
+ * @returns if the image will be supported at runtime
5633
+ */
5634
+ static checkImageSizeSupportedAndLog(image) {
5635
+ var _a;
5636
+ const originalSrc = (_a = image.dataset.originalSrc) !== null && _a !== void 0 ? _a : 'internal canvas bitmap';
5637
+ if (image.width > TextureLoader._MAX_TEXTURE_SIZE || image.height > TextureLoader._MAX_TEXTURE_SIZE) {
5638
+ TextureLoader._LOGGER.error(`The image [${originalSrc}] provided to Excalibur is too large for the device's maximum texture size of ` +
5639
+ `(${TextureLoader._MAX_TEXTURE_SIZE}x${TextureLoader._MAX_TEXTURE_SIZE}) please resize to an image `
5640
+ + `for excalibur to render properly.\n\nImages will likely render as black rectangles.\n\n` +
5641
+ `Read more here: https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_best_practices#understand_system_limits`);
5642
+ return false;
5643
+ }
5644
+ else if (image.width > 4096 || image.height > 4096) {
5645
+ // https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_best_practices#understand_system_limits
5646
+ TextureLoader._LOGGER.warn(`The image [${originalSrc}] provided to excalibur is too large may not work on all mobile devices, ` +
5647
+ `it is recommended you resize images to a maximum (4096x4096).\n\n` +
5648
+ `Images will likely render as black rectangles on some mobile platforms.\n\n` +
5649
+ `Read more here: https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_best_practices#understand_system_limits`);
5650
+ }
5651
+ return true;
5652
+ }
5626
5653
  }
5654
+ TextureLoader._LOGGER = Logger.getInstance();
5627
5655
  /**
5628
5656
  * Sets the default filtering for the Excalibur texture loader, default [[ImageFiltering.Blended]]
5629
5657
  */
@@ -5631,6 +5659,7 @@ TextureLoader.filtering = ImageFiltering.Blended;
5631
5659
  TextureLoader._POT_CANVAS = document.createElement('canvas');
5632
5660
  TextureLoader._POT_CTX = TextureLoader._POT_CANVAS.getContext('2d');
5633
5661
  TextureLoader._TEXTURE_MAP = new Map();
5662
+ TextureLoader._MAX_TEXTURE_SIZE = 0;
5634
5663
 
5635
5664
  ;// CONCATENATED MODULE: ./Graphics/Raster.ts
5636
5665
 
@@ -7451,6 +7480,7 @@ class ImageSource {
7451
7480
  // Decode the image
7452
7481
  const image = new Image();
7453
7482
  image.src = url;
7483
+ image.setAttribute('data-original-src', this.path);
7454
7484
  await image.decode();
7455
7485
  // Set results
7456
7486
  this.data = image;
@@ -10165,11 +10195,8 @@ class ExcaliburGraphicsContextWebGL {
10165
10195
  */
10166
10196
  checkIfResolutionSupported(dim) {
10167
10197
  // Slight hack based on this thread https://groups.google.com/g/webgl-dev-list/c/AHONvz3oQTo
10168
- const gl = this.__gl;
10169
- // If any dimension is greater than max texture size (divide by 4 bytes per pixel)
10170
- const maxDim = gl.getParameter(gl.MAX_TEXTURE_SIZE) / 4;
10171
10198
  let supported = true;
10172
- if (dim.width > maxDim || dim.height > maxDim) {
10199
+ if (dim.width > 4096 || dim.height > 4096) {
10173
10200
  supported = false;
10174
10201
  }
10175
10202
  return supported;
@@ -30121,7 +30148,7 @@ Promises_Promise = Promise_1 = Promises_decorate([
30121
30148
  * The current Excalibur version string
30122
30149
  * @description `process.env.__EX_VERSION` gets replaced by Webpack on build
30123
30150
  */
30124
- const EX_VERSION = "0.26.0-alpha.384+7000178";
30151
+ const EX_VERSION = "0.26.0-alpha.385+a2d183f";
30125
30152
 
30126
30153
  polyfill();
30127
30154
  // This file is used as the bundle entry point and exports everything