Skip to content

Commit 59b9ff9

Browse files
authored
Merge pull request #58 from Interrupt/features/texture-panning
Adding texture panning to the default shaders
2 parents 543dc7b + b1a39b6 commit 59b9ff9

24 files changed

+3061
-2769
lines changed

assets/shaders/basic-lighting.glsl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ uniform vs_params {
1212
mat4 u_projViewMatrix;
1313
mat4 u_modelMatrix;
1414
vec4 u_color;
15+
vec4 u_tex_pan;
1516
};
1617

1718
in vec4 pos;
@@ -28,7 +29,7 @@ out vec4 position;
2829

2930
void main() {
3031
color = color0 * u_color;
31-
uv = texcoord0;
32+
uv = texcoord0 + u_tex_pan.xy;
3233

3334
normal = normalize(u_modelMatrix * vec4(normals, 0.0)).xyz;
3435
tangent = tangents;

assets/shaders/built/default/default_default_glsl300es_vs.glsl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#version 300 es
22

3-
uniform vec4 vs_params[9];
3+
uniform vec4 vs_params[10];
44
layout(location = 0) in vec4 pos;
55
out vec4 color;
66
layout(location = 1) in vec4 color0;
@@ -11,6 +11,6 @@ void main()
1111
{
1212
gl_Position = (mat4(vs_params[0], vs_params[1], vs_params[2], vs_params[3]) * mat4(vs_params[4], vs_params[5], vs_params[6], vs_params[7])) * pos;
1313
color = color0 * vs_params[8];
14-
uv = texcoord0;
14+
uv = texcoord0 + vs_params[9].xy;
1515
}
1616

assets/shaders/built/default/default_default_glsl430_vs.glsl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#version 430
22

3-
uniform vec4 vs_params[9];
3+
uniform vec4 vs_params[10];
44
layout(location = 0) in vec4 pos;
55
layout(location = 0) out vec4 color;
66
layout(location = 1) in vec4 color0;
@@ -11,6 +11,6 @@ void main()
1111
{
1212
gl_Position = (mat4(vs_params[0], vs_params[1], vs_params[2], vs_params[3]) * mat4(vs_params[4], vs_params[5], vs_params[6], vs_params[7])) * pos;
1313
color = color0 * vs_params[8];
14-
uv = texcoord0;
14+
uv = texcoord0 + vs_params[9].xy;
1515
}
1616

assets/shaders/built/default/default_default_hlsl4_vs.hlsl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ cbuffer vs_params : register(b0)
33
row_major float4x4 _19_u_projViewMatrix : packoffset(c0);
44
row_major float4x4 _19_u_modelMatrix : packoffset(c4);
55
float4 _19_u_color : packoffset(c8);
6+
float4 _19_u_tex_pan : packoffset(c9);
67
};
78

89

@@ -31,7 +32,7 @@ void vert_main()
3132
{
3233
gl_Position = mul(pos, mul(_19_u_modelMatrix, _19_u_projViewMatrix));
3334
color = color0 * _19_u_color;
34-
uv = texcoord0;
35+
uv = texcoord0 + _19_u_tex_pan.xy;
3536
}
3637

3738
SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)

assets/shaders/built/default/default_default_metal_ios_vs.metal

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ struct vs_params
88
float4x4 u_projViewMatrix;
99
float4x4 u_modelMatrix;
1010
float4 u_color;
11+
float4 u_tex_pan;
1112
};
1213

1314
struct main0_out
@@ -29,7 +30,7 @@ vertex main0_out main0(main0_in in [[stage_in]], constant vs_params& _19 [[buffe
2930
main0_out out = {};
3031
out.gl_Position = (_19.u_projViewMatrix * _19.u_modelMatrix) * in.pos;
3132
out.color = in.color0 * _19.u_color;
32-
out.uv = in.texcoord0;
33+
out.uv = in.texcoord0 + _19.u_tex_pan.xy;
3334
return out;
3435
}
3536

assets/shaders/built/default/default_default_metal_macos_vs.metal

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ struct vs_params
88
float4x4 u_projViewMatrix;
99
float4x4 u_modelMatrix;
1010
float4 u_color;
11+
float4 u_tex_pan;
1112
};
1213

1314
struct main0_out
@@ -29,7 +30,7 @@ vertex main0_out main0(main0_in in [[stage_in]], constant vs_params& _19 [[buffe
2930
main0_out out = {};
3031
out.gl_Position = (_19.u_projViewMatrix * _19.u_modelMatrix) * in.pos;
3132
out.color = in.color0 * _19.u_color;
32-
out.uv = in.texcoord0;
33+
out.uv = in.texcoord0 + _19.u_tex_pan.xy;
3334
return out;
3435
}
3536

assets/shaders/built/default/default_default_metal_sim_vs.metal

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ struct vs_params
88
float4x4 u_projViewMatrix;
99
float4x4 u_modelMatrix;
1010
float4 u_color;
11+
float4 u_tex_pan;
1112
};
1213

1314
struct main0_out
@@ -29,7 +30,7 @@ vertex main0_out main0(main0_in in [[stage_in]], constant vs_params& _19 [[buffe
2930
main0_out out = {};
3031
out.gl_Position = (_19.u_projViewMatrix * _19.u_modelMatrix) * in.pos;
3132
out.color = in.color0 * _19.u_color;
32-
out.uv = in.texcoord0;
33+
out.uv = in.texcoord0 + _19.u_tex_pan.xy;
3334
return out;
3435
}
3536

assets/shaders/built/default/default_default_wgsl_vs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ struct vs_params {
77
u_modelMatrix : mat4x4f,
88
/* @offset(128) */
99
u_color : vec4f,
10+
/* @offset(144) */
11+
u_tex_pan : vec4f,
1012
}
1113

1214
@group(0) @binding(0) var<uniform> x_19 : vs_params;
@@ -32,7 +34,8 @@ fn main_1() {
3234
let x_39 : vec4f = x_19.u_color;
3335
color = (x_35 * x_39);
3436
let x_46 : vec2f = texcoord0;
35-
uv = x_46;
37+
let x_49 : vec4f = x_19.u_tex_pan;
38+
uv = (x_46 + vec2f(x_49.x, x_49.y));
3639
return;
3740
}
3841

assets/shaders/built/default/default_reflection.yaml

Lines changed: 49 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,14 @@ shaders:
4343
uniform_blocks:
4444
-
4545
slot: 0
46-
size: 144
46+
size: 160
4747
struct_name: vs_params
4848
inst_name: _19
4949
uniforms:
5050
-
5151
name: vs_params
5252
type: vec4
53-
array_count: 9
53+
array_count: 10
5454
offset: 0
5555
members:
5656
-
@@ -68,6 +68,11 @@ shaders:
6868
type: vec4
6969
array_count: 0
7070
offset: 128
71+
-
72+
name: u_tex_pan
73+
type: vec4
74+
array_count: 0
75+
offset: 144
7176
fs:
7277
path: assets/shaders/built/default/default_default_glsl430_fs.glsl
7378
is_binary: false
@@ -177,14 +182,14 @@ shaders:
177182
uniform_blocks:
178183
-
179184
slot: 0
180-
size: 144
185+
size: 160
181186
struct_name: vs_params
182187
inst_name: _19
183188
uniforms:
184189
-
185190
name: vs_params
186191
type: vec4
187-
array_count: 9
192+
array_count: 10
188193
offset: 0
189194
members:
190195
-
@@ -202,6 +207,11 @@ shaders:
202207
type: vec4
203208
array_count: 0
204209
offset: 128
210+
-
211+
name: u_tex_pan
212+
type: vec4
213+
array_count: 0
214+
offset: 144
205215
fs:
206216
path: assets/shaders/built/default/default_default_glsl300es_fs.glsl
207217
is_binary: false
@@ -311,14 +321,14 @@ shaders:
311321
uniform_blocks:
312322
-
313323
slot: 0
314-
size: 144
324+
size: 160
315325
struct_name: vs_params
316326
inst_name: _19
317327
uniforms:
318328
-
319329
name: vs_params
320330
type: vec4
321-
array_count: 9
331+
array_count: 10
322332
offset: 0
323333
members:
324334
-
@@ -336,6 +346,11 @@ shaders:
336346
type: vec4
337347
array_count: 0
338348
offset: 128
349+
-
350+
name: u_tex_pan
351+
type: vec4
352+
array_count: 0
353+
offset: 144
339354
fs:
340355
path: assets/shaders/built/default/default_default_hlsl4_fs.hlsl
341356
is_binary: false
@@ -445,14 +460,14 @@ shaders:
445460
uniform_blocks:
446461
-
447462
slot: 0
448-
size: 144
463+
size: 160
449464
struct_name: vs_params
450465
inst_name: _19
451466
uniforms:
452467
-
453468
name: vs_params
454469
type: vec4
455-
array_count: 9
470+
array_count: 10
456471
offset: 0
457472
members:
458473
-
@@ -470,6 +485,11 @@ shaders:
470485
type: vec4
471486
array_count: 0
472487
offset: 128
488+
-
489+
name: u_tex_pan
490+
type: vec4
491+
array_count: 0
492+
offset: 144
473493
fs:
474494
path: assets/shaders/built/default/default_default_metal_macos_fs.metal
475495
is_binary: false
@@ -579,14 +599,14 @@ shaders:
579599
uniform_blocks:
580600
-
581601
slot: 0
582-
size: 144
602+
size: 160
583603
struct_name: vs_params
584604
inst_name: _19
585605
uniforms:
586606
-
587607
name: vs_params
588608
type: vec4
589-
array_count: 9
609+
array_count: 10
590610
offset: 0
591611
members:
592612
-
@@ -604,6 +624,11 @@ shaders:
604624
type: vec4
605625
array_count: 0
606626
offset: 128
627+
-
628+
name: u_tex_pan
629+
type: vec4
630+
array_count: 0
631+
offset: 144
607632
fs:
608633
path: assets/shaders/built/default/default_default_metal_ios_fs.metal
609634
is_binary: false
@@ -713,14 +738,14 @@ shaders:
713738
uniform_blocks:
714739
-
715740
slot: 0
716-
size: 144
741+
size: 160
717742
struct_name: vs_params
718743
inst_name: _19
719744
uniforms:
720745
-
721746
name: vs_params
722747
type: vec4
723-
array_count: 9
748+
array_count: 10
724749
offset: 0
725750
members:
726751
-
@@ -738,6 +763,11 @@ shaders:
738763
type: vec4
739764
array_count: 0
740765
offset: 128
766+
-
767+
name: u_tex_pan
768+
type: vec4
769+
array_count: 0
770+
offset: 144
741771
fs:
742772
path: assets/shaders/built/default/default_default_metal_sim_fs.metal
743773
is_binary: false
@@ -847,14 +877,14 @@ shaders:
847877
uniform_blocks:
848878
-
849879
slot: 0
850-
size: 144
880+
size: 160
851881
struct_name: vs_params
852882
inst_name: _19
853883
uniforms:
854884
-
855885
name: vs_params
856886
type: vec4
857-
array_count: 9
887+
array_count: 10
858888
offset: 0
859889
members:
860890
-
@@ -872,6 +902,11 @@ shaders:
872902
type: vec4
873903
array_count: 0
874904
offset: 128
905+
-
906+
name: u_tex_pan
907+
type: vec4
908+
array_count: 0
909+
offset: 144
875910
fs:
876911
path: assets/shaders/built/default/default_default_wgsl_fs
877912
is_binary: false

assets/shaders/default-mesh.glsl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ uniform vs_params {
1212
mat4 u_projViewMatrix;
1313
mat4 u_modelMatrix;
1414
vec4 u_color;
15+
vec4 u_tex_pan;
1516
};
1617

1718
in vec4 pos;
@@ -26,7 +27,7 @@ out vec2 uv;
2627
void main() {
2728
gl_Position = u_projViewMatrix * u_modelMatrix * pos;
2829
color = color0 * u_color;
29-
uv = texcoord0;
30+
uv = texcoord0 + u_tex_pan.xy;
3031
}
3132
#pragma sokol @end
3233

assets/shaders/default.glsl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ uniform vs_params {
1212
mat4 u_projViewMatrix;
1313
mat4 u_modelMatrix;
1414
vec4 u_color;
15+
vec4 u_tex_pan;
1516
};
1617

1718
in vec4 pos;
@@ -24,7 +25,7 @@ out vec2 uv;
2425
void main() {
2526
gl_Position = u_projViewMatrix * u_modelMatrix * pos;
2627
color = color0 * u_color;
27-
uv = texcoord0;
28+
uv = texcoord0 + u_tex_pan.xy;
2829
}
2930
#pragma sokol @end
3031

assets/shaders/emissive.glsl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ uniform vs_params {
1212
mat4 u_projViewMatrix;
1313
mat4 u_modelMatrix;
1414
vec4 u_color;
15+
vec4 u_tex_pan;
1516
};
1617

1718
in vec4 pos;
@@ -28,7 +29,7 @@ out vec4 tangent;
2829
void main() {
2930
gl_Position = u_projViewMatrix * u_modelMatrix * pos;
3031
color = color0 * u_color;
31-
uv = texcoord0;
32+
uv = texcoord0 + u_tex_pan.xy;
3233

3334
// have to use these attributes to keep them from being stripped out
3435
normal = normals;

0 commit comments

Comments
 (0)