File tree Expand file tree Collapse file tree 2 files changed +21
-12
lines changed
src/main/kotlin/code/yousef/portfolio/ui/aurora Expand file tree Collapse file tree 2 files changed +21
-12
lines changed Original file line number Diff line number Diff 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)
Original file line number Diff line number Diff line change @@ -103,26 +103,35 @@ fun AuroraBackground(
103103 * Builds the WGSL aurora shader using Sigil's WGSLLib.
104104 */
105105private 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
118127fn 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
123132fn 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));
You can’t perform that action at this time.
0 commit comments