diff --git a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js index 56440f0..7154fa0 100644 --- a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js +++ b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js @@ -236,7 +236,7 @@ renderMeshFlat(mesh) { const context = this.renderer.context; - const vertices = mesh.geometry.getAttribute('aVertexPosition').data; + const vertices = mesh.geometry.getBuffer('aVertexPosition').data; const length = vertices.length / 2; // this.count++; diff --git a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js index 56440f0..7154fa0 100644 --- a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js +++ b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js @@ -236,7 +236,7 @@ renderMeshFlat(mesh) { const context = this.renderer.context; - const vertices = mesh.geometry.getAttribute('aVertexPosition').data; + const vertices = mesh.geometry.getBuffer('aVertexPosition').data; const length = vertices.length / 2; // this.count++; diff --git a/packages/canvas/canvas-mesh/src/SimpleMesh.js b/packages/canvas/canvas-mesh/src/SimpleMesh.js index e8c6456..7a0b665 100644 --- a/packages/canvas/canvas-mesh/src/SimpleMesh.js +++ b/packages/canvas/canvas-mesh/src/SimpleMesh.js @@ -12,7 +12,7 @@ { if (this.autoUpdate) { - this.geometry.getAttribute('aVertexPosition').update(); + this.geometry.getBuffer('aVertexPosition').update(); } if (this.shader.update) diff --git a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js index 56440f0..7154fa0 100644 --- a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js +++ b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js @@ -236,7 +236,7 @@ renderMeshFlat(mesh) { const context = this.renderer.context; - const vertices = mesh.geometry.getAttribute('aVertexPosition').data; + const vertices = mesh.geometry.getBuffer('aVertexPosition').data; const length = vertices.length / 2; // this.count++; diff --git a/packages/canvas/canvas-mesh/src/SimpleMesh.js b/packages/canvas/canvas-mesh/src/SimpleMesh.js index e8c6456..7a0b665 100644 --- a/packages/canvas/canvas-mesh/src/SimpleMesh.js +++ b/packages/canvas/canvas-mesh/src/SimpleMesh.js @@ -12,7 +12,7 @@ { if (this.autoUpdate) { - this.geometry.getAttribute('aVertexPosition').update(); + this.geometry.getBuffer('aVertexPosition').update(); } if (this.shader.update) diff --git a/packages/core/src/geometry/Buffer.js b/packages/core/src/geometry/Buffer.js index 5ed6046..a1da80f 100644 --- a/packages/core/src/geometry/Buffer.js +++ b/packages/core/src/geometry/Buffer.js @@ -47,6 +47,7 @@ // TODO could explore flagging only a partial upload? /** * flags this buffer as requiring an upload to the GPU + * @param {ArrayBuffer|SharedArrayBuffer|ArrayBufferView} [data] the data to update in the buffer. */ update(data) { diff --git a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js index 56440f0..7154fa0 100644 --- a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js +++ b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js @@ -236,7 +236,7 @@ renderMeshFlat(mesh) { const context = this.renderer.context; - const vertices = mesh.geometry.getAttribute('aVertexPosition').data; + const vertices = mesh.geometry.getBuffer('aVertexPosition').data; const length = vertices.length / 2; // this.count++; diff --git a/packages/canvas/canvas-mesh/src/SimpleMesh.js b/packages/canvas/canvas-mesh/src/SimpleMesh.js index e8c6456..7a0b665 100644 --- a/packages/canvas/canvas-mesh/src/SimpleMesh.js +++ b/packages/canvas/canvas-mesh/src/SimpleMesh.js @@ -12,7 +12,7 @@ { if (this.autoUpdate) { - this.geometry.getAttribute('aVertexPosition').update(); + this.geometry.getBuffer('aVertexPosition').update(); } if (this.shader.update) diff --git a/packages/core/src/geometry/Buffer.js b/packages/core/src/geometry/Buffer.js index 5ed6046..a1da80f 100644 --- a/packages/core/src/geometry/Buffer.js +++ b/packages/core/src/geometry/Buffer.js @@ -47,6 +47,7 @@ // TODO could explore flagging only a partial upload? /** * flags this buffer as requiring an upload to the GPU + * @param {ArrayBuffer|SharedArrayBuffer|ArrayBufferView} [data] the data to update in the buffer. */ update(data) { diff --git a/packages/core/src/geometry/Geometry.js b/packages/core/src/geometry/Geometry.js index 22ba14c..62910b2 100644 --- a/packages/core/src/geometry/Geometry.js +++ b/packages/core/src/geometry/Geometry.js @@ -145,7 +145,18 @@ */ getAttribute(id) { - return this.buffers[this.attributes[id].buffer]; + return this.attributes[id]; + } + + /** + * returns the requested buffer + * + * @param {String} id the name of the buffer required + * @return {PIXI.Buffer} the buffer requested. + */ + getBuffer(id) + { + return this.buffers[this.getAttribute(id).buffer]; } /** diff --git a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js index 56440f0..7154fa0 100644 --- a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js +++ b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js @@ -236,7 +236,7 @@ renderMeshFlat(mesh) { const context = this.renderer.context; - const vertices = mesh.geometry.getAttribute('aVertexPosition').data; + const vertices = mesh.geometry.getBuffer('aVertexPosition').data; const length = vertices.length / 2; // this.count++; diff --git a/packages/canvas/canvas-mesh/src/SimpleMesh.js b/packages/canvas/canvas-mesh/src/SimpleMesh.js index e8c6456..7a0b665 100644 --- a/packages/canvas/canvas-mesh/src/SimpleMesh.js +++ b/packages/canvas/canvas-mesh/src/SimpleMesh.js @@ -12,7 +12,7 @@ { if (this.autoUpdate) { - this.geometry.getAttribute('aVertexPosition').update(); + this.geometry.getBuffer('aVertexPosition').update(); } if (this.shader.update) diff --git a/packages/core/src/geometry/Buffer.js b/packages/core/src/geometry/Buffer.js index 5ed6046..a1da80f 100644 --- a/packages/core/src/geometry/Buffer.js +++ b/packages/core/src/geometry/Buffer.js @@ -47,6 +47,7 @@ // TODO could explore flagging only a partial upload? /** * flags this buffer as requiring an upload to the GPU + * @param {ArrayBuffer|SharedArrayBuffer|ArrayBufferView} [data] the data to update in the buffer. */ update(data) { diff --git a/packages/core/src/geometry/Geometry.js b/packages/core/src/geometry/Geometry.js index 22ba14c..62910b2 100644 --- a/packages/core/src/geometry/Geometry.js +++ b/packages/core/src/geometry/Geometry.js @@ -145,7 +145,18 @@ */ getAttribute(id) { - return this.buffers[this.attributes[id].buffer]; + return this.attributes[id]; + } + + /** + * returns the requested buffer + * + * @param {String} id the name of the buffer required + * @return {PIXI.Buffer} the buffer requested. + */ + getBuffer(id) + { + return this.buffers[this.getAttribute(id).buffer]; } /** diff --git a/packages/mesh-extras/src/NineSlicePlane.js b/packages/mesh-extras/src/NineSlicePlane.js index d60d942..da6cae5 100644 --- a/packages/mesh-extras/src/NineSlicePlane.js +++ b/packages/mesh-extras/src/NineSlicePlane.js @@ -110,12 +110,12 @@ get vertices() { - return this.geometry.getAttribute('aVertexPosition').data; + return this.geometry.getBuffer('aVertexPosition').data; } set vertices(value) { - this.geometry.getAttribute('aVertexPosition').data = value; + this.geometry.getBuffer('aVertexPosition').data = value; } /** diff --git a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js index 56440f0..7154fa0 100644 --- a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js +++ b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js @@ -236,7 +236,7 @@ renderMeshFlat(mesh) { const context = this.renderer.context; - const vertices = mesh.geometry.getAttribute('aVertexPosition').data; + const vertices = mesh.geometry.getBuffer('aVertexPosition').data; const length = vertices.length / 2; // this.count++; diff --git a/packages/canvas/canvas-mesh/src/SimpleMesh.js b/packages/canvas/canvas-mesh/src/SimpleMesh.js index e8c6456..7a0b665 100644 --- a/packages/canvas/canvas-mesh/src/SimpleMesh.js +++ b/packages/canvas/canvas-mesh/src/SimpleMesh.js @@ -12,7 +12,7 @@ { if (this.autoUpdate) { - this.geometry.getAttribute('aVertexPosition').update(); + this.geometry.getBuffer('aVertexPosition').update(); } if (this.shader.update) diff --git a/packages/core/src/geometry/Buffer.js b/packages/core/src/geometry/Buffer.js index 5ed6046..a1da80f 100644 --- a/packages/core/src/geometry/Buffer.js +++ b/packages/core/src/geometry/Buffer.js @@ -47,6 +47,7 @@ // TODO could explore flagging only a partial upload? /** * flags this buffer as requiring an upload to the GPU + * @param {ArrayBuffer|SharedArrayBuffer|ArrayBufferView} [data] the data to update in the buffer. */ update(data) { diff --git a/packages/core/src/geometry/Geometry.js b/packages/core/src/geometry/Geometry.js index 22ba14c..62910b2 100644 --- a/packages/core/src/geometry/Geometry.js +++ b/packages/core/src/geometry/Geometry.js @@ -145,7 +145,18 @@ */ getAttribute(id) { - return this.buffers[this.attributes[id].buffer]; + return this.attributes[id]; + } + + /** + * returns the requested buffer + * + * @param {String} id the name of the buffer required + * @return {PIXI.Buffer} the buffer requested. + */ + getBuffer(id) + { + return this.buffers[this.getAttribute(id).buffer]; } /** diff --git a/packages/mesh-extras/src/NineSlicePlane.js b/packages/mesh-extras/src/NineSlicePlane.js index d60d942..da6cae5 100644 --- a/packages/mesh-extras/src/NineSlicePlane.js +++ b/packages/mesh-extras/src/NineSlicePlane.js @@ -110,12 +110,12 @@ get vertices() { - return this.geometry.getAttribute('aVertexPosition').data; + return this.geometry.getBuffer('aVertexPosition').data; } set vertices(value) { - this.geometry.getAttribute('aVertexPosition').data = value; + this.geometry.getBuffer('aVertexPosition').data = value; } /** diff --git a/packages/mesh-extras/src/SimpleMesh.js b/packages/mesh-extras/src/SimpleMesh.js index 3991616..77194fb 100644 --- a/packages/mesh-extras/src/SimpleMesh.js +++ b/packages/mesh-extras/src/SimpleMesh.js @@ -22,7 +22,7 @@ { const geometry = new MeshGeometry(vertices, uvs, indices); - geometry.getAttribute('aVertexPosition').static = false; + geometry.getBuffer('aVertexPosition').static = false; const meshMaterial = new MeshMaterial(texture); @@ -41,18 +41,18 @@ */ get vertices() { - return this.geometry.getAttribute('aVertexPosition').data; + return this.geometry.getBuffer('aVertexPosition').data; } set vertices(value) { - this.geometry.getAttribute('aVertexPosition').data = value; + this.geometry.getBuffer('aVertexPosition').data = value; } _render(renderer) { if (this.autoUpdate) { - this.geometry.getAttribute('aVertexPosition').update(); + this.geometry.getBuffer('aVertexPosition').update(); } super._render(renderer); diff --git a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js index 56440f0..7154fa0 100644 --- a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js +++ b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js @@ -236,7 +236,7 @@ renderMeshFlat(mesh) { const context = this.renderer.context; - const vertices = mesh.geometry.getAttribute('aVertexPosition').data; + const vertices = mesh.geometry.getBuffer('aVertexPosition').data; const length = vertices.length / 2; // this.count++; diff --git a/packages/canvas/canvas-mesh/src/SimpleMesh.js b/packages/canvas/canvas-mesh/src/SimpleMesh.js index e8c6456..7a0b665 100644 --- a/packages/canvas/canvas-mesh/src/SimpleMesh.js +++ b/packages/canvas/canvas-mesh/src/SimpleMesh.js @@ -12,7 +12,7 @@ { if (this.autoUpdate) { - this.geometry.getAttribute('aVertexPosition').update(); + this.geometry.getBuffer('aVertexPosition').update(); } if (this.shader.update) diff --git a/packages/core/src/geometry/Buffer.js b/packages/core/src/geometry/Buffer.js index 5ed6046..a1da80f 100644 --- a/packages/core/src/geometry/Buffer.js +++ b/packages/core/src/geometry/Buffer.js @@ -47,6 +47,7 @@ // TODO could explore flagging only a partial upload? /** * flags this buffer as requiring an upload to the GPU + * @param {ArrayBuffer|SharedArrayBuffer|ArrayBufferView} [data] the data to update in the buffer. */ update(data) { diff --git a/packages/core/src/geometry/Geometry.js b/packages/core/src/geometry/Geometry.js index 22ba14c..62910b2 100644 --- a/packages/core/src/geometry/Geometry.js +++ b/packages/core/src/geometry/Geometry.js @@ -145,7 +145,18 @@ */ getAttribute(id) { - return this.buffers[this.attributes[id].buffer]; + return this.attributes[id]; + } + + /** + * returns the requested buffer + * + * @param {String} id the name of the buffer required + * @return {PIXI.Buffer} the buffer requested. + */ + getBuffer(id) + { + return this.buffers[this.getAttribute(id).buffer]; } /** diff --git a/packages/mesh-extras/src/NineSlicePlane.js b/packages/mesh-extras/src/NineSlicePlane.js index d60d942..da6cae5 100644 --- a/packages/mesh-extras/src/NineSlicePlane.js +++ b/packages/mesh-extras/src/NineSlicePlane.js @@ -110,12 +110,12 @@ get vertices() { - return this.geometry.getAttribute('aVertexPosition').data; + return this.geometry.getBuffer('aVertexPosition').data; } set vertices(value) { - this.geometry.getAttribute('aVertexPosition').data = value; + this.geometry.getBuffer('aVertexPosition').data = value; } /** diff --git a/packages/mesh-extras/src/SimpleMesh.js b/packages/mesh-extras/src/SimpleMesh.js index 3991616..77194fb 100644 --- a/packages/mesh-extras/src/SimpleMesh.js +++ b/packages/mesh-extras/src/SimpleMesh.js @@ -22,7 +22,7 @@ { const geometry = new MeshGeometry(vertices, uvs, indices); - geometry.getAttribute('aVertexPosition').static = false; + geometry.getBuffer('aVertexPosition').static = false; const meshMaterial = new MeshMaterial(texture); @@ -41,18 +41,18 @@ */ get vertices() { - return this.geometry.getAttribute('aVertexPosition').data; + return this.geometry.getBuffer('aVertexPosition').data; } set vertices(value) { - this.geometry.getAttribute('aVertexPosition').data = value; + this.geometry.getBuffer('aVertexPosition').data = value; } _render(renderer) { if (this.autoUpdate) { - this.geometry.getAttribute('aVertexPosition').update(); + this.geometry.getBuffer('aVertexPosition').update(); } super._render(renderer); diff --git a/packages/mesh-extras/src/geometry/RopeGeometry.js b/packages/mesh-extras/src/geometry/RopeGeometry.js index b5dcb6f..cfe24aa 100644 --- a/packages/mesh-extras/src/geometry/RopeGeometry.js +++ b/packages/mesh-extras/src/geometry/RopeGeometry.js @@ -51,8 +51,8 @@ if (!points) return; - const vertexBuffer = this.getAttribute('aVertexPosition'); - const uvBuffer = this.getAttribute('aTextureCoord'); + const vertexBuffer = this.getBuffer('aVertexPosition'); + const uvBuffer = this.getBuffer('aTextureCoord'); const indexBuffer = this.getIndex(); // if too little points, or texture hasn't got UVs set yet just move on. diff --git a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js index 56440f0..7154fa0 100644 --- a/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js +++ b/packages/canvas/canvas-mesh/src/CanvasMeshRenderer.js @@ -236,7 +236,7 @@ renderMeshFlat(mesh) { const context = this.renderer.context; - const vertices = mesh.geometry.getAttribute('aVertexPosition').data; + const vertices = mesh.geometry.getBuffer('aVertexPosition').data; const length = vertices.length / 2; // this.count++; diff --git a/packages/canvas/canvas-mesh/src/SimpleMesh.js b/packages/canvas/canvas-mesh/src/SimpleMesh.js index e8c6456..7a0b665 100644 --- a/packages/canvas/canvas-mesh/src/SimpleMesh.js +++ b/packages/canvas/canvas-mesh/src/SimpleMesh.js @@ -12,7 +12,7 @@ { if (this.autoUpdate) { - this.geometry.getAttribute('aVertexPosition').update(); + this.geometry.getBuffer('aVertexPosition').update(); } if (this.shader.update) diff --git a/packages/core/src/geometry/Buffer.js b/packages/core/src/geometry/Buffer.js index 5ed6046..a1da80f 100644 --- a/packages/core/src/geometry/Buffer.js +++ b/packages/core/src/geometry/Buffer.js @@ -47,6 +47,7 @@ // TODO could explore flagging only a partial upload? /** * flags this buffer as requiring an upload to the GPU + * @param {ArrayBuffer|SharedArrayBuffer|ArrayBufferView} [data] the data to update in the buffer. */ update(data) { diff --git a/packages/core/src/geometry/Geometry.js b/packages/core/src/geometry/Geometry.js index 22ba14c..62910b2 100644 --- a/packages/core/src/geometry/Geometry.js +++ b/packages/core/src/geometry/Geometry.js @@ -145,7 +145,18 @@ */ getAttribute(id) { - return this.buffers[this.attributes[id].buffer]; + return this.attributes[id]; + } + + /** + * returns the requested buffer + * + * @param {String} id the name of the buffer required + * @return {PIXI.Buffer} the buffer requested. + */ + getBuffer(id) + { + return this.buffers[this.getAttribute(id).buffer]; } /** diff --git a/packages/mesh-extras/src/NineSlicePlane.js b/packages/mesh-extras/src/NineSlicePlane.js index d60d942..da6cae5 100644 --- a/packages/mesh-extras/src/NineSlicePlane.js +++ b/packages/mesh-extras/src/NineSlicePlane.js @@ -110,12 +110,12 @@ get vertices() { - return this.geometry.getAttribute('aVertexPosition').data; + return this.geometry.getBuffer('aVertexPosition').data; } set vertices(value) { - this.geometry.getAttribute('aVertexPosition').data = value; + this.geometry.getBuffer('aVertexPosition').data = value; } /** diff --git a/packages/mesh-extras/src/SimpleMesh.js b/packages/mesh-extras/src/SimpleMesh.js index 3991616..77194fb 100644 --- a/packages/mesh-extras/src/SimpleMesh.js +++ b/packages/mesh-extras/src/SimpleMesh.js @@ -22,7 +22,7 @@ { const geometry = new MeshGeometry(vertices, uvs, indices); - geometry.getAttribute('aVertexPosition').static = false; + geometry.getBuffer('aVertexPosition').static = false; const meshMaterial = new MeshMaterial(texture); @@ -41,18 +41,18 @@ */ get vertices() { - return this.geometry.getAttribute('aVertexPosition').data; + return this.geometry.getBuffer('aVertexPosition').data; } set vertices(value) { - this.geometry.getAttribute('aVertexPosition').data = value; + this.geometry.getBuffer('aVertexPosition').data = value; } _render(renderer) { if (this.autoUpdate) { - this.geometry.getAttribute('aVertexPosition').update(); + this.geometry.getBuffer('aVertexPosition').update(); } super._render(renderer); diff --git a/packages/mesh-extras/src/geometry/RopeGeometry.js b/packages/mesh-extras/src/geometry/RopeGeometry.js index b5dcb6f..cfe24aa 100644 --- a/packages/mesh-extras/src/geometry/RopeGeometry.js +++ b/packages/mesh-extras/src/geometry/RopeGeometry.js @@ -51,8 +51,8 @@ if (!points) return; - const vertexBuffer = this.getAttribute('aVertexPosition'); - const uvBuffer = this.getAttribute('aTextureCoord'); + const vertexBuffer = this.getBuffer('aVertexPosition'); + const uvBuffer = this.getBuffer('aTextureCoord'); const indexBuffer = this.getIndex(); // if too little points, or texture hasn't got UVs set yet just move on. diff --git a/packages/mesh/src/Mesh.js b/packages/mesh/src/Mesh.js index b288c58..fd46cdd 100644 --- a/packages/mesh/src/Mesh.js +++ b/packages/mesh/src/Mesh.js @@ -428,7 +428,7 @@ this.worldTransform.applyInverse(point, tempPoint); - const vertices = this.geometry.getAttribute('aVertexPosition').data; + const vertices = this.geometry.getBuffer('aVertexPosition').data; const points = tempPolygon.points; const indices = this.geometry.getIndex().data;