lambdacube-core-0.1.0: LambdaCube 3D is a domain specific language and library that makes it possible to program GPUs in a purely functional style.

Safe HaskellNone

LC_U_DeBruijn

Documentation

data DAG Source

Constructors

DAG 

Instances

class ExpC exp whereSource

Methods

lam :: Ty -> exp -> expSource

body :: exp -> expSource

var :: Ty -> Int -> String -> expSource

apply :: Ty -> exp -> exp -> expSource

const_ :: Ty -> Value -> expSource

primVar :: Ty -> ByteString -> expSource

uni :: Ty -> ByteString -> expSource

tup :: Ty -> [exp] -> expSource

prj :: Ty -> Int -> exp -> expSource

cond :: Ty -> exp -> exp -> exp -> expSource

primApp :: Ty -> PrimFun -> exp -> expSource

sampler :: Ty -> Filter -> EdgeMode -> exp -> expSource

loop :: Ty -> exp -> exp -> exp -> exp -> expSource

vertexOut :: exp -> exp -> [exp] -> [exp] -> expSource

geometryOut :: exp -> exp -> exp -> [exp] -> [exp] -> expSource

fragmentOut :: [exp] -> expSource

fragmentOutDepth :: exp -> [exp] -> expSource

fragmentOutRastDepth :: [exp] -> expSource

fetch :: ByteString -> FetchPrimitive -> [(ByteString, InputType)] -> expSource

transform :: exp -> exp -> expSource

reassemble :: exp -> exp -> expSource

rasterize :: RasterContext -> exp -> expSource

frameBuffer :: [Image] -> expSource

accumulate :: AccumulationContext -> exp -> exp -> exp -> exp -> expSource

prjFrameBuffer :: ByteString -> Int -> exp -> expSource

prjImage :: ByteString -> Int -> exp -> expSource

textureSlot :: ByteString -> TextureType -> expSource

texture :: TextureType -> Value -> MipMap -> [exp] -> expSource

flat :: exp -> expSource

smooth :: exp -> expSource

noPerspective :: exp -> expSource

geometryShader :: Int -> OutputPrimitive -> Int -> exp -> exp -> exp -> expSource

passAll :: expSource

filter_ :: exp -> expSource

imageOut :: ByteString -> V2U -> exp -> expSource

screenOut :: exp -> expSource

multiOut :: [exp] -> expSource

Instances

newtype N Source

Constructors

N 

Fields

unN :: State DAG ExpId
 

Instances