Skip to content

Commit 7380abd

Browse files
committed
Upgrade Sigil 0.2.7.8 and unify WGSL uniforms
1 parent fba86cd commit 7380abd

File tree

2 files changed

+21
-12
lines changed

2 files changed

+21
-12
lines changed

build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ dependencies {
4646
implementation("org.jsoup:jsoup:1.18.1")
4747

4848
// Summon SSR framework + Sigil 3D/effects library
49-
// Sigil 0.2.7.7 - Fixed custom uniform bindings for WebGPU
49+
// Sigil 0.2.7.8 - WebGPU uniforms in single binding(0) buffer
5050
implementation("codes.yousef:summon:0.5.8.4")
5151
implementation("codes.yousef:materia-jvm:0.3.3.0")
52-
implementation("codes.yousef.sigil:sigil-schema-jvm:0.2.7.7")
53-
implementation("codes.yousef.sigil:sigil-summon-jvm:0.2.7.7")
52+
implementation("codes.yousef.sigil:sigil-schema-jvm:0.2.7.8")
53+
implementation("codes.yousef.sigil:sigil-summon-jvm:0.2.7.8")
5454
implementation("ch.qos.logback:logback-classic:$logback_version")
5555

5656
// Cloud Firestore (ready for future integrations)

src/main/kotlin/code/yousef/portfolio/ui/aurora/AuroraBackground.kt

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -103,26 +103,35 @@ fun AuroraBackground(
103103
* Builds the WGSL aurora shader using Sigil's WGSLLib.
104104
*/
105105
private fun buildAuroraWGSLShader(): String = """
106-
${WGSLLib.Structs.EFFECT_UNIFORMS}
106+
struct EffectUniforms {
107+
time: f32,
108+
deltaTime: f32,
109+
resolution: vec2<f32>,
110+
mouse: vec2<f32>,
111+
scroll: f32,
112+
_padding: f32,
113+
// Custom uniforms for aurora effect (Sigil 0.2.7.8 packs all uniforms into binding(0))
114+
noiseScale: f32,
115+
paletteA: vec3<f32>,
116+
paletteB: vec3<f32>,
117+
paletteC: vec3<f32>,
118+
paletteD: vec3<f32>,
119+
}
107120
108-
// Custom uniforms for aurora effect
109-
@group(0) @binding(1) var<uniform> noiseScale: f32;
110-
@group(0) @binding(2) var<uniform> paletteA: vec3<f32>;
111-
@group(0) @binding(3) var<uniform> paletteB: vec3<f32>;
112-
@group(0) @binding(4) var<uniform> paletteC: vec3<f32>;
113-
@group(0) @binding(5) var<uniform> paletteD: vec3<f32>;
121+
@group(0) @binding(0)
122+
var<uniform> uniforms: EffectUniforms;
114123
115124
${WGSLLib.Noise.SIMPLEX_2D}
116125
117126
// IQ's cosine palette function
118127
fn palette(t: f32) -> vec3<f32> {
119-
return paletteA + paletteB * cos(6.28318 * (paletteC * t + paletteD));
128+
return uniforms.paletteA + uniforms.paletteB * cos(6.28318 * (uniforms.paletteC * t + uniforms.paletteD));
120129
}
121130
122131
// Fractal Brownian Motion using 2D simplex noise with z as time
123132
fn fbm(p: vec3<f32>) -> f32 {
124133
var f = 0.0;
125-
var scale = noiseScale;
134+
var scale = uniforms.noiseScale;
126135
var amp = 0.5;
127136
for (var i = 0; i < 5; i++) {
128137
f += amp * simplex2D(p.xy * scale + vec2<f32>(p.z * 0.3));

0 commit comments

Comments
 (0)