1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
module LambdaCube.GL (
-- Schema
module LambdaCube.PipelineSchema,
-- IR
V2(..),V3(..),V4(..),
-- Array, Buffer, Texture
Array(..),
ArrayType(..),
Buffer,
BufferSetter,
IndexStream(..),
Stream(..),
StreamSetter,
FetchPrimitive(..),
InputType(..),
Primitive(..),
SetterFun,
TextureData,
InputSetter(..),
fromStreamType,
sizeOfArrayType,
toStreamType,
compileBuffer,
disposeBuffer,
updateBuffer,
bufferSize,
arraySize,
arrayType,
uploadTexture2DToGPU,
uploadTexture2DToGPU',
disposeTexture,
-- GL: Renderer, Storage, Object
GLUniformName,
GLRenderer,
GLStorage,
Object,
schema,
schemaFromPipeline,
allocRenderer,
disposeRenderer,
setStorage,
renderFrame,
allocStorage,
disposeStorage,
uniformSetter,
addObject,
removeObject,
enableObject,
setObjectOrder,
objectUniformSetter,
setScreenSize,
uniformBool,
uniformV2B,
uniformV3B,
uniformV4B,
uniformWord,
uniformV2U,
uniformV3U,
uniformV4U,
uniformInt,
uniformV2I,
uniformV3I,
uniformV4I,
uniformFloat,
uniformV2F,
uniformV3F,
uniformV4F,
uniformM22F,
uniformM23F,
uniformM24F,
uniformM32F,
uniformM33F,
uniformM34F,
uniformM42F,
uniformM43F,
uniformM44F,
uniformFTexture2D,
-- schema builder utility functions
(@:),
defObjectArray,
defUniforms,
makeSchema,
(@=),
updateUniforms
) where
import LambdaCube.GL.Type
import LambdaCube.GL.Backend
import LambdaCube.GL.Data
import LambdaCube.GL.Input
import LambdaCube.IR
import LambdaCube.Linear
import LambdaCube.PipelineSchema
import LambdaCube.PipelineSchemaUtil
|