module LC_U_APIType where
import Data.ByteString.Char8
import Data.Int
import LC_G_Type
import LC_G_APIType
data FetchPrimitive
= Points
| Lines
| Triangles
| LinesAdjacency
| TrianglesAdjacency
deriving (Show,Eq,Ord)
data OutputPrimitive
= TrianglesOutput
| LinesOutput
| PointsOutput
deriving (Show,Eq,Ord)
data ColorArity = Red | RG | RGB | RGBA deriving (Show,Eq,Ord)
data Blending
= NoBlending
| BlendLogicOp LogicOperation
| Blend (BlendEquation, BlendEquation)
((BlendingFactor, BlendingFactor), (BlendingFactor, BlendingFactor))
V4F
deriving (Show,Eq,Ord)
data RasterContext
= PointCtx PointSize Float PointSpriteCoordOrigin
| LineCtx Float ProvokingVertex
| TriangleCtx CullMode PolygonMode PolygonOffset ProvokingVertex
deriving (Show, Eq, Ord)
data FragmentOperation
= DepthOp DepthFunction Bool
| StencilOp StencilTests StencilOps StencilOps
| ColorOp Blending Value
deriving (Show, Eq, Ord)
data AccumulationContext
= AccumulationContext
{ accViewportName :: Maybe ByteString
, accOperations :: [FragmentOperation]
}
deriving (Show, Eq, Ord)
data Image
= DepthImage Int Float
| StencilImage Int Int32
| ColorImage Int Value
deriving (Show, Eq, Ord)
data TextureDataType
= FloatT ColorArity
| IntT ColorArity
| WordT ColorArity
| ShadowT
deriving (Show, Eq, Ord)
data TextureType
= Texture1D TextureDataType Int
| Texture2D TextureDataType Int
| Texture3D TextureDataType
| TextureCube TextureDataType
| TextureRect TextureDataType
| Texture2DMS TextureDataType Int
| TextureBuffer TextureDataType
deriving (Show, Eq, Ord)
data MipMap
= Mip Int Int
| NoMip
| AutoMip Int Int
deriving (Show,Eq,Ord)