diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index b9f192d..18c0a9d 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -42,7 +42,7 @@ { super(); - sayHello(system); + // Support for constructor(system, screenWidth, screenHeight, options) if (typeof options === 'number') diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index b9f192d..18c0a9d 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -42,7 +42,7 @@ { super(); - sayHello(system); + // Support for constructor(system, screenWidth, screenHeight, options) if (typeof options === 'number') diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 43c8c79..dc83e69 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,5 @@ import SystemRenderer from '../SystemRenderer'; +import { sayHello } from '../../utils'; import MaskSystem from './systems/MaskSystem'; import StencilSystem from './systems/StencilSystem'; import FilterSystem from './systems/FilterSystem'; @@ -137,6 +138,8 @@ this.renderingToScreen = true; this._initContext(); + + sayHello(this.context.webGLVersion === 2 ? 'WebGL' : 'WebGL 2'); } addSystem(_class, name) diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index b9f192d..18c0a9d 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -42,7 +42,7 @@ { super(); - sayHello(system); + // Support for constructor(system, screenWidth, screenHeight, options) if (typeof options === 'number') diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 43c8c79..dc83e69 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,5 @@ import SystemRenderer from '../SystemRenderer'; +import { sayHello } from '../../utils'; import MaskSystem from './systems/MaskSystem'; import StencilSystem from './systems/StencilSystem'; import FilterSystem from './systems/FilterSystem'; @@ -137,6 +138,8 @@ this.renderingToScreen = true; this._initContext(); + + sayHello(this.context.webGLVersion === 2 ? 'WebGL' : 'WebGL 2'); } addSystem(_class, name) diff --git a/src/core/renderers/webgl/systems/ContextSystem.js b/src/core/renderers/webgl/systems/ContextSystem.js index ec9cd9c..16b3822 100644 --- a/src/core/renderers/webgl/systems/ContextSystem.js +++ b/src/core/renderers/webgl/systems/ContextSystem.js @@ -18,6 +18,8 @@ { super(renderer); + this.webGLversion = 1; + this.handleContextLost = this.handleContextLost.bind(this); this.handleContextRestored = this.handleContextRestored.bind(this); @@ -75,14 +77,24 @@ */ createContext(canvas, options) { - var gl = canvas.getContext('webgl2', options) || - canvas.getContext('webgl', options) || - canvas.getContext('experimental-webgl', options); + var gl = canvas.getContext('webgl2', options); - if (!gl) + if(gl) { - // fail, not able to get a context - throw new Error('This browser does not support webGL. Try using the canvas renderer'); + this.webGLversion = 2; + } + else + { + this.webGLversion = 1; + + canvas.getContext('webgl', options) || + canvas.getContext('experimental-webgl', options); + + if (!gl) + { + // fail, not able to get a context + throw new Error('This browser does not support webGL. Try using the canvas renderer'); + } } return gl; diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index b9f192d..18c0a9d 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -42,7 +42,7 @@ { super(); - sayHello(system); + // Support for constructor(system, screenWidth, screenHeight, options) if (typeof options === 'number') diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 43c8c79..dc83e69 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,5 @@ import SystemRenderer from '../SystemRenderer'; +import { sayHello } from '../../utils'; import MaskSystem from './systems/MaskSystem'; import StencilSystem from './systems/StencilSystem'; import FilterSystem from './systems/FilterSystem'; @@ -137,6 +138,8 @@ this.renderingToScreen = true; this._initContext(); + + sayHello(this.context.webGLVersion === 2 ? 'WebGL' : 'WebGL 2'); } addSystem(_class, name) diff --git a/src/core/renderers/webgl/systems/ContextSystem.js b/src/core/renderers/webgl/systems/ContextSystem.js index ec9cd9c..16b3822 100644 --- a/src/core/renderers/webgl/systems/ContextSystem.js +++ b/src/core/renderers/webgl/systems/ContextSystem.js @@ -18,6 +18,8 @@ { super(renderer); + this.webGLversion = 1; + this.handleContextLost = this.handleContextLost.bind(this); this.handleContextRestored = this.handleContextRestored.bind(this); @@ -75,14 +77,24 @@ */ createContext(canvas, options) { - var gl = canvas.getContext('webgl2', options) || - canvas.getContext('webgl', options) || - canvas.getContext('experimental-webgl', options); + var gl = canvas.getContext('webgl2', options); - if (!gl) + if(gl) { - // fail, not able to get a context - throw new Error('This browser does not support webGL. Try using the canvas renderer'); + this.webGLversion = 2; + } + else + { + this.webGLversion = 1; + + canvas.getContext('webgl', options) || + canvas.getContext('experimental-webgl', options); + + if (!gl) + { + // fail, not able to get a context + throw new Error('This browser does not support webGL. Try using the canvas renderer'); + } } return gl; diff --git a/src/core/renderers/webgl/systems/geometry/GeometrySystem.js b/src/core/renderers/webgl/systems/geometry/GeometrySystem.js index 988f2e0..5dfb17f 100644 --- a/src/core/renderers/webgl/systems/geometry/GeometrySystem.js +++ b/src/core/renderers/webgl/systems/geometry/GeometrySystem.js @@ -38,6 +38,7 @@ const gl = this.gl = this.renderer.gl; this.CONTEXT_UID = this.renderer.CONTEXT_UID; + // webgl2 if(!gl.createVertexArray) { // webgl 1! diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index b9f192d..18c0a9d 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -42,7 +42,7 @@ { super(); - sayHello(system); + // Support for constructor(system, screenWidth, screenHeight, options) if (typeof options === 'number') diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 43c8c79..dc83e69 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,5 @@ import SystemRenderer from '../SystemRenderer'; +import { sayHello } from '../../utils'; import MaskSystem from './systems/MaskSystem'; import StencilSystem from './systems/StencilSystem'; import FilterSystem from './systems/FilterSystem'; @@ -137,6 +138,8 @@ this.renderingToScreen = true; this._initContext(); + + sayHello(this.context.webGLVersion === 2 ? 'WebGL' : 'WebGL 2'); } addSystem(_class, name) diff --git a/src/core/renderers/webgl/systems/ContextSystem.js b/src/core/renderers/webgl/systems/ContextSystem.js index ec9cd9c..16b3822 100644 --- a/src/core/renderers/webgl/systems/ContextSystem.js +++ b/src/core/renderers/webgl/systems/ContextSystem.js @@ -18,6 +18,8 @@ { super(renderer); + this.webGLversion = 1; + this.handleContextLost = this.handleContextLost.bind(this); this.handleContextRestored = this.handleContextRestored.bind(this); @@ -75,14 +77,24 @@ */ createContext(canvas, options) { - var gl = canvas.getContext('webgl2', options) || - canvas.getContext('webgl', options) || - canvas.getContext('experimental-webgl', options); + var gl = canvas.getContext('webgl2', options); - if (!gl) + if(gl) { - // fail, not able to get a context - throw new Error('This browser does not support webGL. Try using the canvas renderer'); + this.webGLversion = 2; + } + else + { + this.webGLversion = 1; + + canvas.getContext('webgl', options) || + canvas.getContext('experimental-webgl', options); + + if (!gl) + { + // fail, not able to get a context + throw new Error('This browser does not support webGL. Try using the canvas renderer'); + } } return gl; diff --git a/src/core/renderers/webgl/systems/geometry/GeometrySystem.js b/src/core/renderers/webgl/systems/geometry/GeometrySystem.js index 988f2e0..5dfb17f 100644 --- a/src/core/renderers/webgl/systems/geometry/GeometrySystem.js +++ b/src/core/renderers/webgl/systems/geometry/GeometrySystem.js @@ -38,6 +38,7 @@ const gl = this.gl = this.renderer.gl; this.CONTEXT_UID = this.renderer.CONTEXT_UID; + // webgl2 if(!gl.createVertexArray) { // webgl 1! diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 940593f..57b4b3c 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -8,6 +8,7 @@ import settings from '../../settings'; import bitTwiddle from 'bit-twiddle'; import Geometry from '../../geometry/Geometry'; +//TODO rename this import Buffer_GEOM from '../../geometry/Buffer'; diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index b9f192d..18c0a9d 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -42,7 +42,7 @@ { super(); - sayHello(system); + // Support for constructor(system, screenWidth, screenHeight, options) if (typeof options === 'number') diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 43c8c79..dc83e69 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,5 @@ import SystemRenderer from '../SystemRenderer'; +import { sayHello } from '../../utils'; import MaskSystem from './systems/MaskSystem'; import StencilSystem from './systems/StencilSystem'; import FilterSystem from './systems/FilterSystem'; @@ -137,6 +138,8 @@ this.renderingToScreen = true; this._initContext(); + + sayHello(this.context.webGLVersion === 2 ? 'WebGL' : 'WebGL 2'); } addSystem(_class, name) diff --git a/src/core/renderers/webgl/systems/ContextSystem.js b/src/core/renderers/webgl/systems/ContextSystem.js index ec9cd9c..16b3822 100644 --- a/src/core/renderers/webgl/systems/ContextSystem.js +++ b/src/core/renderers/webgl/systems/ContextSystem.js @@ -18,6 +18,8 @@ { super(renderer); + this.webGLversion = 1; + this.handleContextLost = this.handleContextLost.bind(this); this.handleContextRestored = this.handleContextRestored.bind(this); @@ -75,14 +77,24 @@ */ createContext(canvas, options) { - var gl = canvas.getContext('webgl2', options) || - canvas.getContext('webgl', options) || - canvas.getContext('experimental-webgl', options); + var gl = canvas.getContext('webgl2', options); - if (!gl) + if(gl) { - // fail, not able to get a context - throw new Error('This browser does not support webGL. Try using the canvas renderer'); + this.webGLversion = 2; + } + else + { + this.webGLversion = 1; + + canvas.getContext('webgl', options) || + canvas.getContext('experimental-webgl', options); + + if (!gl) + { + // fail, not able to get a context + throw new Error('This browser does not support webGL. Try using the canvas renderer'); + } } return gl; diff --git a/src/core/renderers/webgl/systems/geometry/GeometrySystem.js b/src/core/renderers/webgl/systems/geometry/GeometrySystem.js index 988f2e0..5dfb17f 100644 --- a/src/core/renderers/webgl/systems/geometry/GeometrySystem.js +++ b/src/core/renderers/webgl/systems/geometry/GeometrySystem.js @@ -38,6 +38,7 @@ const gl = this.gl = this.renderer.gl; this.CONTEXT_UID = this.renderer.CONTEXT_UID; + // webgl2 if(!gl.createVertexArray) { // webgl 1! diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 940593f..57b4b3c 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -8,6 +8,7 @@ import settings from '../../settings'; import bitTwiddle from 'bit-twiddle'; import Geometry from '../../geometry/Geometry'; +//TODO rename this import Buffer_GEOM from '../../geometry/Buffer'; diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 2adf34e..cab5255 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -38,20 +38,8 @@ fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - const shaderold = new GLShader(gl, vertexSrc, fragmentSrc, PRECISION.DEFAULT); const shader = Shader.from(vertexSrc, fragmentSrc, uniforms);//, PRECISION.DEFAULT); - const sampleValues = []; - - for (let i = 0; i < maxTextures; i++) - { - sampleValues[i] = i; - } - - // shader.bind(); - // shader.uniforms.uSamplers = new Int32Array(sampleValues); - // shader.uniformGroup.static = true; - return shader; } diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index b9f192d..18c0a9d 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -42,7 +42,7 @@ { super(); - sayHello(system); + // Support for constructor(system, screenWidth, screenHeight, options) if (typeof options === 'number') diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 43c8c79..dc83e69 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,5 @@ import SystemRenderer from '../SystemRenderer'; +import { sayHello } from '../../utils'; import MaskSystem from './systems/MaskSystem'; import StencilSystem from './systems/StencilSystem'; import FilterSystem from './systems/FilterSystem'; @@ -137,6 +138,8 @@ this.renderingToScreen = true; this._initContext(); + + sayHello(this.context.webGLVersion === 2 ? 'WebGL' : 'WebGL 2'); } addSystem(_class, name) diff --git a/src/core/renderers/webgl/systems/ContextSystem.js b/src/core/renderers/webgl/systems/ContextSystem.js index ec9cd9c..16b3822 100644 --- a/src/core/renderers/webgl/systems/ContextSystem.js +++ b/src/core/renderers/webgl/systems/ContextSystem.js @@ -18,6 +18,8 @@ { super(renderer); + this.webGLversion = 1; + this.handleContextLost = this.handleContextLost.bind(this); this.handleContextRestored = this.handleContextRestored.bind(this); @@ -75,14 +77,24 @@ */ createContext(canvas, options) { - var gl = canvas.getContext('webgl2', options) || - canvas.getContext('webgl', options) || - canvas.getContext('experimental-webgl', options); + var gl = canvas.getContext('webgl2', options); - if (!gl) + if(gl) { - // fail, not able to get a context - throw new Error('This browser does not support webGL. Try using the canvas renderer'); + this.webGLversion = 2; + } + else + { + this.webGLversion = 1; + + canvas.getContext('webgl', options) || + canvas.getContext('experimental-webgl', options); + + if (!gl) + { + // fail, not able to get a context + throw new Error('This browser does not support webGL. Try using the canvas renderer'); + } } return gl; diff --git a/src/core/renderers/webgl/systems/geometry/GeometrySystem.js b/src/core/renderers/webgl/systems/geometry/GeometrySystem.js index 988f2e0..5dfb17f 100644 --- a/src/core/renderers/webgl/systems/geometry/GeometrySystem.js +++ b/src/core/renderers/webgl/systems/geometry/GeometrySystem.js @@ -38,6 +38,7 @@ const gl = this.gl = this.renderer.gl; this.CONTEXT_UID = this.renderer.CONTEXT_UID; + // webgl2 if(!gl.createVertexArray) { // webgl 1! diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 940593f..57b4b3c 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -8,6 +8,7 @@ import settings from '../../settings'; import bitTwiddle from 'bit-twiddle'; import Geometry from '../../geometry/Geometry'; +//TODO rename this import Buffer_GEOM from '../../geometry/Buffer'; diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 2adf34e..cab5255 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -38,20 +38,8 @@ fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - const shaderold = new GLShader(gl, vertexSrc, fragmentSrc, PRECISION.DEFAULT); const shader = Shader.from(vertexSrc, fragmentSrc, uniforms);//, PRECISION.DEFAULT); - const sampleValues = []; - - for (let i = 0; i < maxTextures; i++) - { - sampleValues[i] = i; - } - - // shader.bind(); - // shader.uniforms.uSamplers = new Int32Array(sampleValues); - // shader.uniformGroup.static = true; - return shader; } diff --git a/src/core/utils/index.js b/src/core/utils/index.js index 3fdd996..609da80 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -252,7 +252,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { const args = [ - `\n %c %c %c Pixi.js ${VERSION} - ✰ ${type} ✰ %c %c http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n`, + `\n %c %c %c Pixi.js ${VERSION} - ✰✰ ${type} ✰✰ %c %c http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n`, 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', 'color: #ff66a5; background: #030307; padding:5px 0;',