summaryrefslogtreecommitdiff
path: root/Shaders.hs
diff options
context:
space:
mode:
authorandromeda <andromeda@lenovo>2026-08-21 03:34:32 +0200
committerandromeda <andromeda@lenovo>2026-08-21 03:34:32 +0200
commit0464b823319a520e60f65d6ad2c5f5e5a1ac1953 (patch)
treef88f574184f064a9d2cced0279d879b2e553ba7d /Shaders.hs
parent09623556859dba8d3c8681867f6f5739e153a888 (diff)
modularise
Diffstat (limited to 'Shaders.hs')
-rw-r--r--Shaders.hs44
1 files changed, 0 insertions, 44 deletions
diff --git a/Shaders.hs b/Shaders.hs
deleted file mode 100644
index e86279c..0000000
--- a/Shaders.hs
+++ /dev/null
@@ -1,44 +0,0 @@
-{-# LANGUAGE BlockArguments #-}
-{-# LANGUAGE DataKinds #-}
-{-# LANGUAGE PartialTypeSignatures #-}
-{-# LANGUAGE RebindableSyntax #-}
-{-# LANGUAGE TypeApplications #-}
-{-# LANGUAGE TypeOperators #-}
-
--- from the FIR docs
-module Shaders where
-
-import FIR
-import Math.Linear
-
-vertices = Vec3 (Vec2 0 (-0.5))
- (Vec2 0.5 0.5)
- (Vec2 (-0.5) 0.5)
-
-vertPath = "assets/shaders/vert.spv"
-fragPath = "assets/shaders/frag.spv"
-
-type VertexDefs =
- '[ "main" ':-> EntryPoint '[] Vertex ]
-
-vertex :: ShaderModule "main" VertexShader VertexDefs _
-vertex = shader do
- i <- get @"gl_VertexIndex"
- (Vec2 x y) <- let' $ atv3v2f vertices i (Vec2 0 0)
- put @"gl_Position" (Vec4 x y 0 1)
-
-type FragmentDefs =
- '[ "main" ':-> EntryPoint '[ OriginUpperLeft ] Fragment
- , "out_color" ':-> Output '[ Location 0 ] (V 4 Float)
- ]
-
-fragment :: ShaderModule "main" FragmentShader FragmentDefs _
-fragment = shader do
- put @"out_color" (Vec4 1.0 0.0 1.0 1.0)
-
-atv3v2f :: Code (V 3 (V 2 Float)) -> Code Word32 -> Code (V 2 Float) -> Code (V 2 Float)
-atv3v2f (Vec3 x y z) i d =
- if i == 0 then x
- else if i == 1 then y
- else if i == 2 then z
- else d \ No newline at end of file