From 9e5edbfe61a64bf40e0395a7310a1feca92b3cb6 Mon Sep 17 00:00:00 2001 From: andromeda Date: Wed, 19 Aug 2026 17:40:02 +0200 Subject: test shader --- Shaders.hs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Shaders.hs (limited to 'Shaders.hs') diff --git a/Shaders.hs b/Shaders.hs new file mode 100644 index 0000000..f94bc43 --- /dev/null +++ b/Shaders.hs @@ -0,0 +1,23 @@ +{-# LANGUAGE BlockArguments #-} +{-# LANGUAGE DataKinds #-} +{-# LANGUAGE RebindableSyntax #-} +{-# LANGUAGE TypeApplications #-} +{-# LANGUAGE TypeOperators #-} + +-- from the FIR docs +module Shaders where + +import FIR +import Math.Linear + +type FragmentDefs = '[ "in_pos" ':-> Input '[ Location 0 ] (V 2 Float) + , "out_col" ':-> Output '[ Location 0 ] (V 4 Float) + , "image" ':-> Texture2D '[ DescriptorSet 0, Binding 0 ] (RGBA8 UNorm) + , "main" ':-> EntryPoint '[ OriginLowerLeft ] Fragment + ] + +fragment :: Module FragmentDefs +fragment = Module $ entryPoint @"main" @Fragment do + pos <- get @"in_pos" + col <- use @(ImageTexel "image") NilOps pos + put @"out_col" col \ No newline at end of file -- cgit v1.3.1