Skip to content

Commit 7668994

Browse files
committed
Add texture ID to shaders
1 parent 43beca7 commit 7668994

4 files changed

Lines changed: 19 additions & 5 deletions

File tree

src/renderer/webgl/shaders/TextureTint-frag.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,19 @@ module.exports = [
33
'',
44
'precision mediump float;',
55
'',
6-
'uniform sampler2D uMainSampler;',
6+
'uniform sampler2D uMainSampler[%count%];',
77
'',
88
'varying vec2 outTexCoord;',
9+
'varying float outTexId;',
910
'varying float outTintEffect;',
1011
'varying vec4 outTint;',
1112
'',
1213
'void main()',
1314
'{',
14-
' vec4 texture = texture2D(uMainSampler, outTexCoord);',
15+
' vec4 texture;',
16+
'',
17+
' %forloop%',
18+
'',
1519
' vec4 texel = vec4(outTint.rgb * outTint.a, outTint.a);',
1620
' vec4 color = texture;',
1721
'',

src/renderer/webgl/shaders/TextureTint-vert.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@ module.exports = [
99
'',
1010
'attribute vec2 inPosition;',
1111
'attribute vec2 inTexCoord;',
12+
'attribute float inTexId;',
1213
'attribute float inTintEffect;',
1314
'attribute vec4 inTint;',
1415
'',
1516
'varying vec2 outTexCoord;',
17+
'varying float outTexId;',
1618
'varying float outTintEffect;',
1719
'varying vec4 outTint;',
1820
'',
@@ -21,6 +23,7 @@ module.exports = [
2123
' gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * vec4(inPosition, 1.0, 1.0);',
2224
'',
2325
' outTexCoord = inTexCoord;',
26+
' outTexId = inTexId;',
2427
' outTint = inTint;',
2528
' outTintEffect = inTintEffect;',
2629
'}',

src/renderer/webgl/shaders/src/TextureTint.frag

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,19 @@
22

33
precision mediump float;
44

5-
uniform sampler2D uMainSampler;
5+
uniform sampler2D uMainSampler[%count%];
66

77
varying vec2 outTexCoord;
8+
varying float outTexId;
89
varying float outTintEffect;
910
varying vec4 outTint;
1011

1112
void main()
1213
{
13-
vec4 texture = texture2D(uMainSampler, outTexCoord);
14+
vec4 texture;
15+
16+
%forloop%
17+
1418
vec4 texel = vec4(outTint.rgb * outTint.a, outTint.a);
1519
vec4 color = texture;
1620

src/renderer/webgl/shaders/src/TextureTint.vert

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,21 @@ uniform mat4 uModelMatrix;
88

99
attribute vec2 inPosition;
1010
attribute vec2 inTexCoord;
11+
attribute float inTexId;
1112
attribute float inTintEffect;
1213
attribute vec4 inTint;
1314

1415
varying vec2 outTexCoord;
16+
varying float outTexId;
1517
varying float outTintEffect;
1618
varying vec4 outTint;
1719

18-
void main ()
20+
void main ()
1921
{
2022
gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * vec4(inPosition, 1.0, 1.0);
2123

2224
outTexCoord = inTexCoord;
25+
outTexId = inTexId;
2326
outTint = inTint;
2427
outTintEffect = inTintEffect;
2528
}

0 commit comments

Comments
 (0)