Skip to content

Commit 121b5c6

Browse files
committed
Light Scroll Factor
1 parent b8df529 commit 121b5c6

3 files changed

Lines changed: 18 additions & 3 deletions

File tree

v3/src/checksum.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
var CHECKSUM = {
2-
build: '1a3f3c80-793c-11e7-ac05-359898771c99'
2+
build: '6e590ff0-794e-11e7-8dad-3daa405d7eb2'
33
};
44
module.exports = CHECKSUM;

v3/src/gameobjects/lightlayer/Light.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ var Light = new Class({
1313
this.g = g;
1414
this.b = b;
1515
this.attenuation = attenuation;
16+
this.scrollFactorX = 1.0;
17+
this.scrollFactorY = 1.0;
1618
},
1719

1820
set: function (x, y, z, r, g, b, attenuation)
@@ -24,6 +26,8 @@ var Light = new Class({
2426
this.g = g;
2527
this.b = b;
2628
this.attenuation = attenuation;
29+
this.scrollFactorX = 1.0;
30+
this.scrollFactorY = 1.0;
2731
}
2832

2933
});

v3/src/gameobjects/lightlayer/LightLayer.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ var SpriteNormalPair = require('./SpriteNormalPair');
88
var WebGLSupportedExtensions = require('../../renderer/webgl/WebGLSupportedExtensions');
99
var TexturedAndNormalizedTintedShader = require('../../renderer/webgl/shaders/TexturedAndNormalizedTintedShader');
1010
var Const = require('./Const');
11+
var Matrix = require('../components/TransformMatrix');
12+
var TempMatrix = new Matrix();
1113

1214
var LightLayer = new Class({
1315

@@ -118,6 +120,11 @@ var LightLayer = new Class({
118120
this.ambientLightColorB = b;
119121
},
120122

123+
getMaxLights: function ()
124+
{
125+
return Const.MAX_LIGHTS;
126+
},
127+
121128
/* This will probably be removed later */
122129
addSprite: function (sprite, normalTexture)
123130
{
@@ -191,14 +198,18 @@ var LightLayer = new Class({
191198
var length = lights.length;
192199
var gl = this.gl;
193200
var passShader = this.passShader;
201+
var point = {x: 0, y: 0};
194202

195-
passShader.setConstantFloat2(this.uResolutionLoc, renderer.width * camera.zoom, renderer.height * camera.zoom);
203+
passShader.setConstantFloat2(this.uResolutionLoc, renderer.width, renderer.height);
196204
passShader.setConstantFloat3(this.ambientLightColorLoc, this.ambientLightColorR, this.ambientLightColorG, this.ambientLightColorB);
197205

206+
TempMatrix.applyITRS(camera.x, camera.y, camera.rotation, camera.zoom, camera.zoom);
207+
198208
for (var index = 0; index < length; ++index)
199209
{
200210
var light = lights[index];
201-
passShader.setConstantFloat3(locations[index].position, light.x, light.y, light.z);
211+
TempMatrix.transformPoint(light.x, light.y, point);
212+
passShader.setConstantFloat3(locations[index].position, point.x - (camera.scrollX * light.scrollFactorX), point.y - (camera.scrollY * light.scrollFactorY), light.z);
202213
passShader.setConstantFloat3(locations[index].color, light.r, light.g, light.b);
203214
passShader.setConstantFloat1(locations[index].attenuation, light.attenuation);
204215
}

0 commit comments

Comments
 (0)