@@ -8,7 +8,7 @@ var Class = require('../../utils/Class');
88var Components = require ( '../components' ) ;
99var GameObject = require ( '../GameObject' ) ;
1010var GetFastValue = require ( '../../utils/object/GetFastValue' ) ;
11- var Merge = require ( '../../utils/object/Merge ' ) ;
11+ var Extend = require ( '../../utils/object/Extend ' ) ;
1212var SetValue = require ( '../../utils/object/SetValue' ) ;
1313var ShaderRender = require ( './ShaderRender' ) ;
1414var TransformMatrix = require ( '../components/TransformMatrix' ) ;
@@ -512,7 +512,7 @@ var Shader = new Class({
512512
513513 // The default uniforms available within the fragment shader
514514 var defaultUniforms = {
515- resolution : { type : '2f' , value : { x : this . width , y : this . height } } ,
515+ resolution : { type : '2f' , value : { x : this . width , y : this . height } } ,
516516 time : { type : '1f' , value : 0 } ,
517517 mouse : { type : '2f' , value : { x : this . width / 2 , y : this . height / 2 } } ,
518518 date : { type : '4fv' , value : [ d . getFullYear ( ) , d . getMonth ( ) , d . getDate ( ) , d . getHours ( ) * 60 * 60 + d . getMinutes ( ) * 60 + d . getSeconds ( ) ] } ,
@@ -522,10 +522,10 @@ var Shader = new Class({
522522 iChannel2 : { type : 'sampler2D' , value : null , textureData : { repeat : true } } ,
523523 iChannel3 : { type : 'sampler2D' , value : null , textureData : { repeat : true } }
524524 } ;
525-
525+
526526 if ( this . shader . uniforms )
527527 {
528- this . uniforms = Merge ( this . shader . uniforms , defaultUniforms ) ;
528+ this . uniforms = Extend ( true , { } , this . shader . uniforms , defaultUniforms ) ;
529529 }
530530 else
531531 {
@@ -1037,18 +1037,18 @@ var Shader = new Class({
10371037 {
10381038 // ITRS
10391039
1040+ var gl = this . gl ;
10401041 var width = this . width ;
10411042 var height = this . height ;
10421043 var renderer = this . renderer ;
10431044 var program = this . program ;
1045+ var vm = this . viewMatrix ;
10441046
10451047 if ( ! this . renderToTexture )
10461048 {
10471049 var x = - this . _displayOriginX ;
10481050 var y = - this . _displayOriginY ;
10491051
1050- var vm = this . viewMatrix ;
1051-
10521052 vm [ 0 ] = matrix2D [ 0 ] ;
10531053 vm [ 1 ] = matrix2D [ 1 ] ;
10541054 vm [ 4 ] = matrix2D [ 2 ] ;
@@ -1061,8 +1061,10 @@ var Shader = new Class({
10611061
10621062 // Update vertex shader uniforms
10631063
1064- this . renderer . setMatrix4 ( program , 'uViewMatrix' , false , this . viewMatrix ) ;
1065- this . renderer . setFloat2 ( program , 'uResolution' , this . width , this . height ) ;
1064+ gl . useProgram ( program ) ;
1065+
1066+ gl . uniformMatrix4fv ( gl . getUniformLocation ( program , 'uViewMatrix' ) , false , vm ) ;
1067+ gl . uniform2f ( gl . getUniformLocation ( program , 'uResolution' ) , this . width , this . height ) ;
10661068
10671069 // Update fragment shader uniforms
10681070
@@ -1120,8 +1122,7 @@ var Shader = new Class({
11201122 gl . clear ( gl . COLOR_BUFFER_BIT ) ;
11211123 }
11221124
1123- renderer . setProgram ( program ) ;
1124- renderer . setVertexBuffer ( vertexBuffer ) ;
1125+ gl . bindBuffer ( gl . ARRAY_BUFFER , vertexBuffer ) ;
11251126
11261127 var location = gl . getAttribLocation ( program , 'inPosition' ) ;
11271128
0 commit comments