From 76657dddd4f37f55a3912ac44d2ba8722645b1b6 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 20 Apr 2025 19:45:36 +0900 Subject: refactor: use anonymous enum for tagged-union --- src/rtw/texture.zig | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'src/rtw/texture.zig') diff --git a/src/rtw/texture.zig b/src/rtw/texture.zig index ff17579..402fb1a 100644 --- a/src/rtw/texture.zig +++ b/src/rtw/texture.zig @@ -7,14 +7,7 @@ const rgb = @import("vec.zig").rgb; const Random = @import("rand.zig").Random; const Perlin = @import("perlin.zig").Perlin; -const TextureTag = enum { - solid, - checker, - noise, - image, -}; - -pub const Texture = union(TextureTag) { +pub const Texture = union(enum) { solid: SolidTexture, checker: CheckerTexture, noise: NoiseTexture, @@ -42,10 +35,10 @@ pub const Texture = union(TextureTag) { pub fn value(tx: Texture, u: f64, v: f64, p: Vec3) Color { return switch (tx) { - TextureTag.solid => |solid_tx| solid_tx.value(u, v, p), - TextureTag.checker => |checker_tx| checker_tx.value(u, v, p), - TextureTag.noise => |noise_tx| noise_tx.value(u, v, p), - TextureTag.image => |image_tx| image_tx.value(u, v, p), + .solid => |solid_tx| solid_tx.value(u, v, p), + .checker => |checker_tx| checker_tx.value(u, v, p), + .noise => |noise_tx| noise_tx.value(u, v, p), + .image => |image_tx| image_tx.value(u, v, p), }; } }; -- cgit v1.2.3-70-g09d2