diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 3a70cf2..1f8dd95 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -117,8 +117,8 @@ */ this.emptyRenderer = new ObjectRenderer(this); - this.framebufferManager = new FramebufferManager(this); - this.newTextureManager = new NewTextureManager(this); + this.framebuffer = new FramebufferManager(this); + this.texture = new NewTextureManager(this); /** * The currently active ObjectRenderer. diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 3a70cf2..1f8dd95 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -117,8 +117,8 @@ */ this.emptyRenderer = new ObjectRenderer(this); - this.framebufferManager = new FramebufferManager(this); - this.newTextureManager = new NewTextureManager(this); + this.framebuffer = new FramebufferManager(this); + this.texture = new NewTextureManager(this); /** * The currently active ObjectRenderer. diff --git a/src/core/renderers/webgl/managers/FramebufferManager.js b/src/core/renderers/webgl/managers/FramebufferManager.js index d839dc6..743c39c 100644 --- a/src/core/renderers/webgl/managers/FramebufferManager.js +++ b/src/core/renderers/webgl/managers/FramebufferManager.js @@ -29,7 +29,7 @@ this.drawBufferExtension = this.gl.getExtension('WEBGL_draw_buffers'); } - bindFramebuffer(framebuffer) + bind(framebuffer) { const gl = this.gl; @@ -51,12 +51,12 @@ if(framebuffer.colorTextures[0].texturePart) { - this.renderer.newTextureManager.unbindTexture(framebuffer.colorTextures[0].texture) + this.renderer.texture.unbind(framebuffer.colorTextures[0].texture) } else { - this.renderer.newTextureManager.unbindTexture(framebuffer.colorTextures[0]) + this.renderer.texture.unbind(framebuffer.colorTextures[0]) } } else @@ -65,7 +65,7 @@ } } - clearFramebuffer(r, g, b, a) + clear(r, g, b, a) { var gl = this.gl; diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 3a70cf2..1f8dd95 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -117,8 +117,8 @@ */ this.emptyRenderer = new ObjectRenderer(this); - this.framebufferManager = new FramebufferManager(this); - this.newTextureManager = new NewTextureManager(this); + this.framebuffer = new FramebufferManager(this); + this.texture = new NewTextureManager(this); /** * The currently active ObjectRenderer. diff --git a/src/core/renderers/webgl/managers/FramebufferManager.js b/src/core/renderers/webgl/managers/FramebufferManager.js index d839dc6..743c39c 100644 --- a/src/core/renderers/webgl/managers/FramebufferManager.js +++ b/src/core/renderers/webgl/managers/FramebufferManager.js @@ -29,7 +29,7 @@ this.drawBufferExtension = this.gl.getExtension('WEBGL_draw_buffers'); } - bindFramebuffer(framebuffer) + bind(framebuffer) { const gl = this.gl; @@ -51,12 +51,12 @@ if(framebuffer.colorTextures[0].texturePart) { - this.renderer.newTextureManager.unbindTexture(framebuffer.colorTextures[0].texture) + this.renderer.texture.unbind(framebuffer.colorTextures[0].texture) } else { - this.renderer.newTextureManager.unbindTexture(framebuffer.colorTextures[0]) + this.renderer.texture.unbind(framebuffer.colorTextures[0]) } } else @@ -65,7 +65,7 @@ } } - clearFramebuffer(r, g, b, a) + clear(r, g, b, a) { var gl = this.gl; diff --git a/src/core/renderers/webgl/managers/NewTextureManager.js b/src/core/renderers/webgl/managers/NewTextureManager.js index 542a460..fae0c10 100644 --- a/src/core/renderers/webgl/managers/NewTextureManager.js +++ b/src/core/renderers/webgl/managers/NewTextureManager.js @@ -55,7 +55,7 @@ gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, gl.LINEAR); } - bindTexture(texture, location) + bind(texture, location) { const gl = this.gl; @@ -67,7 +67,7 @@ { const glTexture = texture.glTextures[this.CONTEXT_UID] || this.initTexture(texture); - gl.bindTexture(texture.type, glTexture.texture); + gl.bindTexture(texture.target, glTexture.texture); if(glTexture.dirtyId !== texture.dirtyId) { @@ -79,12 +79,12 @@ } else { - gl.bindTexture(texture.type, this.emptyTextures[texture.type].texture); + gl.bindTexture(texture.target, this.emptyTextures[texture.target].texture); this.boundTextures[location] = null; } } - unbindTexture(texture) + unbind(texture) { const gl = this.gl; @@ -120,9 +120,9 @@ // TODO there are only 3 textures as far as im aware? // Cube / 2D and later 3d. (the latter is WebGL2, we will get to that soon!) - if(texture.type === gl.TEXTURE_CUBE_MAP) + if(texture.target === gl.TEXTURE_CUBE_MAP) { - + console.log( gl.UNSIGNED_BYTE) for (var i = 0; i < texture.sides.length; i++) { // TODO - we should only upload what changed.. @@ -131,11 +131,24 @@ if(texturePart.resource) { - gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, 0, glTexture.format, glTexture.format, glTexture.type, texturePart.resource.source); + gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, + 0, + texture.format, + texture.format, + texture.type, + texturePart.resource.source); } else { - gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, 0, gl.RGBA, texture.width, texture.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null); + gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, + 0, + texture.format, + texture.width, + texture.height, + 0, + texture.format, + texture.type, + null); } } } @@ -158,20 +171,19 @@ setStyle(texture) { const gl = this.gl; - const style = texture.style; - gl.texParameteri(texture.type, gl.TEXTURE_WRAP_S, style.wrapMode); - gl.texParameteri(texture.type, gl.TEXTURE_WRAP_T, style.wrapMode); + gl.texParameteri(texture.target, gl.TEXTURE_WRAP_S, texture.wrapMode); + gl.texParameteri(texture.target, gl.TEXTURE_WRAP_T, texture.wrapMode); if(texture.mipmap) { - gl.texParameteri(texture.type, gl.TEXTURE_MIN_FILTER, style.scaleMode ? gl.LINEAR_MIPMAP_LINEAR : gl.NEAREST_MIPMAP_NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MIN_FILTER, texture.scaleMode ? gl.LINEAR_MIPMAP_LINEAR : gl.NEAREST_MIPMAP_NEAREST); } else { - gl.texParameteri(texture.type, gl.TEXTURE_MIN_FILTER, style.scaleMode ? gl.LINEAR : gl.NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MIN_FILTER, texture.scaleMode ? gl.LINEAR : gl.NEAREST); } - gl.texParameteri(texture.type, gl.TEXTURE_MAG_FILTER, style.scaleMode ? gl.LINEAR : gl.NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MAG_FILTER, texture.scaleMode ? gl.LINEAR : gl.NEAREST); } } \ No newline at end of file diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 3a70cf2..1f8dd95 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -117,8 +117,8 @@ */ this.emptyRenderer = new ObjectRenderer(this); - this.framebufferManager = new FramebufferManager(this); - this.newTextureManager = new NewTextureManager(this); + this.framebuffer = new FramebufferManager(this); + this.texture = new NewTextureManager(this); /** * The currently active ObjectRenderer. diff --git a/src/core/renderers/webgl/managers/FramebufferManager.js b/src/core/renderers/webgl/managers/FramebufferManager.js index d839dc6..743c39c 100644 --- a/src/core/renderers/webgl/managers/FramebufferManager.js +++ b/src/core/renderers/webgl/managers/FramebufferManager.js @@ -29,7 +29,7 @@ this.drawBufferExtension = this.gl.getExtension('WEBGL_draw_buffers'); } - bindFramebuffer(framebuffer) + bind(framebuffer) { const gl = this.gl; @@ -51,12 +51,12 @@ if(framebuffer.colorTextures[0].texturePart) { - this.renderer.newTextureManager.unbindTexture(framebuffer.colorTextures[0].texture) + this.renderer.texture.unbind(framebuffer.colorTextures[0].texture) } else { - this.renderer.newTextureManager.unbindTexture(framebuffer.colorTextures[0]) + this.renderer.texture.unbind(framebuffer.colorTextures[0]) } } else @@ -65,7 +65,7 @@ } } - clearFramebuffer(r, g, b, a) + clear(r, g, b, a) { var gl = this.gl; diff --git a/src/core/renderers/webgl/managers/NewTextureManager.js b/src/core/renderers/webgl/managers/NewTextureManager.js index 542a460..fae0c10 100644 --- a/src/core/renderers/webgl/managers/NewTextureManager.js +++ b/src/core/renderers/webgl/managers/NewTextureManager.js @@ -55,7 +55,7 @@ gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, gl.LINEAR); } - bindTexture(texture, location) + bind(texture, location) { const gl = this.gl; @@ -67,7 +67,7 @@ { const glTexture = texture.glTextures[this.CONTEXT_UID] || this.initTexture(texture); - gl.bindTexture(texture.type, glTexture.texture); + gl.bindTexture(texture.target, glTexture.texture); if(glTexture.dirtyId !== texture.dirtyId) { @@ -79,12 +79,12 @@ } else { - gl.bindTexture(texture.type, this.emptyTextures[texture.type].texture); + gl.bindTexture(texture.target, this.emptyTextures[texture.target].texture); this.boundTextures[location] = null; } } - unbindTexture(texture) + unbind(texture) { const gl = this.gl; @@ -120,9 +120,9 @@ // TODO there are only 3 textures as far as im aware? // Cube / 2D and later 3d. (the latter is WebGL2, we will get to that soon!) - if(texture.type === gl.TEXTURE_CUBE_MAP) + if(texture.target === gl.TEXTURE_CUBE_MAP) { - + console.log( gl.UNSIGNED_BYTE) for (var i = 0; i < texture.sides.length; i++) { // TODO - we should only upload what changed.. @@ -131,11 +131,24 @@ if(texturePart.resource) { - gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, 0, glTexture.format, glTexture.format, glTexture.type, texturePart.resource.source); + gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, + 0, + texture.format, + texture.format, + texture.type, + texturePart.resource.source); } else { - gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, 0, gl.RGBA, texture.width, texture.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null); + gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, + 0, + texture.format, + texture.width, + texture.height, + 0, + texture.format, + texture.type, + null); } } } @@ -158,20 +171,19 @@ setStyle(texture) { const gl = this.gl; - const style = texture.style; - gl.texParameteri(texture.type, gl.TEXTURE_WRAP_S, style.wrapMode); - gl.texParameteri(texture.type, gl.TEXTURE_WRAP_T, style.wrapMode); + gl.texParameteri(texture.target, gl.TEXTURE_WRAP_S, texture.wrapMode); + gl.texParameteri(texture.target, gl.TEXTURE_WRAP_T, texture.wrapMode); if(texture.mipmap) { - gl.texParameteri(texture.type, gl.TEXTURE_MIN_FILTER, style.scaleMode ? gl.LINEAR_MIPMAP_LINEAR : gl.NEAREST_MIPMAP_NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MIN_FILTER, texture.scaleMode ? gl.LINEAR_MIPMAP_LINEAR : gl.NEAREST_MIPMAP_NEAREST); } else { - gl.texParameteri(texture.type, gl.TEXTURE_MIN_FILTER, style.scaleMode ? gl.LINEAR : gl.NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MIN_FILTER, texture.scaleMode ? gl.LINEAR : gl.NEAREST); } - gl.texParameteri(texture.type, gl.TEXTURE_MAG_FILTER, style.scaleMode ? gl.LINEAR : gl.NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MAG_FILTER, texture.scaleMode ? gl.LINEAR : gl.NEAREST); } } \ No newline at end of file diff --git a/src/core/shader/generateUniformsSync2.js b/src/core/shader/generateUniformsSync2.js index e9ab29c..d6eb86b 100644 --- a/src/core/shader/generateUniformsSync2.js +++ b/src/core/shader/generateUniformsSync2.js @@ -110,7 +110,7 @@ } else if(uniformValues.${i}._new) { - renderer.newTextureManager.bindTexture(uniformValues.${i}, ${textureCount}) + renderer.texture.bind(uniformValues.${i}, ${textureCount}) if(uniformData.${i}.value !== ${textureCount}) { uniformData.${i}.value = ${textureCount}; diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 3a70cf2..1f8dd95 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -117,8 +117,8 @@ */ this.emptyRenderer = new ObjectRenderer(this); - this.framebufferManager = new FramebufferManager(this); - this.newTextureManager = new NewTextureManager(this); + this.framebuffer = new FramebufferManager(this); + this.texture = new NewTextureManager(this); /** * The currently active ObjectRenderer. diff --git a/src/core/renderers/webgl/managers/FramebufferManager.js b/src/core/renderers/webgl/managers/FramebufferManager.js index d839dc6..743c39c 100644 --- a/src/core/renderers/webgl/managers/FramebufferManager.js +++ b/src/core/renderers/webgl/managers/FramebufferManager.js @@ -29,7 +29,7 @@ this.drawBufferExtension = this.gl.getExtension('WEBGL_draw_buffers'); } - bindFramebuffer(framebuffer) + bind(framebuffer) { const gl = this.gl; @@ -51,12 +51,12 @@ if(framebuffer.colorTextures[0].texturePart) { - this.renderer.newTextureManager.unbindTexture(framebuffer.colorTextures[0].texture) + this.renderer.texture.unbind(framebuffer.colorTextures[0].texture) } else { - this.renderer.newTextureManager.unbindTexture(framebuffer.colorTextures[0]) + this.renderer.texture.unbind(framebuffer.colorTextures[0]) } } else @@ -65,7 +65,7 @@ } } - clearFramebuffer(r, g, b, a) + clear(r, g, b, a) { var gl = this.gl; diff --git a/src/core/renderers/webgl/managers/NewTextureManager.js b/src/core/renderers/webgl/managers/NewTextureManager.js index 542a460..fae0c10 100644 --- a/src/core/renderers/webgl/managers/NewTextureManager.js +++ b/src/core/renderers/webgl/managers/NewTextureManager.js @@ -55,7 +55,7 @@ gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, gl.LINEAR); } - bindTexture(texture, location) + bind(texture, location) { const gl = this.gl; @@ -67,7 +67,7 @@ { const glTexture = texture.glTextures[this.CONTEXT_UID] || this.initTexture(texture); - gl.bindTexture(texture.type, glTexture.texture); + gl.bindTexture(texture.target, glTexture.texture); if(glTexture.dirtyId !== texture.dirtyId) { @@ -79,12 +79,12 @@ } else { - gl.bindTexture(texture.type, this.emptyTextures[texture.type].texture); + gl.bindTexture(texture.target, this.emptyTextures[texture.target].texture); this.boundTextures[location] = null; } } - unbindTexture(texture) + unbind(texture) { const gl = this.gl; @@ -120,9 +120,9 @@ // TODO there are only 3 textures as far as im aware? // Cube / 2D and later 3d. (the latter is WebGL2, we will get to that soon!) - if(texture.type === gl.TEXTURE_CUBE_MAP) + if(texture.target === gl.TEXTURE_CUBE_MAP) { - + console.log( gl.UNSIGNED_BYTE) for (var i = 0; i < texture.sides.length; i++) { // TODO - we should only upload what changed.. @@ -131,11 +131,24 @@ if(texturePart.resource) { - gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, 0, glTexture.format, glTexture.format, glTexture.type, texturePart.resource.source); + gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, + 0, + texture.format, + texture.format, + texture.type, + texturePart.resource.source); } else { - gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, 0, gl.RGBA, texture.width, texture.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null); + gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, + 0, + texture.format, + texture.width, + texture.height, + 0, + texture.format, + texture.type, + null); } } } @@ -158,20 +171,19 @@ setStyle(texture) { const gl = this.gl; - const style = texture.style; - gl.texParameteri(texture.type, gl.TEXTURE_WRAP_S, style.wrapMode); - gl.texParameteri(texture.type, gl.TEXTURE_WRAP_T, style.wrapMode); + gl.texParameteri(texture.target, gl.TEXTURE_WRAP_S, texture.wrapMode); + gl.texParameteri(texture.target, gl.TEXTURE_WRAP_T, texture.wrapMode); if(texture.mipmap) { - gl.texParameteri(texture.type, gl.TEXTURE_MIN_FILTER, style.scaleMode ? gl.LINEAR_MIPMAP_LINEAR : gl.NEAREST_MIPMAP_NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MIN_FILTER, texture.scaleMode ? gl.LINEAR_MIPMAP_LINEAR : gl.NEAREST_MIPMAP_NEAREST); } else { - gl.texParameteri(texture.type, gl.TEXTURE_MIN_FILTER, style.scaleMode ? gl.LINEAR : gl.NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MIN_FILTER, texture.scaleMode ? gl.LINEAR : gl.NEAREST); } - gl.texParameteri(texture.type, gl.TEXTURE_MAG_FILTER, style.scaleMode ? gl.LINEAR : gl.NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MAG_FILTER, texture.scaleMode ? gl.LINEAR : gl.NEAREST); } } \ No newline at end of file diff --git a/src/core/shader/generateUniformsSync2.js b/src/core/shader/generateUniformsSync2.js index e9ab29c..d6eb86b 100644 --- a/src/core/shader/generateUniformsSync2.js +++ b/src/core/shader/generateUniformsSync2.js @@ -110,7 +110,7 @@ } else if(uniformValues.${i}._new) { - renderer.newTextureManager.bindTexture(uniformValues.${i}, ${textureCount}) + renderer.texture.bind(uniformValues.${i}, ${textureCount}) if(uniformData.${i}.value !== ${textureCount}) { uniformData.${i}.value = ${textureCount}; diff --git a/src/core/textures/new/CubeTexture.js b/src/core/textures/new/CubeTexture.js index 97b4f37..c8d4fdf 100644 --- a/src/core/textures/new/CubeTexture.js +++ b/src/core/textures/new/CubeTexture.js @@ -7,8 +7,7 @@ { super(width, height, format); - this.isCube = true; - this.type = 34067; // gl.TEXTURE_CUBE_MAP + this.target = 34067; // gl.TEXTURE_CUBE_MAP this.resources = []; diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 3a70cf2..1f8dd95 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -117,8 +117,8 @@ */ this.emptyRenderer = new ObjectRenderer(this); - this.framebufferManager = new FramebufferManager(this); - this.newTextureManager = new NewTextureManager(this); + this.framebuffer = new FramebufferManager(this); + this.texture = new NewTextureManager(this); /** * The currently active ObjectRenderer. diff --git a/src/core/renderers/webgl/managers/FramebufferManager.js b/src/core/renderers/webgl/managers/FramebufferManager.js index d839dc6..743c39c 100644 --- a/src/core/renderers/webgl/managers/FramebufferManager.js +++ b/src/core/renderers/webgl/managers/FramebufferManager.js @@ -29,7 +29,7 @@ this.drawBufferExtension = this.gl.getExtension('WEBGL_draw_buffers'); } - bindFramebuffer(framebuffer) + bind(framebuffer) { const gl = this.gl; @@ -51,12 +51,12 @@ if(framebuffer.colorTextures[0].texturePart) { - this.renderer.newTextureManager.unbindTexture(framebuffer.colorTextures[0].texture) + this.renderer.texture.unbind(framebuffer.colorTextures[0].texture) } else { - this.renderer.newTextureManager.unbindTexture(framebuffer.colorTextures[0]) + this.renderer.texture.unbind(framebuffer.colorTextures[0]) } } else @@ -65,7 +65,7 @@ } } - clearFramebuffer(r, g, b, a) + clear(r, g, b, a) { var gl = this.gl; diff --git a/src/core/renderers/webgl/managers/NewTextureManager.js b/src/core/renderers/webgl/managers/NewTextureManager.js index 542a460..fae0c10 100644 --- a/src/core/renderers/webgl/managers/NewTextureManager.js +++ b/src/core/renderers/webgl/managers/NewTextureManager.js @@ -55,7 +55,7 @@ gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, gl.LINEAR); } - bindTexture(texture, location) + bind(texture, location) { const gl = this.gl; @@ -67,7 +67,7 @@ { const glTexture = texture.glTextures[this.CONTEXT_UID] || this.initTexture(texture); - gl.bindTexture(texture.type, glTexture.texture); + gl.bindTexture(texture.target, glTexture.texture); if(glTexture.dirtyId !== texture.dirtyId) { @@ -79,12 +79,12 @@ } else { - gl.bindTexture(texture.type, this.emptyTextures[texture.type].texture); + gl.bindTexture(texture.target, this.emptyTextures[texture.target].texture); this.boundTextures[location] = null; } } - unbindTexture(texture) + unbind(texture) { const gl = this.gl; @@ -120,9 +120,9 @@ // TODO there are only 3 textures as far as im aware? // Cube / 2D and later 3d. (the latter is WebGL2, we will get to that soon!) - if(texture.type === gl.TEXTURE_CUBE_MAP) + if(texture.target === gl.TEXTURE_CUBE_MAP) { - + console.log( gl.UNSIGNED_BYTE) for (var i = 0; i < texture.sides.length; i++) { // TODO - we should only upload what changed.. @@ -131,11 +131,24 @@ if(texturePart.resource) { - gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, 0, glTexture.format, glTexture.format, glTexture.type, texturePart.resource.source); + gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, + 0, + texture.format, + texture.format, + texture.type, + texturePart.resource.source); } else { - gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, 0, gl.RGBA, texture.width, texture.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null); + gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, + 0, + texture.format, + texture.width, + texture.height, + 0, + texture.format, + texture.type, + null); } } } @@ -158,20 +171,19 @@ setStyle(texture) { const gl = this.gl; - const style = texture.style; - gl.texParameteri(texture.type, gl.TEXTURE_WRAP_S, style.wrapMode); - gl.texParameteri(texture.type, gl.TEXTURE_WRAP_T, style.wrapMode); + gl.texParameteri(texture.target, gl.TEXTURE_WRAP_S, texture.wrapMode); + gl.texParameteri(texture.target, gl.TEXTURE_WRAP_T, texture.wrapMode); if(texture.mipmap) { - gl.texParameteri(texture.type, gl.TEXTURE_MIN_FILTER, style.scaleMode ? gl.LINEAR_MIPMAP_LINEAR : gl.NEAREST_MIPMAP_NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MIN_FILTER, texture.scaleMode ? gl.LINEAR_MIPMAP_LINEAR : gl.NEAREST_MIPMAP_NEAREST); } else { - gl.texParameteri(texture.type, gl.TEXTURE_MIN_FILTER, style.scaleMode ? gl.LINEAR : gl.NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MIN_FILTER, texture.scaleMode ? gl.LINEAR : gl.NEAREST); } - gl.texParameteri(texture.type, gl.TEXTURE_MAG_FILTER, style.scaleMode ? gl.LINEAR : gl.NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MAG_FILTER, texture.scaleMode ? gl.LINEAR : gl.NEAREST); } } \ No newline at end of file diff --git a/src/core/shader/generateUniformsSync2.js b/src/core/shader/generateUniformsSync2.js index e9ab29c..d6eb86b 100644 --- a/src/core/shader/generateUniformsSync2.js +++ b/src/core/shader/generateUniformsSync2.js @@ -110,7 +110,7 @@ } else if(uniformValues.${i}._new) { - renderer.newTextureManager.bindTexture(uniformValues.${i}, ${textureCount}) + renderer.texture.bind(uniformValues.${i}, ${textureCount}) if(uniformData.${i}.value !== ${textureCount}) { uniformData.${i}.value = ${textureCount}; diff --git a/src/core/textures/new/CubeTexture.js b/src/core/textures/new/CubeTexture.js index 97b4f37..c8d4fdf 100644 --- a/src/core/textures/new/CubeTexture.js +++ b/src/core/textures/new/CubeTexture.js @@ -7,8 +7,7 @@ { super(width, height, format); - this.isCube = true; - this.type = 34067; // gl.TEXTURE_CUBE_MAP + this.target = 34067; // gl.TEXTURE_CUBE_MAP this.resources = []; diff --git a/src/core/textures/new/Texture.js b/src/core/textures/new/Texture.js index a120a09..8012f80 100644 --- a/src/core/textures/new/Texture.js +++ b/src/core/textures/new/Texture.js @@ -1,14 +1,12 @@ import TextureStyle from './TextureStyle'; import ImageResource from './resources/ImageResource'; +import settings from '../../settings'; + export default class Texture { constructor(width, height, format) { - - this.style = new TextureStyle(); - - /** * The width of texture * @@ -22,12 +20,44 @@ */ this.height = height || -1; + /** + * If mipmapping was used for this texture, enable and disable with enableMipmap() + * + * @member {Boolean} + */ + this.mipmap = false;//settings.MIPMAP_TEXTURES; + + /** + * Set to true to enable pre-multiplied alpha + * + * @member {Boolean} + */ + this.premultiplyAlpha = false; + + /** + * [wrapMode description] + * @type {[type]} + */ + this.wrapMode = settings.WRAP_MODE; + + /** + * The scale mode to apply when scaling this texture + * + * @member {number} + * @default PIXI.settings.SCALE_MODE + * @see PIXI.SCALE_MODES + */ + this.scaleMode = settings.SCALE_MODE; + /** * The pixel format of the texture. defaults to gl.RGBA * * @member {Number} */ - this.format = format;//format || gl.RGBA; + this.format = format || 6408//gl.RGBA; + this.type = 5121; + + this.target = 3553; // gl.TEXTURE_2D this.data = null; @@ -37,7 +67,7 @@ this.resource = null; - this.type = 3553;// gl.TEXTURE_2D + this.dirtyId = 0; diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index 3a70cf2..1f8dd95 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -117,8 +117,8 @@ */ this.emptyRenderer = new ObjectRenderer(this); - this.framebufferManager = new FramebufferManager(this); - this.newTextureManager = new NewTextureManager(this); + this.framebuffer = new FramebufferManager(this); + this.texture = new NewTextureManager(this); /** * The currently active ObjectRenderer. diff --git a/src/core/renderers/webgl/managers/FramebufferManager.js b/src/core/renderers/webgl/managers/FramebufferManager.js index d839dc6..743c39c 100644 --- a/src/core/renderers/webgl/managers/FramebufferManager.js +++ b/src/core/renderers/webgl/managers/FramebufferManager.js @@ -29,7 +29,7 @@ this.drawBufferExtension = this.gl.getExtension('WEBGL_draw_buffers'); } - bindFramebuffer(framebuffer) + bind(framebuffer) { const gl = this.gl; @@ -51,12 +51,12 @@ if(framebuffer.colorTextures[0].texturePart) { - this.renderer.newTextureManager.unbindTexture(framebuffer.colorTextures[0].texture) + this.renderer.texture.unbind(framebuffer.colorTextures[0].texture) } else { - this.renderer.newTextureManager.unbindTexture(framebuffer.colorTextures[0]) + this.renderer.texture.unbind(framebuffer.colorTextures[0]) } } else @@ -65,7 +65,7 @@ } } - clearFramebuffer(r, g, b, a) + clear(r, g, b, a) { var gl = this.gl; diff --git a/src/core/renderers/webgl/managers/NewTextureManager.js b/src/core/renderers/webgl/managers/NewTextureManager.js index 542a460..fae0c10 100644 --- a/src/core/renderers/webgl/managers/NewTextureManager.js +++ b/src/core/renderers/webgl/managers/NewTextureManager.js @@ -55,7 +55,7 @@ gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, gl.LINEAR); } - bindTexture(texture, location) + bind(texture, location) { const gl = this.gl; @@ -67,7 +67,7 @@ { const glTexture = texture.glTextures[this.CONTEXT_UID] || this.initTexture(texture); - gl.bindTexture(texture.type, glTexture.texture); + gl.bindTexture(texture.target, glTexture.texture); if(glTexture.dirtyId !== texture.dirtyId) { @@ -79,12 +79,12 @@ } else { - gl.bindTexture(texture.type, this.emptyTextures[texture.type].texture); + gl.bindTexture(texture.target, this.emptyTextures[texture.target].texture); this.boundTextures[location] = null; } } - unbindTexture(texture) + unbind(texture) { const gl = this.gl; @@ -120,9 +120,9 @@ // TODO there are only 3 textures as far as im aware? // Cube / 2D and later 3d. (the latter is WebGL2, we will get to that soon!) - if(texture.type === gl.TEXTURE_CUBE_MAP) + if(texture.target === gl.TEXTURE_CUBE_MAP) { - + console.log( gl.UNSIGNED_BYTE) for (var i = 0; i < texture.sides.length; i++) { // TODO - we should only upload what changed.. @@ -131,11 +131,24 @@ if(texturePart.resource) { - gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, 0, glTexture.format, glTexture.format, glTexture.type, texturePart.resource.source); + gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, + 0, + texture.format, + texture.format, + texture.type, + texturePart.resource.source); } else { - gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, 0, gl.RGBA, texture.width, texture.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null); + gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + texturePart.side, + 0, + texture.format, + texture.width, + texture.height, + 0, + texture.format, + texture.type, + null); } } } @@ -158,20 +171,19 @@ setStyle(texture) { const gl = this.gl; - const style = texture.style; - gl.texParameteri(texture.type, gl.TEXTURE_WRAP_S, style.wrapMode); - gl.texParameteri(texture.type, gl.TEXTURE_WRAP_T, style.wrapMode); + gl.texParameteri(texture.target, gl.TEXTURE_WRAP_S, texture.wrapMode); + gl.texParameteri(texture.target, gl.TEXTURE_WRAP_T, texture.wrapMode); if(texture.mipmap) { - gl.texParameteri(texture.type, gl.TEXTURE_MIN_FILTER, style.scaleMode ? gl.LINEAR_MIPMAP_LINEAR : gl.NEAREST_MIPMAP_NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MIN_FILTER, texture.scaleMode ? gl.LINEAR_MIPMAP_LINEAR : gl.NEAREST_MIPMAP_NEAREST); } else { - gl.texParameteri(texture.type, gl.TEXTURE_MIN_FILTER, style.scaleMode ? gl.LINEAR : gl.NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MIN_FILTER, texture.scaleMode ? gl.LINEAR : gl.NEAREST); } - gl.texParameteri(texture.type, gl.TEXTURE_MAG_FILTER, style.scaleMode ? gl.LINEAR : gl.NEAREST); + gl.texParameteri(texture.target, gl.TEXTURE_MAG_FILTER, texture.scaleMode ? gl.LINEAR : gl.NEAREST); } } \ No newline at end of file diff --git a/src/core/shader/generateUniformsSync2.js b/src/core/shader/generateUniformsSync2.js index e9ab29c..d6eb86b 100644 --- a/src/core/shader/generateUniformsSync2.js +++ b/src/core/shader/generateUniformsSync2.js @@ -110,7 +110,7 @@ } else if(uniformValues.${i}._new) { - renderer.newTextureManager.bindTexture(uniformValues.${i}, ${textureCount}) + renderer.texture.bind(uniformValues.${i}, ${textureCount}) if(uniformData.${i}.value !== ${textureCount}) { uniformData.${i}.value = ${textureCount}; diff --git a/src/core/textures/new/CubeTexture.js b/src/core/textures/new/CubeTexture.js index 97b4f37..c8d4fdf 100644 --- a/src/core/textures/new/CubeTexture.js +++ b/src/core/textures/new/CubeTexture.js @@ -7,8 +7,7 @@ { super(width, height, format); - this.isCube = true; - this.type = 34067; // gl.TEXTURE_CUBE_MAP + this.target = 34067; // gl.TEXTURE_CUBE_MAP this.resources = []; diff --git a/src/core/textures/new/Texture.js b/src/core/textures/new/Texture.js index a120a09..8012f80 100644 --- a/src/core/textures/new/Texture.js +++ b/src/core/textures/new/Texture.js @@ -1,14 +1,12 @@ import TextureStyle from './TextureStyle'; import ImageResource from './resources/ImageResource'; +import settings from '../../settings'; + export default class Texture { constructor(width, height, format) { - - this.style = new TextureStyle(); - - /** * The width of texture * @@ -22,12 +20,44 @@ */ this.height = height || -1; + /** + * If mipmapping was used for this texture, enable and disable with enableMipmap() + * + * @member {Boolean} + */ + this.mipmap = false;//settings.MIPMAP_TEXTURES; + + /** + * Set to true to enable pre-multiplied alpha + * + * @member {Boolean} + */ + this.premultiplyAlpha = false; + + /** + * [wrapMode description] + * @type {[type]} + */ + this.wrapMode = settings.WRAP_MODE; + + /** + * The scale mode to apply when scaling this texture + * + * @member {number} + * @default PIXI.settings.SCALE_MODE + * @see PIXI.SCALE_MODES + */ + this.scaleMode = settings.SCALE_MODE; + /** * The pixel format of the texture. defaults to gl.RGBA * * @member {Number} */ - this.format = format;//format || gl.RGBA; + this.format = format || 6408//gl.RGBA; + this.type = 5121; + + this.target = 3553; // gl.TEXTURE_2D this.data = null; @@ -37,7 +67,7 @@ this.resource = null; - this.type = 3553;// gl.TEXTURE_2D + this.dirtyId = 0; diff --git a/src/core/textures/new/TextureStyle.js b/src/core/textures/new/TextureStyle.js deleted file mode 100644 index 9cf0567..0000000 --- a/src/core/textures/new/TextureStyle.js +++ /dev/null @@ -1,38 +0,0 @@ -import settings from '../../settings'; - - -export default class TextureStyle -{ - constructor() - { - /** - * If mipmapping was used for this texture, enable and disable with enableMipmap() - * - * @member {Boolean} - */ - this.mipmap = settings.MIPMAP_TEXTURES; - - - /** - * Set to true to enable pre-multiplied alpha - * - * @member {Boolean} - */ - this.premultiplyAlpha = false; - - /** - * [wrapMode description] - * @type {[type]} - */ - this.wrapMode = settings.WRAP_MODE; - - /** - * The scale mode to apply when scaling this texture - * - * @member {number} - * @default PIXI.settings.SCALE_MODE - * @see PIXI.SCALE_MODES - */ - this.scaleMode = settings.SCALE_MODE; - } -} \ No newline at end of file