Graphics shape fill added

shaders optimised - removed need for 4x4 matrix
draw elipse added
any shape can now be filled
This commit is contained in:
Mat Groves 2013-06-21 18:37:14 +01:00
parent 2ad9002a79
commit 72e38cccb0
105 changed files with 20670 additions and 4633 deletions

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">
@ -411,7 +411,7 @@ Dont forget to add the view to your DOM or you will not see anything :)</p>
<a href="..&#x2F;files&#x2F;src_pixi_renderers_webgl_WebGLRenderer.js.html#l143"><code>src&#x2F;pixi&#x2F;renderers&#x2F;webgl&#x2F;WebGLRenderer.js:143</code></a>
<a href="..&#x2F;files&#x2F;src_pixi_renderers_webgl_WebGLRenderer.js.html#l115"><code>src&#x2F;pixi&#x2F;renderers&#x2F;webgl&#x2F;WebGLRenderer.js:115</code></a>
</p>
@ -504,7 +504,7 @@ Dont forget to add the view to your DOM or you will not see anything :)</p>
<a href="..&#x2F;files&#x2F;src_pixi_renderers_webgl_WebGLRenderer.js.html#l285"><code>src&#x2F;pixi&#x2F;renderers&#x2F;webgl&#x2F;WebGLRenderer.js:285</code></a>
<a href="..&#x2F;files&#x2F;src_pixi_renderers_webgl_WebGLRenderer.js.html#l257"><code>src&#x2F;pixi&#x2F;renderers&#x2F;webgl&#x2F;WebGLRenderer.js:257</code></a>
</p>

View file

@ -2,7 +2,7 @@
"project": {
"name": "Pixi.JS",
"description": "Pixi.js is a fast lightweight 2D library that works across all devices.",
"version": "1.0.0",
"version": "1.3.0",
"url": "http://goodboydigital.com/",
"logo": "http://www.goodboydigital.com/pixijs/logo_small.png"
},
@ -2254,21 +2254,21 @@
},
{
"file": "src/pixi/renderers/canvas/CanvasRenderer.js",
"line": 217,
"line": 218,
"access": "private",
"tagname": "",
"class": "CanvasRenderer"
},
{
"file": "src/pixi/renderers/canvas/CanvasRenderer.js",
"line": 252,
"line": 253,
"access": "private",
"tagname": "",
"class": "CanvasRenderer"
},
{
"file": "src/pixi/renderers/canvas/CanvasRenderer.js",
"line": 281,
"line": 282,
"access": "private",
"tagname": "",
"class": "CanvasRenderer"
@ -2496,28 +2496,28 @@
},
{
"file": "src/pixi/renderers/webgl/WebGLRenderer.js",
"line": 81,
"line": 84,
"access": "private",
"tagname": "",
"class": "WebGLRenderer"
},
{
"file": "src/pixi/renderers/webgl/WebGLRenderer.js",
"line": 96,
"line": 99,
"access": "private",
"tagname": "",
"class": "WebGLRenderer"
},
{
"file": "src/pixi/renderers/webgl/WebGLRenderer.js",
"line": 106,
"line": 109,
"access": "private",
"tagname": "",
"class": "WebGLRenderer"
},
{
"file": "src/pixi/renderers/webgl/WebGLRenderer.js",
"line": 143,
"line": 115,
"description": "Renders the stage to its webGL view",
"itemtype": "method",
"name": "render",
@ -2532,14 +2532,14 @@
},
{
"file": "src/pixi/renderers/webgl/WebGLRenderer.js",
"line": 226,
"line": 198,
"access": "private",
"tagname": "",
"class": "WebGLRenderer"
},
{
"file": "src/pixi/renderers/webgl/WebGLRenderer.js",
"line": 285,
"line": 257,
"description": "resizes the webGL view to the specified width and height",
"itemtype": "method",
"name": "resize",
@ -2559,14 +2559,14 @@
},
{
"file": "src/pixi/renderers/webgl/WebGLRenderer.js",
"line": 309,
"line": 281,
"access": "private",
"tagname": "",
"class": "WebGLRenderer"
},
{
"file": "src/pixi/renderers/webgl/WebGLRenderer.js",
"line": 318,
"line": 290,
"access": "private",
"tagname": "",
"class": "WebGLRenderer"
@ -3390,15 +3390,15 @@
},
{
"message": "Missing item type",
"line": " src/pixi/renderers/canvas/CanvasRenderer.js:217"
"line": " src/pixi/renderers/canvas/CanvasRenderer.js:218"
},
{
"message": "Missing item type",
"line": " src/pixi/renderers/canvas/CanvasRenderer.js:252"
"line": " src/pixi/renderers/canvas/CanvasRenderer.js:253"
},
{
"message": "Missing item type",
"line": " src/pixi/renderers/canvas/CanvasRenderer.js:281"
"line": " src/pixi/renderers/canvas/CanvasRenderer.js:282"
},
{
"message": "Missing item type",
@ -3458,27 +3458,27 @@
},
{
"message": "Missing item type",
"line": " src/pixi/renderers/webgl/WebGLRenderer.js:81"
"line": " src/pixi/renderers/webgl/WebGLRenderer.js:84"
},
{
"message": "Missing item type",
"line": " src/pixi/renderers/webgl/WebGLRenderer.js:96"
"line": " src/pixi/renderers/webgl/WebGLRenderer.js:99"
},
{
"message": "Missing item type",
"line": " src/pixi/renderers/webgl/WebGLRenderer.js:106"
"line": " src/pixi/renderers/webgl/WebGLRenderer.js:109"
},
{
"message": "Missing item type",
"line": " src/pixi/renderers/webgl/WebGLRenderer.js:226"
"line": " src/pixi/renderers/webgl/WebGLRenderer.js:198"
},
{
"message": "Missing item type",
"line": " src/pixi/renderers/webgl/WebGLRenderer.js:309"
"line": " src/pixi/renderers/webgl/WebGLRenderer.js:281"
},
{
"message": "Missing item type",
"line": " src/pixi/renderers/webgl/WebGLRenderer.js:318"
"line": " src/pixi/renderers/webgl/WebGLRenderer.js:290"
},
{
"message": "Missing item type",

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">
@ -178,15 +178,12 @@ PIXI.Graphics.prototype = Object.create( PIXI.DisplayObjectContainer.prototype )
PIXI.Graphics.prototype.lineStyle = function(lineWidth, color, alpha)
{
this.lineWidth = lineWidth || 0;
this.lineColor = color || 0;
this.lineAlpha = (alpha == undefined) ? 1 : alpha;
this.currentPath = {lineWidth:this.lineWidth, lineColor:this.lineColor, lineAlpha:this.lineAlpha, points:[], type:PIXI.Graphics.POLY};
this.graphicsData.push(this.currentPath);
&#x2F;&#x2F; TODO store the last position of the line in the current
}

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">
@ -339,6 +339,7 @@ PIXI.CanvasRenderer.prototype.renderDisplayObject = function(displayObject)
}
else if(displayObject instanceof PIXI.Graphics)
{
context.setTransform(transform[0], transform[3], transform[1], transform[4], transform[2], transform[5])
PIXI.CanvasGraphics.renderGraphics(displayObject, context);
}

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">
@ -164,7 +164,6 @@ PIXI.WebGLGraphics.renderGraphics = function(graphics)
&#x2F;&#x2F; graphicsObject
&#x2F;&#x2F; a collection of &quot;shapes&quot; (mainly lines right now!)
&#x2F;&#x2F;&#x2F;this.shape.draw();
if(!graphics._webGL)graphics._webGL = {points:[], lastPosition:new PIXI.Point(), lastIndex:0, buffer:gl.createBuffer()};
if(graphics.dirty)
@ -182,13 +181,11 @@ PIXI.WebGLGraphics.renderGraphics = function(graphics)
PIXI.WebGLGraphics.initGraphics(graphics);
}
gl.uniformMatrix4fv(PIXI.shaderProgram2.mvMatrixUniform, false, PIXI.projectionMatrix );
gl.uniform2f(PIXI.primitiveProgram.projectionVector, 400, 300);
gl.bindBuffer(gl.ARRAY_BUFFER, graphics._webGL.buffer);
gl.vertexAttribPointer(PIXI.shaderProgram2.vertexPositionAttribute, 2, gl.FLOAT, false, 4 * 6, 0);
gl.vertexAttribPointer(PIXI.shaderProgram2.colorAttribute, 4, gl.FLOAT, false,4 * 6, 2 * 4);
&#x2F;&#x2F;shaderProgram.colorAttribute
gl.vertexAttribPointer(PIXI.primitiveProgram.vertexPositionAttribute, 2, gl.FLOAT, false, 4 * 6, 0);
gl.vertexAttribPointer(PIXI.primitiveProgram.colorAttribute, 4, gl.FLOAT, false,4 * 6, 2 * 4);
gl.drawArrays(gl.TRIANGLE_STRIP, 0, graphics._webGL.glPoints.length&#x2F;6);
@ -536,52 +533,6 @@ function lineIntersectLine(A,B,E,F)
PIXI.primitiveShaderFragmentSrc = [
&quot;precision mediump float;&quot;,
&quot;varying vec4 vColor;&quot;,
&quot;void main(void) {&quot;,
&quot;gl_FragColor = vColor;&quot;,
&quot;}&quot;
];
PIXI.primitiveShaderVertexSrc = [
&quot;attribute vec2 aVertexPosition;&quot;,
&quot;attribute vec4 aColor;&quot;,
&quot;uniform mat4 uMVMatrix;&quot;,
&quot;varying vec4 vColor;&quot;,
&quot;void main(void) {&quot;,
&quot;gl_Position = uMVMatrix * vec4(aVertexPosition, 1.0, 1.0);&quot;,
&quot;vColor = aColor;&quot;,
&quot;}&quot;
];
PIXI.WebGLGraphics.initShaders = function()
{
var gl = PIXI.gl;
var fragmentShader = PIXI.CompileFragmentShader(gl, PIXI.primitiveShaderFragmentSrc);
var vertexShader = PIXI.CompileVertexShader(gl, PIXI.primitiveShaderVertexSrc);
PIXI.shaderProgram2 = gl.createProgram();
var shaderProgram = PIXI.shaderProgram2;
gl.attachShader(shaderProgram, vertexShader);
gl.attachShader(shaderProgram, fragmentShader);
gl.linkProgram(shaderProgram);
if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {
alert(&quot;Could not initialise shaders&quot;);
}
gl.useProgram(shaderProgram);
shaderProgram.vertexPositionAttribute = gl.getAttribLocation(shaderProgram, &quot;aVertexPosition&quot;);
shaderProgram.colorAttribute = gl.getAttribLocation(shaderProgram, &quot;aColor&quot;);
shaderProgram.mvMatrixUniform = gl.getUniformLocation(shaderProgram, &quot;uMVMatrix&quot;);
}
</pre>
</div>

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">
@ -196,8 +196,10 @@ PIXI.WebGLRenderer = function(width, height, view, transparent)
throw new Error(&quot; This browser does not support webGL. Try using the canvas renderer&quot; + this);
}
PIXI.WebGLGraphics.initShaders();
this.initShaders();
PIXI.initPrimitiveShader();
PIXI.initDefaultShader();
PIXI.activateDefaultShader();
var gl = this.gl;
PIXI.WebGLRenderer.gl = gl;
@ -209,6 +211,7 @@ PIXI.WebGLRenderer = function(width, height, view, transparent)
gl.colorMask(true, true, true, this.transparent);
this.projectionMatrix = PIXI.mat4.create();
this.resize(this.width, this.height);
this.contextLost = false;
@ -246,38 +249,7 @@ PIXI.WebGLRenderer.returnBatch = function(batch)
&#x2F;**
* @private
*&#x2F;
PIXI.WebGLRenderer.prototype.initShaders = function()
{
var gl = this.gl;
var fragmentShader = PIXI.CompileFragmentShader(gl, PIXI.shaderFragmentSrc);
var vertexShader = PIXI.CompileVertexShader(gl, PIXI.shaderVertexSrc);
PIXI.shaderProgram = gl.createProgram();
var shaderProgram = PIXI.shaderProgram;
gl.attachShader(shaderProgram, vertexShader);
gl.attachShader(shaderProgram, fragmentShader);
gl.linkProgram(shaderProgram);
if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {
alert(&quot;Could not initialise shaders&quot;);
}
gl.useProgram(shaderProgram);
shaderProgram.vertexPositionAttribute = gl.getAttribLocation(shaderProgram, &quot;aVertexPosition&quot;);
shaderProgram.textureCoordAttribute = gl.getAttribLocation(shaderProgram, &quot;aTextureCoord&quot;);
shaderProgram.colorAttribute = gl.getAttribLocation(shaderProgram, &quot;aColor&quot;);
shaderProgram.mvMatrixUniform = gl.getUniformLocation(shaderProgram, &quot;uMVMatrix&quot;);
shaderProgram.samplerUniform = gl.getUniformLocation(shaderProgram, &quot;uSampler&quot;);
PIXI.activateDefaultShader();
}
&#x2F;**

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">
@ -168,11 +168,64 @@ PIXI.shaderVertexSrc = [
&quot;}&quot;
];
PIXI.primitiveShaderFragmentSrc = [
&quot;precision mediump float;&quot;,
&quot;varying vec4 vColor;&quot;,
&quot;void main(void) {&quot;,
&quot;gl_FragColor = vColor;&quot;,
&quot;}&quot;
];
PIXI.primitiveShaderVertexSrc = [
&quot;attribute vec2 aVertexPosition;&quot;,
&quot;attribute vec4 aColor;&quot;,
&quot;uniform vec2 projectionVector;&quot;,
&quot;varying vec4 vColor;&quot;,
&quot;void main(void) {&quot;,
&quot;gl_Position = vec4( aVertexPosition.x &#x2F; projectionVector.x -1.0, aVertexPosition.y &#x2F; -projectionVector.y + 1.0 , 0.0, 1.0);&quot;,
&quot;vColor = aColor;&quot;,
&quot;}&quot;
];
&#x2F;*
* primitive shader..
*&#x2F;
PIXI.initPrimitiveShader = function()
{
var gl = PIXI.gl;
var shaderProgram = PIXI.compileProgram(PIXI.primitiveShaderVertexSrc, PIXI.primitiveShaderFragmentSrc)
gl.useProgram(shaderProgram);
shaderProgram.vertexPositionAttribute = gl.getAttribLocation(shaderProgram, &quot;aVertexPosition&quot;);
shaderProgram.colorAttribute = gl.getAttribLocation(shaderProgram, &quot;aColor&quot;);
shaderProgram.projectionVector = gl.getUniformLocation(shaderProgram, &quot;projectionVector&quot;);
PIXI.primitiveProgram = shaderProgram;
}
PIXI.initDefaultShader = function()
{
var gl = this.gl;
var shaderProgram = PIXI.compileProgram(PIXI.shaderVertexSrc, PIXI.shaderFragmentSrc)
gl.useProgram(shaderProgram);
shaderProgram.vertexPositionAttribute = gl.getAttribLocation(shaderProgram, &quot;aVertexPosition&quot;);
shaderProgram.textureCoordAttribute = gl.getAttribLocation(shaderProgram, &quot;aTextureCoord&quot;);
shaderProgram.colorAttribute = gl.getAttribLocation(shaderProgram, &quot;aColor&quot;);
shaderProgram.mvMatrixUniform = gl.getUniformLocation(shaderProgram, &quot;uMVMatrix&quot;);
shaderProgram.samplerUniform = gl.getUniformLocation(shaderProgram, &quot;uSampler&quot;);
PIXI.shaderProgram = shaderProgram;
}
PIXI.CompileVertexShader = function(gl, shaderSrc)
{
return PIXI._CompileShader(gl, shaderSrc, gl.VERTEX_SHADER);
@ -210,6 +263,25 @@ PIXI.activateDefaultShader = function()
gl.enableVertexAttribArray(shaderProgram.colorAttribute);
}
PIXI.compileProgram = function(vertexSrc, fragmentSrc)
{
var gl = PIXI.gl;
var fragmentShader = PIXI.CompileFragmentShader(gl, fragmentSrc);
var vertexShader = PIXI.CompileVertexShader(gl, vertexSrc);
var shaderProgram = gl.createProgram();
gl.attachShader(shaderProgram, vertexShader);
gl.attachShader(shaderProgram, fragmentShader);
gl.linkProgram(shaderProgram);
if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {
alert(&quot;Could not initialise shaders&quot;);
}
return shaderProgram;
}
PIXI.activatePrimitiveShader = function()
{
var gl = PIXI.gl;
@ -217,13 +289,10 @@ PIXI.activatePrimitiveShader = function()
gl.disableVertexAttribArray(PIXI.shaderProgram.textureCoordAttribute);
gl.disableVertexAttribArray(PIXI.shaderProgram.colorAttribute);
var shaderProgram2 = PIXI.shaderProgram2;
gl.useProgram(PIXI.primitiveProgram);
gl.useProgram(shaderProgram2);
gl.enableVertexAttribArray(shaderProgram2.vertexPositionAttribute);
gl.enableVertexAttribArray(PIXI.shaderProgram2.colorAttribute);
gl.enableVertexAttribArray(PIXI.primitiveProgram.vertexPositionAttribute);
gl.enableVertexAttribArray(PIXI.primitiveProgram.colorAttribute);
}

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">

View file

@ -19,7 +19,7 @@
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 1.0.0</em>
<em>API Docs for: 1.3.0</em>
</div>
</div>
<div id="bd" class="yui3-g">