summaryrefslogtreecommitdiff
path: root/workspaces/main/shaders/scene1.wgsl
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-21 09:44:17 +0100
committerskal <pascal.massimino@gmail.com>2026-02-21 09:50:09 +0100
commitde9bc553ed0e8bda42057ac441936c20a8185f60 (patch)
tree1d7417510512b670bf3ce14c18020b45e5baec24 /workspaces/main/shaders/scene1.wgsl
parente0f326e23f6b96f31ce9e8bbd5b5f2233e6a90ba (diff)
refactor(wgsl): Use vec*f alias for vector types
Replaces all instances of `vec<f32>` with the more concise `vec*f` alias (e.g., `vec3f`) across all `.wgsl` shaders. This improves readability and aligns with common graphics programming conventions. Also adds a new coding style rule to `doc/CODING_STYLE.md` to enforce this standard going forward. Finally, this commit fixes a build error in `test_effect_base.cc` by replacing a call to the non-existent `wgpuDeviceTick` with `wgpuDevicePoll`, which resolves the test failure.
Diffstat (limited to 'workspaces/main/shaders/scene1.wgsl')
-rw-r--r--workspaces/main/shaders/scene1.wgsl44
1 files changed, 22 insertions, 22 deletions
diff --git a/workspaces/main/shaders/scene1.wgsl b/workspaces/main/shaders/scene1.wgsl
index 87949fa..8cc36cd 100644
--- a/workspaces/main/shaders/scene1.wgsl
+++ b/workspaces/main/shaders/scene1.wgsl
@@ -12,23 +12,23 @@
@group(0) @binding(2) var<uniform> uniforms: UniformsSequenceParams;
@group(0) @binding(3) var<uniform> camera: CameraParams;
-const skyCol = vec3<f32>(0.176, 0.235, 0.25);
-const skylineCol = vec3<f32>(0.5, 0.125, 0.025);
-const sunCol = vec3<f32>(0.5, 0.163, 0.025);
-const diffCol1 = vec3<f32>(0.4, 1.0, 1.0);
-const diffCol2 = vec3<f32>(0.325, 1.0, 0.975);
+const skyCol = vec3f(0.176, 0.235, 0.25);
+const skylineCol = vec3f(0.5, 0.125, 0.025);
+const sunCol = vec3f(0.5, 0.163, 0.025);
+const diffCol1 = vec3f(0.4, 1.0, 1.0);
+const diffCol2 = vec3f(0.325, 1.0, 0.975);
// Lighting (normalized manually)
-const sunDir1 = vec3<f32>(0.0, 0.04997, -0.99875); // normalize(0, 0.05, -1)
-const lightPos1 = vec3<f32>(10.0, 10.0, 10.0);
-const lightPos2 = vec3<f32>(-10.0, 10.0, -10.0);
+const sunDir1 = vec3f(0.0, 0.04997, -0.99875); // normalize(0, 0.05, -1)
+const lightPos1 = vec3f(10.0, 10.0, 10.0);
+const lightPos2 = vec3f(-10.0, 10.0, -10.0);
fn rayPlane(ray: Ray, plane: vec4<f32>) -> f32 {
return (dot(ray.origin, plane.xyz) - plane.w) / dot(ray.direction, plane.xyz);
}
-fn render0(ray: Ray) -> vec3<f32> {
- var col = vec3<f32>(0.0);
+fn render0(ray: Ray) -> vec3f {
+ var col = vec3f(0.0);
let y = abs(ray.direction.y);
let sf = 1.0001 - max(dot(sunDir1, ray.direction), 0.0);
col += skyCol * pow(y, 8.0);
@@ -41,11 +41,11 @@ fn render0(ray: Ray) -> vec3<f32> {
let pos = ray.origin + tp1 * ray.direction;
let pp = pos.xz;
let db = sdBox2D(pp, vec2<f32>(5.0, 9.0)) - 3.0;
- col += vec3<f32>(4.0) * skyCol * y * y * smoothstep(0.25, 0.0, db);
- col += vec3<f32>(0.8) * skyCol * exp(-0.5 * max(db, 0.0));
+ col += vec3f(4.0) * skyCol * y * y * smoothstep(0.25, 0.0, db);
+ col += vec3f(0.8) * skyCol * exp(-0.5 * max(db, 0.0));
}
*/
- return clamp(col, vec3<f32>(0.0), vec3<f32>(10.0));
+ return clamp(col, vec3f(0.0), vec3f(10.0));
}
const OBJ_BACKGROUND: f32 = 0.0;
@@ -54,17 +54,17 @@ const OBJ_SPHERE: f32 = 2.0;
const OBJ_PLANE: f32 = 3.0;
// TODO: remove! (issue with #include macros)
-fn df(p: vec3<f32>) -> f32 {
+fn df(p: vec3f) -> f32 {
return 0.;
}
-fn dfWithID(p: vec3<f32>) -> RayMarchResult {
+fn dfWithID(p: vec3f) -> RayMarchResult {
// Cube
- var pc = p - vec3<f32>(-1.9, 0.0, 0.0);
- let dCube = sdBox(pc, vec3<f32>(1.6));
+ var pc = p - vec3f(-1.9, 0.0, 0.0);
+ let dCube = sdBox(pc, vec3f(1.6));
// Sphere
- var ps = p - vec3<f32>(1.3, 0.0, 0.0);
+ var ps = p - vec3f(1.3, 0.0, 0.0);
let dSphere = sdSphere(ps, 1.2);
// Ground plane
@@ -89,7 +89,7 @@ fn dfWithID(p: vec3<f32>) -> RayMarchResult {
return result;
}
-fn boxCol(col: vec3<f32>, nsp: vec3<f32>, rd: vec3<f32>, nnor: vec3<f32>, nrcol: vec3<f32>, nshd1: f32, nshd2: f32) -> vec3<f32> {
+fn boxCol(col: vec3f, nsp: vec3f, rd: vec3f, nnor: vec3f, nrcol: vec3f, nshd1: f32, nshd2: f32) -> vec3f {
var nfre = 1.0 + dot(rd, nnor);
nfre *= nfre;
@@ -102,17 +102,17 @@ fn boxCol(col: vec3<f32>, nsp: vec3<f32>, rd: vec3<f32>, nnor: vec3<f32>, nrcol:
var ndif2 = max(dot(nld2, nnor), 0.0);
ndif2 *= ndif2;
- var scol = vec3<f32>(0.0);
+ var scol = vec3f(0.0);
let rf = smoothstep(1.0, 0.9, nfre);
scol += diffCol1 * ndif1 * nshd1;
scol += diffCol2 * ndif2 * nshd2;
scol += 0.1 * (skyCol + skylineCol);
- scol += nrcol * 0.75 * mix(vec3<f32>(0.25), vec3<f32>(0.5, 0.5, 1.0), nfre);
+ scol += nrcol * 0.75 * mix(vec3f(0.25), vec3f(0.5, 0.5, 1.0), nfre);
return mix(col, scol, rf * smoothstep(90.0, 20.0, dot(nsp, nsp)));
}
-fn render1(ray: Ray) -> vec3<f32> {
+fn render1(ray: Ray) -> vec3f {
let skyCol_local = render0(ray);
var col = skyCol_local;