| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Mischief.Shader.Generation
Documentation
Instances
data VertexOutput f Source #
Constructors
| VertexOutput | |
Instances
| ShaderParam VertexOutput Source # | |||||
Defined in Mischief.Shader.Generation Methods collectParams :: Params paramDefinition :: ParamDefinition dummyParam :: VertexOutput GPU collectValues :: VertexOutput GPU -> Values | |||||
| Generic (VertexOutput f) Source # | |||||
Defined in Mischief.Shader.Generation Associated Types
Methods from :: VertexOutput f -> Rep (VertexOutput f) x # to :: Rep (VertexOutput f) x -> VertexOutput f # | |||||
| type Rep (VertexOutput f) Source # | |||||
Defined in Mischief.Shader.Generation type Rep (VertexOutput f) = D1 ('MetaData "VertexOutput" "Mischief.Shader.Generation" "mischief-render-0.1.0.0-inplace" 'False) (C1 ('MetaCons "VertexOutput" 'PrefixI 'True) (S1 ('MetaSel ('Just "position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BuiltIn f "position" (Vec 4 Float))) :*: S1 ('MetaSel ('Just "uv") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Location f 0 (Vec 2 Float))))) | |||||
newtype FragmentOutput f Source #
Constructors
| FragmentOutput (Location f 0 (Vec 4 Float)) |
Instances
| ShaderParam FragmentOutput Source # | |||||
Defined in Mischief.Shader.Generation Methods collectParams :: Params paramDefinition :: ParamDefinition dummyParam :: FragmentOutput GPU collectValues :: FragmentOutput GPU -> Values | |||||
| Generic (FragmentOutput f) Source # | |||||
Defined in Mischief.Shader.Generation Associated Types
Methods from :: FragmentOutput f -> Rep (FragmentOutput f) x # to :: Rep (FragmentOutput f) x -> FragmentOutput f # | |||||
| type Rep (FragmentOutput f) Source # | |||||
Defined in Mischief.Shader.Generation type Rep (FragmentOutput f) = D1 ('MetaData "FragmentOutput" "Mischief.Shader.Generation" "mischief-render-0.1.0.0-inplace" 'True) (C1 ('MetaCons "FragmentOutput" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Location f 0 (Vec 4 Float))))) | |||||
shaderToWGSL :: forall {k} a (m :: k). ShaderParam a => Map TypeRep ErasedValue -> Shader m (a GPU) -> Text Source #
unwrapValue :: forall (a :: Types). Value -> Expr a Source #
valueToWGSL :: Value -> Text Source #
genFunction :: forall {k} a (m :: k). ShaderParam a => Text -> Text -> Text -> Map TypeRep ErasedValue -> Shader m (a GPU) -> Text Source #
genShader :: forall {k} (m :: k) p a. (ShaderParam p, ShaderParam a) => Text -> [ErasedBinding] -> (p GPU -> Shader m (a GPU)) -> Text Source #
genBindings :: Nat -> [ErasedBinding] -> Text Source #
genBinding :: BindingData -> Text Source #
genShaderT :: forall {k} (m :: k) (b :: Type -> Type) a p. (Bindable b, ShaderParam p, ShaderParam a) => [ErasedBinding] -> (p GPU -> Shader m (a GPU)) -> String Source #