-
Notifications
You must be signed in to change notification settings - Fork 1
/
general.go
51 lines (41 loc) · 1.09 KB
/
general.go
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
package gosigl
import (
opengl "github.com/go-gl/gl/v4.1-core/gl"
)
const Front = opengl.FRONT
const Back = opengl.BACK
const FrontAndBack = opengl.FRONT_AND_BACK
const DepthTestLEqual = opengl.LEQUAL
const WindingClockwise = opengl.CW
const WindingCounterClockwise = opengl.CCW
const MaskColourBufferBit = opengl.COLOR_BUFFER_BIT
const MaskDepthBufferBit = opengl.DEPTH_BUFFER_BIT
func ClearColour(red float32, green float32, blue float32, alpha float32) {
opengl.ClearColor(red, green, blue, alpha)
}
func Clear(bufferBits ...uint32) {
mask := uint32(0)
for _,buf := range bufferBits {
mask = mask | buf
}
opengl.Clear(mask)
}
func EnableBlend() {
opengl.Enable(opengl.BLEND)
opengl.BlendFunc(opengl.SRC_ALPHA, opengl.ONE_MINUS_SRC_ALPHA)
}
func DisableBlend(){
opengl.Disable(opengl.BLEND)
}
func EnableDepthTest() {
opengl.Enable(opengl.DEPTH_TEST)
opengl.DepthFunc(opengl.LEQUAL)
}
func DisableDepthTest() {
opengl.Disable(opengl.DEPTH_TEST)
}
func EnableCullFace(cullSide uint32, winding uint32) {
opengl.Enable(opengl.CULL_FACE)
opengl.CullFace(cullSide)
opengl.FrontFace(winding)
}