summaryrefslogtreecommitdiff
path: root/Backend/GL.hs
blob: 04d5ddefa596ba2fd7789075f0122a18d92f34fb (plain)
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
module Backend.GL (
    -- IR
    V2(..),V3(..),V4(..),
    -- Array, Buffer, Texture
    Array(..),
    ArrayType(..),
    Buffer,
    BufferSetter,
    IndexStream(..),
    Stream(..),
    StreamSetter,
    StreamType(..),
    Primitive(..),
    SetterFun,
    TextureData,
    InputSetter(..),
    fromStreamType,
    sizeOfArrayType,
    toStreamType,
    compileBuffer,
    updateBuffer,
    bufferSize,
    arraySize,
    arrayType,
    compileTexture2DRGBAF,

    -- GL Pipeline Input, Object
    GLPipeline,
    GLPipelineInput,
    Object,
    PipelineSchema(..),
    SlotSchema(..),
    schema,
    schemaFromPipeline,
    allocPipeline,
    disposePipeline,
    setPipelineInput,
    renderPipeline,
    mkGLPipelineInput,
    uniformSetter,
    addObject,
    removeObject,
    enableObject,
    setObjectOrder,
    objectUniformSetter,
    setScreenSize,
    sortSlotObjects,

    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
) where

import Backend.GL.Type
import Backend.GL.Backend
import Backend.GL.Data
import Backend.GL.Input
import IR