| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Mischief.Shader.Functions
Documentation
(&) :: forall (a :: Types). (Algebric a ~ 'True, Integral a ~ 'True) => Expr a -> Expr a -> Expr a Source #
(^+) :: forall (n :: Nat) (a :: PrimitiveTypes). Expr ('VectorType n a) -> Expr ('Primitive a) -> Expr ('VectorType n a) Source #
(+^) :: forall (a :: PrimitiveTypes) (n :: Nat). Expr ('Primitive a) -> Expr ('VectorType n a) -> Expr ('VectorType n a) Source #
(^-) :: forall (n :: Nat) (a :: PrimitiveTypes). Expr ('VectorType n a) -> Expr ('Primitive a) -> Expr ('VectorType n a) Source #
(-^) :: forall (a :: PrimitiveTypes) (n :: Nat). Expr ('Primitive a) -> Expr ('VectorType n a) -> Expr ('VectorType n a) Source #
(^*) :: forall (n :: Nat) (a :: PrimitiveTypes). Expr ('VectorType n a) -> Expr ('Primitive a) -> Expr ('VectorType n a) Source #
(*^) :: forall (a :: PrimitiveTypes) (n :: Nat). Expr ('Primitive a) -> Expr ('VectorType n a) -> Expr ('VectorType n a) Source #
(^/) :: forall (n :: Nat) (a :: PrimitiveTypes). Expr ('VectorType n a) -> Expr ('Primitive a) -> Expr ('VectorType n a) Source #
(/^) :: forall (a :: PrimitiveTypes) (n :: Nat). Expr ('Primitive a) -> Expr ('VectorType n a) -> Expr ('VectorType n a) Source #
(^%) :: forall (a :: PrimitiveTypes) (n :: Nat). Integral ('Primitive a) ~ 'True => Expr ('VectorType n a) -> Expr ('Primitive a) -> Expr ('VectorType n a) Source #
(%^) :: forall (a :: PrimitiveTypes) (n :: Nat). Integral ('Primitive a) ~ 'True => Expr ('Primitive a) -> Expr ('VectorType n a) -> Expr ('VectorType n a) Source #
atan2 :: forall (a :: Types). (SingI a, Fractional (Expr a) ~ 'True) => Expr a -> Expr a -> Expr a Source #
clamp :: forall (a :: Types). (SingI a, Algebric a ~ 'True) => Expr a -> Expr a -> Expr a -> Expr a Source #
countLeadingZeros :: forall (a :: Types). (SingI a, Integral a ~ 'True) => Expr a -> Expr a Source #
countTrailingZeros :: forall (a :: Types). (SingI a, Integral a ~ 'True) => Expr a -> Expr a Source #
cross :: forall (a :: PrimitiveTypes). (SingI ('VectorType 3 a), Fractional (Expr ('Primitive a)) ~ 'True) => Expr ('VectorType 3 a) -> Expr ('VectorType 3 a) -> Expr ('VectorType 3 a) Source #
distance :: forall (a :: Types) (b :: PrimitiveTypes). (SingI a, Fractional (Expr a) ~ 'True, VectorOrSingleOf a ~ b) => Expr a -> Expr a -> Expr ('Primitive b) Source #
dot :: forall (n :: Nat) (a :: PrimitiveTypes). (SingI (Expr ('VectorType n a)), SingI a, SingI n, Algebric ('Primitive a) ~ 'True) => Expr ('VectorType n a) -> Expr ('VectorType n a) -> Expr ('Primitive a) Source #
extractBits :: forall (a :: Types). (SingI a, Integral a ~ 'True) => Expr a -> Uint -> Uint -> Expr a Source #
faceForward :: forall (a :: PrimitiveTypes) (n :: Nat). (SingI a, SingI n, Fractional (Expr ('Primitive a)) ~ 'True) => Expr ('VectorType n a) -> Expr ('VectorType n a) -> Expr ('VectorType n a) -> Expr ('VectorType n a) Source #
firstLeadingBit :: forall {k} (a :: Types) (n :: k). (SingI a, SingI n, Integral a ~ 'True) => Expr a -> Expr a Source #
firstTrailingBit :: forall {k} (a :: Types) (n :: k). (SingI a, SingI n, Integral a ~ 'True) => Expr a -> Expr a Source #
fma :: forall (a :: Types). (SingI a, Fractional (Expr a) ~ 'True) => Expr a -> Expr a -> Expr a -> Expr a Source #
insertBits :: forall (a :: Types). (SingI a, Integral a ~ 'True) => Expr a -> Expr a -> Uint -> Uint -> Expr a Source #
inverseSqrt :: forall (a :: Types). (SingI a, Fractional (Expr a) ~ 'True) => Expr a -> Expr a Source #
length :: forall {k} (a :: PrimitiveTypes) (b :: Types) (n :: k). (SingI a, SingI b, SingI n, VectorOrSingleOf b ~ a) => Expr b -> Expr ('Primitive a) Source #
class Mix (a :: k) (b :: k1) Source #
Instances
| Mix (a :: k) (a :: k) Source # | |
Defined in Mischief.Shader.Functions | |
mix :: forall (a :: Types) (b :: Types). (SingI a, SingI b, Fractional (Expr a) ~ 'True, Fractional (Expr b) ~ 'True, Mix a b) => Expr a -> Expr a -> Expr b -> Expr a Source #
normalize :: forall (n :: Nat) (a :: PrimitiveTypes). (SingI n, SingI a, Fractional (Expr ('VectorType n a)) ~ 'True) => Expr ('VectorType n a) -> Expr ('VectorType n a) Source #
pow :: forall (a :: Types). (SingI a, Fractional (Expr a) ~ 'True) => Expr a -> Expr a -> Expr a Source #
quantizeToF16 :: forall (a :: Types). (SingI a, VectorOrSingleOf a ~ 'TFloat) => Expr a -> Expr a Source #
reflect :: forall (n :: Nat) (a :: PrimitiveTypes). (SingI n, SingI a, Fractional (Expr ('VectorType n a)) ~ 'True) => Expr ('VectorType n a) -> Expr ('VectorType n a) -> Expr ('VectorType n a) Source #
refract :: forall (a :: Types) (b :: PrimitiveTypes). (SingI a, SingI b, VectorOrSingleOf a ~ b) => Expr a -> Expr a -> Expr ('Primitive b) -> Expr a Source #
saturate :: forall (a :: Types). (SingI a, Fractional (Expr a) ~ 'True) => Expr a -> Expr a Source #
smoothstep :: forall (a :: Types). (SingI a, Fractional (Expr a) ~ 'True) => Expr a -> Expr a -> Expr a -> Expr a Source #
step :: forall (a :: Types). (SingI a, Fractional (Expr a) ~ 'True) => Expr a -> Expr a -> Expr a Source #